過去、米国における就労ビザ(O1)を取得した話にてO1を取得した話をまとめました。ようやく米国の永住権(以下、GC)を取得できたのと、O1の話が助かったという話を聞いたのでこちらにGCの話もまとめておこうと思います。 2020年10月ごろ、GCを取得したいという話を会社にしました。主な動機は当時の会社がスタートアップということもあり、職を離れるなどがあった際にも強制的に米国を出なければいけないなどの強制力を持った生活の大きな変化を避ける点でした。結果的に、レイオフなどもされず、GCを取得した現在も同じ場所で働き続けています。 私はEB1という区分で申請を行いGCの取得を目指しました。GCの取得にはいくつかカテゴリがあります。区分の中には雇用主をスポンサーとするものがあり、申請者(この場合は私)がその会社にとって替えの効かない人であることを示す必要があります。この行程にPERMと呼ばれるものがありますが、EB1ではその行程を省略することが可能です。そのため、雇用主をスポンサーとした永住権の申請(I-140)と、米国における身分の変更申請(I-485)を同時に米国移民局(USCIS)に申請する、などの申請からGC取得までの期間を短くする方法が可能になります。リスクもあるのですが、ここでは省略します。 Permanent Workersをもとにすると、このEB1には3つの大きなカテゴリに分類されます。私はその中でExtraordinary Abilityに該当する区分として話を進めることにしました。I-140申請においてはO1取得にあたり用意した様々な資料の多くをそのまま流用、それに加えて新たにいくつか実績を追加する形で最終的に申請を進め、承認を得た後にI-485の承認を待ち続け、無事にEB1によるGC取得に至りました。 時系列 結果的に、合わせて3年と少し、GCを取るまでかかったことになります。似た時期にEB1を申請した知人は数ヶ月で取得できたともあったので、どれだけ早くUSCISにレビューしてもらえるとかの運の要素なども関わるかもしれません。似たような職種を持つ日本人国籍としては時間がかかったほうなのかもしれません。申請費用に関しては幸いなことに会社が持ってくれました。諸々の申請費用は徐々に値上がりしていたので、非常に助かったことを覚えています。申請費用の値上がりは続くかもしれませんね。 GCを得るまでO1のビザステータスを保持する必要があったため、1度、O1の延長申請をしました。ほぼ過去資料の使い回しだったので大きな労力はかかっていませんでしたが、この申請期間のうちにレイオフされないかなどは心労でした。 ともあれ、場合によってはEB1の日本人国籍の場合も3年以上経過することがあるという例になれば幸いです。More
[xcuitest] more process arguments
It looks like iOS/macOS has more process arguments that can control configurations in addition to: AppleTemperatureUnit, AppleMetricUnitsm and AppleMetricUnits are. For example, “processArguments”: {args: [“-AppleLanguages”,”(ja)”,”-NSLanguages”,”(ja)”, “-AppleTemperatureUnit”, “Celsius”, “-AppleMetricUnits”, “<false/>”]} for the iOS’s capabilities set. Perhaps how properly work with them could depend on app’s implementation.More
[appium][xcuitest] interact with alerts with appium-xcuitest-driver v6.0.0+
[Update] https://github.com/appium/appium-xcuitest-driver/blob/master/docs/guides/troubleshooting.md#interact-with-dialogs-managed-by-comapplespringboard guides about this behavior. For example defaultActiveApplication via Settings API is also a new method to take care the handling. [update] The change was reverted in 5.15.1 to avoid possible confusion. The fix and change as the side effect is in 6.0.0. As of 5.14.1, it fixed an active application selection https://github.com/appium/appium/issues/19716#issuecomment-1911895659, but…More
2023年振り返り
前回に続き、今年の振り返りを少し。 2023年は米国グリーンカード関係だと今年の終わり頃に健康診断の結果を要求されたので送付したりと少し進展はあったものの、それ以降は進展なし。あとはapproveされるだけな気もするのですが、2024年に跨ぎそうです。。。背景が似ているであろうXや知人の話を聞いた限りでは、私の場合は運悪く?時間がかかっている側のようです。I-140自体はすでに承認されているので、あとは時間のみ、という状態ではあるのですが。 仕事関係 私個人の時間の使い方に特に大きな変化は無いものの、社内の開発体制が会社の成長に合わせて少し整理されたりと変化しているように見えます。今のところ社内では私の専門領域(社内の開発範囲に限らな範囲を含めるとさらに)は事業の核に近い割に似た技術領域/知見を持つ人が稀有なので、他の人からヘルプが必要とされる割合も高く、私の時間をうまいこと主である開発に時間を割けるように助けてもらったりしています。年の後半になるにつれて開発に時間を割く割合が増えてきたように思えます。ありがたや。一方、Junior寄りな人をサポートする必要もあり、若干マネージメント側にも足を踏み入れはじめたのでどっこいどっこい。 OSS周り こちらも1つのプロジェクトに集中して継続中。今年はiOS周りに大きな変化があったのですが、そのプロジェクトの主領域としては継続して発展、最新状態へ追従できているかと思います。時間を割いて実装を進めた方が良さそうな領域もあるのですが、こちらは個人の時間をどう使うかという問題なので悩ましいところですね。新しく継続してOSSの開発に参加してくれている人が出てきたので、そちらもありがたい限り。 生活面 大きく変わったことは無い…よう。物価の上昇は見てとれるものの、現状の生活を圧迫しすぎるほどでは無いので、大きく生活面で困ることにはなっていません。最近あったアパート更新時の家賃上昇も1%以下だったので、アパートの費用は向こう1年間も多分大丈夫。時期的なものも関係すると思うのですが、公開されているWebページを見ると新規入居者の方が同等の部屋でも家賃が高かったりします。 日本にいた時に比べると運動、体を動かす機会が多いので、健康診断の結果を見る限りは年々と健康になっています。良い限りですね。レコードプレーヤー、レコード版を購入したので、徐々にスピーカーなども金銭面で余力がある範囲で今後も揃えていきたいところです。 来年へ 2024年は、ひとまずGCが取れると良いなと思います。そしたら日本に数週間戻って、知人や親と時間を過ごしたいですね。仕事面では把握している範囲では大きな損害はなく成長しているようではある…ので昇給とかあるかな(願望)。OSS周りは継続て発展させていきたいけれど、時間の使い方とのバランスの問題も大きいので悩ましい面もありますね。どこまでできるかな。I-140は通ったので、就労ビザの関係でとめていたGitHub Sponsorsとかも再開させていこうかなと思ってたりします。More
[Appium][iOS] Do not need to scroll in some cases
In some cases, iOS does not require scrolling to click an element outside the screen. For example, in the Settings app below. Let’s think to do the action, driver.find_element(:accessibility_id, ‘Accessibility’).click. The “Accessibility” column is outside the screen, but the command works without any “scroll” action. This is the same as XCTest (UI) since Appium also…More
[Appium][XCUITest] Device orientation does not work in some cases
orientation and rotation endpoints in Appium XCUITest driver rely on XCTest’s orientation API. For example, @driver.orientation = :landscape in Ruby client occurs, Appium XCUITest/WebDriverAgent sets the device orientation as landscape. The behavior, if the device orientation succeeds, depends on how the XCTest API behaves. An app can control the device’s orientation. It could cause weird…More
2022年振り返り
前回に続き今年の振り返り。 今年の大きな変化としては米国グリーンカード取得までもう少しになったことでしょうか。ひと段落したら時系列含めてビザ関係の話をまとめたいと思います。O1に関して以前書いた時も、実際に他の人の役に立ったようなので。 仕事関係 就労しているスタートアップは堅調に成長を続けていると感じます。年の瀬に向かう中でも採用関係はビジネスの広がりに対して必要に応じて行われている状態です。私は4年目を終え、既に社内では社歴の長い人に数えられます。無事に昇進もし、私は専門性を持つ分野では意思決定を行う側になっていたりします。SO、行使できるところまでいきたいですね。 同じ時期くらいに今の会社に参画したメンバーの多くはほとんど辞めることなくサービス開発の中核となる存在になっているように見えます。米国の企業(特にシリコンバレー付近)では入れ替わりが激しく数年単位で人が入れ替わるというイメージを持っていましたが、身の回りのエンジニアに限ればあまりそうではないかも、と感じることも多くなりました。エンジニア職以外を見ると確かに数年単位で移っている方も多いように見られるので、職種にも依存しそうです。 OSS周り 継続中。OSSに関しては継続してプライベート時間でできる限り活動しています。ここはまだまだ継続していきたいところですね。OSS関係も色々と広がりを見せ始めているので、継続していくことは製品の大事な成長要素の一つだなと感じます。 生活面 パンデミックの時に引っ越してきたこともありだいぶ下がっていたアパートの家賃が、3度目の家賃交渉を経て戻りつつある状況です。次回は更新せずに別のところを探すことになりそうです。幸いにも昇給額はインフレ率を超えているので、家賃の上昇が大きく生活を圧迫はしていないところが救いでしょうか。。。米国生活の中で時折トラブルがありますが、現在のところは大きく疲弊するような状態にでくわしていないのは良いほうでしょうか。 ほぼ毎週どこかに数時間程度は歩きに行って色々な風景を楽しんだりしているので、運動もある程度はちゃんとできていて体調は良いです。年末は天候や知人との付き合いもあり少しできていませんが、また色々な場所を探索したいですね。 終わりに 年々と振り返りも簡素化されている気もしますが、米国のビザ関係などのひとまずの大きなところはひと段落した感じがします。 現地の知人もちらほら増えてきたので色々と日本にいた時の文化的な違いなど感じながら生活面では色々と学んでいきたいと思います。仕事面では引き続き自分の興味のある分野を深掘りできているので、継続していければなと思っています。広がりつつあるいろいろな関係性も、無理のない程度に成熟させていきたいですね。More
[Appium][Android] Read NFC content in an Appium session
According to https://stackoverflow.com/questions/57202157/android-nfc-read-fails-after-fullscreen-launcher-app-comes-from-background, if a device had a running process that had WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD, reading NFC contents may fail. Appium/io.appium.settings unlocks the lock screen on the device under test in the new session creation. The old method used WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD flag to achieve it. Perhaps it caused the unsuccessful NFC content read reported in https://github.com/appium/appium/issues/17973.…More
Run Maestro on CI via HeadSpin
maestro is a new mobile automation tool for Android and iOS (simulator) created by mobile.dev. The tool is OSS with Apache License 2.0, and the company may continue leading the development. I won’t say anything about the differences etc between Appium here because they have different functionality and opinions. Users may also have several opinions…More
[Appium] Start an appium session with a network device
This is a note to run Appium/XCUITest driver on a real device over Wi-Fi. Then, it works. I have confirmed this way worked in this issue. I haven’t tested, but port-forwarding to a network device may not work with vanilla appium-ios-device so far, so it needs another tool such as iproxy for now. For app…More