appium-xcuitest-driverとCI環境
by
Tadashi Nemoto
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
2017/01/19 iOS Test Night #2 Tadashi Nemoto appium-xcuitest-driverとCI環境
Slide 2
Slide 2 text
自己紹介 • 根本 征 (github/tadashi0713) • 2016年4月に新卒でメルカリに入社 • 2016年10月に作られたSETチームに所属 • 現在はクライアント(iOS・Android)のE2Eテストを実装
Slide 3
Slide 3 text
クライアントアプリのE2Eテスト • クライアントリリース前にQAが手動で行っていた回帰試験 • Regionが増えていくと工数が多くなる & 繰り返しの作業が多 い • 自動化できる部分はAppiumを使ってテストできるように
Slide 4
Slide 4 text
CI環境を早めに用意しておこう • 自分の環境でしか動かないテストにはしたくない • 後々放置状態になっていくのを避けたい • テスト結果が開発者・QAにも見える状況が望ましい • 実行しているところを確認したい(スクリーンショット・動画) • クラウドサービスを使うのが妥当と考えた
Slide 5
Slide 5 text
2つのクラウドサービスを検討 • Sauce Labs • AWS Device Farm
Slide 6
Slide 6 text
Sauce Labs • ブラウザテスト、モバイルテストの実行環境を提供している サービス • シミュレーターを起動して動作させる • .appファイル・.apkファイルをアップロードして実行 • desiredCapabilitiesを変更して実行させる • Appiumのバージョンも選択可能 • 以前はAppiumの開発元でもあった
Slide 7
Slide 7 text
AWS Device Farm • 実機端末を使ったテスト実行環境を提供しているサービ ス • .ipaファイル・.apkファイルをアップロードして実行 • Appiumは現在Python・Javaのみ対応 • 該当テストファイルをzip化・アップロードさせて実行させる • Appiumのバージョンは選択できず、現在1.4固定
Slide 8
Slide 8 text
AWS Device Farmを選択 • SauceLabsのAndroidエミュレーターでテストを実行するのに 制約が多かった • Google Play Serviceのバージョンなど • AWS Device Farmは両OS(iOS9)正しく動作したため選択 • Jenkins プラグインを利用して定期実行できる環境を構築
Slide 9
Slide 9 text
appium-xcuitest-driverの登場 • iOS10からUIAutomation廃止 • 今までのUIAutomationを使っていたAppiumは使えない ことに • Appium1.6からXCUITestをベースにしたwebdriverを提供 • appium-xcuitest-driver • https://github.com/appium/appium-xcuitest-driver
Slide 10
Slide 10 text
AWS Device Farmの対応状況 • Appiumのバージョンは固定されており、現在は1.4 • 現状はappium-xcuitest-driverは動かせない • もうじき1.6.3にアップデートされるらしい • https://forums.aws.amazon.com/ann.jspa?annID=4341
Slide 11
Slide 11 text
Sauce Labsは対応済 https://saucelabs.com/blog/new-support-for-ios-10-simulator- testing-and-more-real-devices-
Slide 12
Slide 12 text
学んだこと • クラウドの制約はテストを実行できる・できないに関わるのでよ く調べて理解することが重要だと感じた • 特にAppium・クライアントOSのバージョン • 対応の早さも今後見ていきたい • 制約を把握した上でツール選択することも大事だと感じた • 今回だとAWS Device Farmで実行させられるために、言語 はPythonにした