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
3.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
appium-xcuitest-driverとCI環境
Tadashi Nemoto
January 20, 2017
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
コンテナイメージの脆弱性を削減する新しいアプローチ:Hardened Container Images
tadashi0713
1
330
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
290
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
180
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
290
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
340
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
410
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
650
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.6k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4.3k
Other Decks in Programming
See All in Programming
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
810
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.1k
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
270
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
160
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
140
AIが無かった頃の素敵な出会いの話
codmoninc
1
130
Claude Team Plan導入・ガイド
tk3fftk
0
220
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.5k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
180
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.2k
Navigating Weather and Climate Data
rabernat
0
390
My Coaching Mixtape
mlcsv
0
170
Speed Design
sergeychernyshev
33
1.9k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Utilizing Notion as your number one productivity tool
mfonobong
4
440
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
The browser strikes back
jonoalderson
0
1.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Raft: Consensus for Rubyists
vanstee
141
7.6k
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にした