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
WebDriverAgentってなに?
Search
Shingo Tamaki
January 19, 2017
Technology
5.4k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WebDriverAgentってなに?
WebDriverAgentってなに?
Appium1.6.xの気になるところを調べてみた
Shingo Tamaki
January 19, 2017
More Decks by Shingo Tamaki
See All by Shingo Tamaki
Use Gemini CLI from Claude Code as part of Sub Agent
tamaki
0
360
Let's make an Immersive Video with APMP
tamaki
0
96
Firebase Studioで始めるモバイルアプリ開発入門
tamaki
0
84
Introduction to Claude Code Action
tamaki
0
860
AIエージェントを使ったiOSアプリ開発を試してみた
tamaki
0
240
沖縄モバイルアプリ開発勉強会#1
tamaki
0
220
iOSアプリ開発を始めよう
tamaki
0
290
詳解xcresult.pdf
tamaki
0
510
メルペイでのリグレッションテスト自動化推進のこれまでとこれから
tamaki
0
890
Other Decks in Technology
See All in Technology
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
160
200人の配信コメント、 全部Jevが仕分けます 〜 マサカリガードを作ってみた 〜
katayamatg
1
360
局所最適は悪ではない。壊れているのは指標です。量と質を同時に見る先行指標の設計
recruitengineers
PRO
3
1.3k
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
150
Filter What the LLM Reads: RAG Governance with AgentCore Gateway
yakumo
1
120
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
280
LLMの知識とAIエージェント
happysamurai294
0
110
How we choose session proposals
kawaguti
PRO
1
180
「社外イベント=意識高い」の壁を壊せ!元々無関心だった僕らが部内で社外イベントを民主化して15人を連れ出すまで
say_no_w
0
160
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
220
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
110
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
360
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
420
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Agile that works and the tools we love
rasmusluckow
331
22k
WCS-LA-2024
lcolladotor
0
930
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
430
Art, The Web, and Tiny UX
lynnandtonic
304
22k
A Soul's Torment
seathinner
8
3.8k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
A Modern Web Designer's Workflow
chriscoyier
699
190k
GraphQLとの向き合い方2022年版
quramy
50
15k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
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ͷͲͪΒ͕ಈ ͍ͯΔ͔ҙࣝ͢Δඞཁͳ͍ɻ
Ҏ্