When I updated https://github.com/appium/node-teen_process to ESM fully, I met an issue I hadn’t seen. Here is a note about the finding for my future note.More
[maestro] prepare Maestro for an iOS real device
Not complete, but this diff let Maestro run on a real device https://github.com/KazuCocoa/Maestro/compare/main…KazuCocoa:Maestro:real-device?expand=1 with a similar way of https://appium.github.io/appium-xcuitest-driver/latest/guides/run-preinstalled-wda One weird thing is that the server started listening to the port after a while when I launched the app via the app icon on the screen or without xcodebuild. This possible blocking behavior was weird…More
[Appium] Use prebuilt WebDriverAgentRunner for Appium XCUITest Driver
As of Appium XCUITest driver 9.9, download-wda-sim is available. The script command helps you to download a proper WDA prebuilt packages from GitHub releases for Simulator use. https://github.com/appium/ruby_lib_core/pull/625/files will be a reference to use it. Then, the appium session will use the prebuilt WDA to launch WDA on the target simulator. It will skip running…More
[Appium][maestro] compare running speed in one scenario for iOS
I previously posted an execution time comparison of Maestro and Appium for Android . Let’s compare in iOS as well. I picked up the same scenario from the ruby_lib_core. https://github.com/appium/ruby_lib_core/blob/61b2277ff2e391571b87e6d3931aac9e0ce9e206/test/functional/ios/patch_test.rb#L39-L51 The maestro scenario was: Maestro cannot use the element type directly, so I have replaced it with placeholders. It could potentially detect an unexpected element…More
[Appium] Reduce Animation Flakiness in Appium UIA2 driver
Not new tips, but I’d like to share a small optimization config to reduce animation flakiness in the Appium UIA2 driver. Capabilities: The settings can be configured during a session via the Settings API. It means you can dynamically adjust the config by following your desired scenario. Old post below also addresses waitForIdleTimeout and waitForSelectorTimeout…More
[Appium][maestro] compare running speed in one scenario for Android
I was curious about how Maestro is faster than Appium UIA2. I picked up a scenario from https://github.com/appium/ruby_lib_core/blob/3de46abaa933e6fa813b78192650e1f9ead5a238/test/functional/android/patch_test.rb#L38-L47, which had multiple taps and sending keys. Maestro doesn’t support Unicode, so I switched the keyword to ASCII. It took a total of 30 seconds, as shown below. This ran on an emulator on my local laptop.…More
Learning Model Context Protocol
We have recently seen information related to the Model Context Protocol (MCP). I knew of them some part, but had some small questions. This post is a note for me about that. Below is a summary of our conversation with ChatGPT, as summarized by them. 🔍 Understanding the Model Context Protocol (MCP) Over the course…More
[iOS] Using rvictl for Network Traffic Capture on iOS Devices
Apple publishes Recording a Packet Trace, which explains how to capture packets for macOS and iOS. With the rvictl and tcpdump The combination addressed on the page allows us to capture the network traffic that occurs on a connected iOS device. One note here is about rvictl. The page addresses the functionality as; iOS doesn’t…More
[appium] iOS 18 introduced com.apple.ContactsUI.LimitedAccessPromptView
iOS 18 introduced a new process named com.apple.ContactsUI.LimitedAccessPromptView which is required to handle elements listed in a new contact permissions dialog in iOS 18+. Such elements were not able to be recognized by com.apple.springboard. I haven’t noticed this new behavior when I investigated iOS 18 beta in https://github.com/appium/appium/issues/20239, but https://forums.developer.apple.com/forums/thread/758669 told me this new one.…More
米国におけるGCを取得した話
過去、米国における就労ビザ(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