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
Author Archives: KazuCocoa
[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. https://appium.github.io/appium-xcuitest-driver/latest/reference/scripts/ https://appium.github.io/appium-xcuitest-driver/latest/guides/run-prebuilt-wda/#capabilities-for-prebuilt-wda-with-appiumprebuiltwdapath-and-appiumusepreinstalledwda Run automation Then, the appium session will use the prebuilt WDA to launch WDA on the target simulator.…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取得に至りました。 時系列 EB1で申請を進めるという話が出る I-140に向けたO1のものを元にした追加資料を用意する。 I-944とI-485関係を用意する I-485、I-765、I-131、I-140のそれぞれの申請項目の草案作り、レビューを行い、1月末ごろに申請を完了 I-485、I-765、I-131を受け取ったとの連絡をUSCISからもらう I-485に関わる生体認証登録をUSCISのローカルオフィスにて行う I-768、I-131が承認される。これらI-485によるステータス調整中でも就労ができるようになる労働許可書関係。就労の面ではGCと同等になる。ただ、I-485が否決されると効力を失うために引き続きO1も保持する I-140に対して、RFE(Request For Evidence)を受け取る。向こう数ヶ月かけて自身の実績証明に関する追加の資料を用意。合計で4名の追加推薦状も集める。合計で5枚の推薦状をI-140向けに用意した RFEを整え、USCISに送付。月末にRFEを受け取ったとUSCISから連絡を受ける I-140が承認される。これにて、あとはひたすらI-485の対応が終わるのを待つ 私の健康診断結果提出のRFEを受け取り、結果をUSCISに提出 私のI-485が承認され、GCが届く 妻の健康診断結果提出のRFEを受け取り、結果をUSCISに提出 妻のI-485が承認され、GCが届く 結果的に、合わせて3年と少し、GCを取るまでかかったことになります。似た時期にEB1を申請した知人は数ヶ月で取得できたともあったので、どれだけ早くUSCISにレビューしてもらえるとかの運の要素なども関わるかもしれません。似たような職種を持つ日本人国籍としては時間がかかったほうなのかもしれません。申請費用に関しては幸いなことに会社が持ってくれました。諸々の申請費用は徐々に値上がりしていたので、非常に助かったことを覚えています。申請費用の値上がりは続くかもしれませんね。 GCを得るまでO1のビザステータスを保持する必要があったため、1度、O1の延長申請をしました。ほぼ過去資料の使い回しだったので大きな労力はかかっていませんでしたが、この申請期間のうちにレイオフされないかなどは心労でした。 ともあれ、場合によってはEB1の日本人国籍の場合も3年以上経過することがあるという例になれば幸いです。More