Azure provide macOS instance for Android CI environment. On the instance, we can create x86 architecture Android emulator. The emulator is faster than arm’s one. Then, we can run tests which is necessary to launch emulator instances faster. On ruby_lib_core project, I built the environment for Android and iOS. The project already has over 50…More
Tag Archives: iOS
[idb][iOS] idb renamed from FBSimulatorControl
FB has been renamed from FBSimulatorControl to idb as https://github.com/facebook/idb which also replaces WebDriverAgent with it, according to https://github.com/facebook/idb/issues/526. idb wraps handling simulators and real devices. They also published brilliant documentation https://www.fbidb.io/ . It has a part about how idb works for xctest framework. https://www.fbidb.io/docs/test_execution In the page, we can see essential concepts/words for XCUITests.…More
[iOS]Xcode returns an authorization error
When I ran xcodebuild commands, I got an error which was about Install Failed: Error Domain=DVTDownloadableErrors Code=3 “The authorization was denied since no user interaction was possible.” UserInfo={AuthorizationErrorCode=-60007, NSLocalizedDescription=The authorization was denied since no user interaction was possible.} Then, xcodebuild -checkFirstLaunchStatus returns 69 status code. Maybe, it can fix with xcodebuild -runFirstLaunch, but I haven’t…More
[Appium] COMPILER_INDEX_STORE_ENABLE does not affect WDA build
I expected COMPILER_INDEX_STORE_ENABLE slightly improved WDA build time, but it did not affect… I would remain the result here. No COMPILER_INDEX_STORE_ENABLE=NO With COMPILER_INDEX_STORE_ENABLE=NO Update: But the COMPILER_INDEX_STORE_ENABLE=NO does not specify -index-store-path for the clang build. It slightly affects in some case, I guess…. But according to the above, it probably does not affect to WDA,…More
[Appium] Prevent building WDA with useXctestrunFile or usePrebuiltWDA
Building WDA every time takes much time to initialise Appium sessions for iOS. I assume many users would like to reduce the initialisation time as possible. xcodebuild can run xcuitest process without building them. The command is xcodebuild test-without-build. If you already have a build module, xcodebuild can use it without additional building process. Appium…More
[Appium][Flutter]Espresso driver x Flutter
I have updated my sandbox repository for Flutter x Appium. Update test app based on Flutter 1.0 Update test scenarios for it In Android, I could launch and through a simple scenario with UIA2 driver. But I could not succeed to launch it with Espresso driver. Below log is here Something happened with instrumentation combination……More
[Appium]appium-doctorをつかて環境の確認を行う
Selenium/Appium Advent Calendar 2018の19日目の記事です。空いてたので、またちょっとしたtipsを載せようと思います。 今日はAppiumには環境構築時に設定を確認できる appium-doctor と呼ばれるコマンドラインツールを紹介します。何かのOSSなりのツールを利用する際、最近はよく xxxx-doctor と呼ばれる環境確認用のコマンドラインツールをよく見かけるかと思います。Appiumも前々から同様なdoctorツールを持っていました。 v1.6まではこの appium-doctor は必須環境のみを確認するツールでした。例えばAppium自体の実行環境、AndroidやiOSに対してAppiumを実行できる環境を確認することができていました。あと、問題があった時に可能な限り自動でfixさせるautofixの機能もありました。 v1.7以降ではオプションとして利用される他のツール群の確認もするようにしました。 現在のmasterでは以下の通りの結果を得ることができます。v1.7以降にも少し確認する内容を増やしたり文言を調整したので、少し現状の npm install -g appium-doctor で入手できるものとは異なる表示、結果かもしれません。 この拡張により、画像による要素検索を行うために必要な opencv4nodejs が入っているか、などが確認可能です。iOS Simulator限定ですが、あらかじめ各種permissionを操作するためにplistを直接操作するAppleSimulatorUtilsも利用可能になります。いくつかのpermission操作はもとからサポートしていたのですが、これにより、より多くの種類のpermissionを調整可能です。 私は以前、このutilsを使いテスト実行時に不要なpermission dialogを抑制するためにあらかじめ権限を許可しておく、などしていました。(毎回、xxxのダイアログが表示されていると閉じるというようなXCTestでも必要になる記述を、Simulatorだけですが省くことができます。) Android/iOS/オプションの設定の中には手動で設定する必要のあるものもいくつかあります。そのためautofixにより全て自動で設定、とまではいかないのですが、手探りで必要なライブラリを手に入れていったり、何かライブラリのインストールが必要になる(例えば opencv4nodejs など)エラーに出くわして初めてその対応をする、というようなことを減らすことができるものとなります。 あまり大きな機能ではないですが、初めの一歩であったり、環境確認の時に利用していただけると幸いです。More
[iOS][tips]notifyutil to handle notification system
Apple provides notifyutil to handle a notification system. According to their man command, we can see below description there. notifyutil is a command-line utility for interacting with the notify(3) notification system and the notifyd(8) server. It may be used to post notifications, detect and report notifications, and to examine and set the state values associated…More
[iOS]try out Azure pipeline for Xcode build including XCTest/XCUITest
A week ago, Microsoft announced https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/ . The pipline has Xcode build as well. Thus, I tried to do it since if the build works well, we can shoose build pipelines for iOS from TravisCI/Bitrise/Azure for OSS products. Finally, I succeeded to build and run tests include XCUITest on it. It took about 4 minutes…More
[Appium]Run tests in parallel with parallel_tests gem
Sometimes I heard how to implement test environment in parallel for Appium. You can see which factors affect the parallel running in Appium server. http://appium.io/docs/en/advanced-concepts/parallel-tests/ In this article, I’d like to show you an example to run tests in parallel using parallel_tests gem by Ruby. Factors First, I’ll summarise which factors you must handle. Android…More