Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
appium-xcuitest-driverとCI環境
Search
Tadashi Nemoto
January 20, 2017
Programming
1
2.8k
appium-xcuitest-driverとCI環境
Tadashi Nemoto
January 20, 2017
Tweet
Share
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
160
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
94
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
190
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
260
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
300
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
530
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.1k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
3.8k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.3k
Other Decks in Programming
See All in Programming
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
150
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
140
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
1
540
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultInjectionServiceアップデート@pre:Invent2024
shintaro_fukatsu
0
360
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
2.3k
【PHP】破壊的バージョンアップと戦った話〜決断と説得
satoshi256kbyte
0
100
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
3
310
WebDriver BiDiとは何なのか
yotahada3
1
100
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
29
4.8k
Fibonacci Function Gallery - Part 2
philipschwarz
PRO
0
230
Immutable ActiveRecord
megane42
0
120
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
1
200
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
520
RailsConf 2023
tenderlove
29
980
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
BBQ
matthewcrist
85
9.4k
Embracing the Ebb and Flow
colly
84
4.5k
Writing Fast Ruby
sferik
628
61k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
How GitHub (no longer) Works
holman
312
140k
Transcript
2017/01/19 iOS Test Night #2 Tadashi Nemoto appium-xcuitest-driverとCI環境
自己紹介 • 根本 征 (github/tadashi0713) • 2016年4月に新卒でメルカリに入社 • 2016年10月に作られたSETチームに所属 •
現在はクライアント(iOS・Android)のE2Eテストを実装
クライアントアプリのE2Eテスト • クライアントリリース前にQAが手動で行っていた回帰試験 • Regionが増えていくと工数が多くなる & 繰り返しの作業が多 い • 自動化できる部分はAppiumを使ってテストできるように
CI環境を早めに用意しておこう • 自分の環境でしか動かないテストにはしたくない • 後々放置状態になっていくのを避けたい • テスト結果が開発者・QAにも見える状況が望ましい • 実行しているところを確認したい(スクリーンショット・動画) •
クラウドサービスを使うのが妥当と考えた
2つのクラウドサービスを検討 • Sauce Labs • AWS Device Farm
Sauce Labs • ブラウザテスト、モバイルテストの実行環境を提供している サービス • シミュレーターを起動して動作させる • .appファイル・.apkファイルをアップロードして実行 •
desiredCapabilitiesを変更して実行させる • Appiumのバージョンも選択可能 • 以前はAppiumの開発元でもあった
AWS Device Farm • 実機端末を使ったテスト実行環境を提供しているサービ ス • .ipaファイル・.apkファイルをアップロードして実行 • Appiumは現在Python・Javaのみ対応
• 該当テストファイルをzip化・アップロードさせて実行させる • Appiumのバージョンは選択できず、現在1.4固定
AWS Device Farmを選択 • SauceLabsのAndroidエミュレーターでテストを実行するのに 制約が多かった • Google Play Serviceのバージョンなど
• AWS Device Farmは両OS(iOS9)正しく動作したため選択 • Jenkins プラグインを利用して定期実行できる環境を構築
appium-xcuitest-driverの登場 • iOS10からUIAutomation廃止 • 今までのUIAutomationを使っていたAppiumは使えない ことに • Appium1.6からXCUITestをベースにしたwebdriverを提供 • appium-xcuitest-driver
• https://github.com/appium/appium-xcuitest-driver
AWS Device Farmの対応状況 • Appiumのバージョンは固定されており、現在は1.4 • 現状はappium-xcuitest-driverは動かせない • もうじき1.6.3にアップデートされるらしい •
https://forums.aws.amazon.com/ann.jspa?annID=4341
Sauce Labsは対応済 https://saucelabs.com/blog/new-support-for-ios-10-simulator- testing-and-more-real-devices-
学んだこと • クラウドの制約はテストを実行できる・できないに関わるのでよ く調べて理解することが重要だと感じた • 特にAppium・クライアントOSのバージョン • 対応の早さも今後見ていきたい • 制約を把握した上でツール選択することも大事だと感じた
• 今回だとAWS Device Farmで実行させられるために、言語 はPythonにした