Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
390
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
300
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
190
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
360
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
420
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
670
デプロイ頻度を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
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
140
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
What We Talk About When We Talk About XP
m_seki
2
650
App Intentsのビルドプロセスを支える技術
kntkymt
0
390
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
440
Heart of Swift Concurrency
koher
0
890
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.5k
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
380
Webの地図
yosuke_furukawa
PRO
6
4.6k
アクセシビリティから考える情報設計
high_g_engineer
0
380
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
1.7k
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.7k
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
380
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Technical Leadership for Architectural Decision Making
baasie
3
570
The Pragmatic Product Professional
lauravandoore
37
7.4k
Designing Powerful Visuals for Engaging Learning
tmiket
1
570
Become a Pro
speakerdeck
PRO
31
6.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
For a Future-Friendly Web
brad_frost
183
10k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
890
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にした