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
WebDriverAgentってなに?
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shingo Tamaki
January 19, 2017
Technology
4
4.8k
WebDriverAgentってなに?
WebDriverAgentってなに?
Appium1.6.xの気になるところを調べてみた
Shingo Tamaki
January 19, 2017
Tweet
Share
More Decks by Shingo Tamaki
See All by Shingo Tamaki
Use Gemini CLI from Claude Code as part of Sub Agent
tamaki
0
260
Let's make an Immersive Video with APMP
tamaki
0
41
Firebase Studioで始めるモバイルアプリ開発入門
tamaki
0
33
Introduction to Claude Code Action
tamaki
0
750
AIエージェントを使ったiOSアプリ開発を試してみた
tamaki
0
170
沖縄モバイルアプリ開発勉強会#1
tamaki
0
140
iOSアプリ開発を始めよう
tamaki
0
230
詳解xcresult.pdf
tamaki
0
420
メルペイでのリグレッションテスト自動化推進のこれまでとこれから
tamaki
0
800
Other Decks in Technology
See All in Technology
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
410
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.8k
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
140
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
170
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
150
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
190
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
2
280
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
4.8k
Meshy Proプラン課金した
henjin0
0
250
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
130
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
Evolving SEO for Evolving Search Engines
ryanjones
0
120
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
240
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Scaling GitHub
holman
464
140k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
How to Talk to Developers About Accessibility
jct
2
130
Transcript
WebDriverAgentͬͯͳʹʁ Appium1.6.xͷؾʹͳΔͱ͜ΖΛௐͯΈͨ
ࣗݾհ ۄ৴ޛ • גࣜձࣾ Origami • iOS Engineer • Favorite
iOS framework • HomeKit/XCUITest/XCTest/Core Bluetooth
ిࢠ࡞ͷษڧձͬͯ·͢ iOSΤϯδχΞͷͨΊͷిࢠ࡞ษڧձ h"ps:/ /www.facebook.com/groups/1698775433676484/
͡Ίʹ
UIςετࣗಈԽͯ͠·͔͢ʁ
XCUITestΛͬͨࣄ͕͋Δ or ͍ͬͯΔ
AppiumΛ͍ͬͯΔ or ࢼͨ͜͠ͱ͕͋Δ
ͦͷଞͷUIςεςΠϯάϑϨʔϜϫʔΫΛ ͬͨࣄ͕͋Δʁ • KIF • Carabash • EarlGray • etc
Appium is Կʁ • ϚϧνϓϥοτϑΥʔϜ(iOS/Android/WindowsPhone) • UIςεςΟϯάϑϨʔϜϫʔΫ • ༷ʑͳςεςΟϯάϑϨʔϜϫʔΫ͕બՄೳ •
ϓϩμΫτίʔυʹมߋͳ͘ಋೖՄೳ • SeleniumϥΠΫͳ༷ͷͨΊɺ͠Έ͍͢
None
ಋೖ࣮ଟ͘ݟ͔͚·͢
ಋೖ࣮ଟ͘ݟ͔͚·͢
ಋೖ࣮ଟ͘ݟ͔͚·͢
ಋೖ࣮ଟ͘ݟ͔͚·͢
ಋೖ࣮ଟ͘ݟ͔͚·͢
ࠓ͞ͳ͍ࣄ • Appiumͷ۩ମతͳಋೖํ๏ʹ͍ͭͯ • UIςετͷಋೖίετӡ༻ʹ͍ͭͯ
࠷ۙͷAppiumͷมԽʹ͍ͭͯ
ͦͷલʹiOSͷมԽͷ͓͞Β͍
UIAutoma)on • Xcode6·Ͱͷඪ४UIςεςΟϯάϑϨʔϜϫʔΫ • instrumentsͷςϯϓϨʔτͷҰͭ • ςετίʔυjavascriptͰهड़
XCUITest • Xcode7͔Β৽ͨʹՃ͞ΕͨUITestͷϑϨʔϜϫʔΫ • XCTestಉ༷ʹTest BundleΛϓϩδΣΫτʹՃ͢Δ • Objec6ve-C or Swi=ͰUIςετॻ͘͜ͱ͕Մೳ
• XCTRunner͕ςετରͷΞϓϦͷUIૢ࡞Λߦ͏
XCUITest • XCTRunner͕ςετରͷΞϓϦͷUI ૢ࡞Λߦ͏ fbsimctl 3435BE60-1111-2222-333-6C1E2B4C 4A77 list_apps | grep
bundle_id "bundleid" = "com.apple.test.XCUITestSampleUITests- Runner"; ... "bundleid" = "com.apple.mobilesafari"; "bundle_id" = "com.hoge.XCUITestSample";
Architecture (Before 1.6.0) UIAutoma)onʹΑΔ࣮ߦ 1. ͖ͳςεςΠϯάϑϨʔϜϫʔΫ 2. ֤ݴޠͰ༻ҙ͞ΕͨAppiumClient࣮ͰJSON Wire Protocolੜ
͠ૹ৴ 3. AppiumServer͕υϥΠόʔܦ༝ͰUIAutoma)on࣮ߦ
None
Architecture (a,er 1.6.0) XCUITestʹΑΔ࣮ߦ 1. ͖ͳςεςΠϯάϑϨʔϜϫʔΫ 2. ֤ݴޠͰ༻ҙ͞ΕͨAppiumClient࣮ͰJSON Wire Protocolੜ
͠ૹ৴ 3. AppiumServer͕υϥΠόʔܦ༝ͰXCUITest࣮ߦ
None
!
!ͳΔ΄Ͳ
!Θ͔ΒΜ
Θ͔ΒΜϙΠϯτ ͦͦͷUIAutoma)onjsͰίʔυॻ͍࣮ͯߦ ͭ·Γ֎෦͔ΒiOS SimulatorΛૢ࡞ͦͦग़དྷΔ࡞Γ → Θ͔Δ (appium-ios-driver࣮ࡍ͏ͪΐͬͱෳࡶͳ࡞Γʹͳͬ ͯ·͢)
None
Θ͔ΒΜϙΠϯτ XCUITestΛ֎෦͔Βૢ࡞͢Δʁ → Θ͔ΒΜ XCUITestͬͯϓϩδΣΫτʹTestόϯυϧೖΕͯςετίʔυ࣮ ߦͤ͞Δײ͡Ͱ͢ΑͶʁ Appiumͷྑ͞ͷҰͭϓϩμΫτίʔυʹखΛՃ͑ͣʹUIςετ ͕ग़དྷΔࣄͷͣʁΊͪΌͬͨʁ XCUITestͬͯϓϩδΣΫτͷ֎͔Βίϯτϩʔϧग़དྷΔͷʁ!
ௐͯΈͨɻ
1.6.0͔ΒXCUITestαϙʔτͨ͠Αͱɻ h"ps:/ /github.com/appium/appium/releases
৽ͨʹՃ͞ΕͨDriver appium-xcuitest-driver h"ps:/ /github.com/appium/appium-xcuitest-driver#appium- xcuitest-driver
ߋʹͦͷதͰ༻͞Ε͍ͯΔWebDriverAgent h"ps:/ /github.com/facebook/WebDriverAgent h"ps:/ /www.youtube.com/watch?v=Ea6YGFxBxY
WebDriverAgent • WebDriverαʔόʔ࣮ • ىಈ͢ΔͱΞϓϦWebDriverͱͯ͠APIΛίʔϧग़དྷΔαʔό ͱͯ͠ىಈ͠·͢ • WebDriverAgentΛ͏ࣄͰ֎෦͔Βୟ͚ΔUI Test RunnerΛ࣮
ݱ͍ͯ͠Δ • UIͷૢ࡞ʹ͍ͭͯPrivateAPIΛ༻͍ͯ͠Δͱͷࣄ
None
ҰXCUITestΛࢥ͍ग़ͯ͠ΈΔɻ
!
!ͳΔ΄Ͳ
!ೲಘ
·ͱΊ • WebDriverAgentWebDriverαʔό࣮ • WebDriverAgentUI Test RunnerͷΘΓͱͯ͠ΞϓϦΛૢ࡞ ͢ΔࣄͰ͜Ε·ͰͷAppiumͱ(΄΅)มΘΒ͵ڍಈΛ࣮ݱ͍ͯ͠ Δ •
ςετίʔυॻ͘ʹUIAutoma:on/XCUITestͷͲͪΒ͕ಈ ͍ͯΔ͔ҙࣝ͢Δඞཁͳ͍ɻ
Ҏ্