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
テストも開発もするモバイルエンジニアのためのXCUITest/Espressoのすすめ
Search
woshidan
December 11, 2017
Programming
4.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テストも開発もするモバイルエンジニアのためのXCUITest/Espressoのすすめ
システムテスト自動化カンファレンス2017-2 LT資料
woshidan
December 11, 2017
More Decks by woshidan
See All by woshidan
AWSを用いたWebサービスの負荷試験のTips
woshidan
2
13k
IAMロールの使用と必要なポリシー
woshidan
2
1.2k
マーケティングオートメーションツールとアプリエンジニア -プッシュ通知・お知らせダイアローグの運用自動化のためのお仕事-
woshidan
0
2.1k
DNSの話2 ~ Webアプリエンジニアの一人ネットワーク勉強会
woshidan
1
710
DNSの話1 ~ Webアプリエンジニアの一人ネットワーク勉強会
woshidan
0
640
DNSキャッシュポイズニング ~ Webアプリエンジニアの一人ネットワーク勉強会
woshidan
0
670
テーブルを作ってみる話
woshidan
3
110k
メモリリークに関するウワサの今昔
woshidan
6
31k
元Railsエンジニアが 現場で引き継いで使ってみたKotlin
woshidan
1
3.3k
Other Decks in Programming
See All in Programming
5分で問診!Composer セキュリティ健康診断
codmoninc
0
1.1k
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
What's New in Android 2026
veronikapj
0
260
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
720
React本体のコードリーディング
high_g_engineer
1
150
「人を評価する AI」の設計と実装
ryoyanara
0
210
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
110
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
510
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
120
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
Google Apps Script で Ruby を動かす
kawahara
0
270
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
330
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
4 Signs Your Business is Dying
shpigford
187
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
How to Ace a Technical Interview
jacobian
281
24k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
490
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
440
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
ςετ։ൃ͢ΔϞόΠϧΤϯδχ ΞͷͨΊͷXCUITest/Espressoͷ͢ ͢Ί γεςϜςετࣗಈԽΧϯϑΝϨϯε2017-2 @woshidan
ࣗݾհ w !XPTIJEBO 5XJUUFS*% !XPTIJEBOP w ݩ"OESPJEΞϓϦΤϯδ χΞ w
Ұ͘Β͍લ͔Βʑล ΓͷελʔτΞοϓͰϞό Πϧ༻ϥΠϒϥϦͷςετ ࣗಈԽͳͲΛ͍ͯ͠·͢
ࠓ͓͢͠Δ͜ͱ w ϞόΠϧΞϓϦํ໘ͷ&&ςετʹ͍ͭͯ w ݩ։ൃͷਓ͕"QQJVNΛࢼͯ͠Έͨͱ͖ͷײ w "OESPJE4UVEJP9$PEFΛ͑ΔਓͳΒ &TQSFTTP9$6*5FTU͍͍ w ࣌ؒ͋Ε
&TQSFTTP5FTU3FDPSEFS 9$PEF6*5FTU3FDPSEFSͷ͍ํ
"QQJVNΛͬͯΈͨͱ͖ͷ w "QQJVN J04"OESPJE ΛͬͯΈͨͱ͖ͷ
"QQJVNΛͬͯΈͨͱ͖ͷ w "QQJVN J04"OESPJE ͰͷϝϦοτ w ҰͭͷίʔυͰJ04"OESPJE྆ํͷಈ͖͕ςετͰ͖Δ w ෳͷςετ༻ϓϥοτϑΥʔϜΛԼଆͰར༻͓ͯ͠Γ෯ ͍"OESPJEJ04ͷόʔδϣϯʹରԠ͍ͯ͠Δ
w ෯͍ݴޠͷυϥΠό͕ଘࡏ͠ɺࣗͷ͖ͳݴޠͰ͔͚ Δ w "QQJVN4UVEJPͳͲΛར༻͢Ε6*ཁૉʹৄ͘͠ͳͯ͘ 6*5FTU༻ͷίʔυੜ͕Ͱ͖Δ
w ҰͭͷίʔυͰJ04"OESPJE྆ํͷಈ͖͕ς ετͰ͖Δ w ϓϥοτϑΥʔϜ͝ͱͷΨΠυϥΠϯʹԊ͏ ߹ɺͦ͜·Ͱ྆04Ͱ6*͕Ұக͠ͳ͍ w BDDFTTJCJMJUZJE7JFXͷJE 7JFXͷ֊ ϨϕϧͰҰக͠ͳ͍ͱίʔυ͕ͳ͔ͳ͔
ڞ௨ԽͰ͖ͳ͍ "QQJVNΛͬͯΈͨͱ͖ͷ
w ෳͷςετ༻ϓϥοτϑΥʔϜΛԼଆͰར༻͓ͯ͠Γ෯ ͍"OESPJEJ04ͷόʔδϣϯʹରԠ͍ͯ͠Δ w ڥઃఆ͕ͦΕͳΓʹେมͰ"QQJVNͷઃఆΛݕূͯ͠ ͍ͨͱࢥͬͨΒͦͷԼଆͷπʔϧʹৄ͘͠ͳͬͯ͠·͏ʜ w J04Լͷόʔδϣϯ͕ૣ͘Γ͍͢"OESPJEͰ ܥΛͬͯྑͦ͞͏ʹͳ͖ͬͯͨ "1*ҎԼͷγΣΞ͕
w IUUQTEFWFMPQFSBOESPJEDPNBCPVUEBTICPBSETJOEFYIUNM "QQJVNΛͬͯΈͨͱ͖ͷ
w ෯͍ݴޠͷυϥΠό͕ଘࡏ͠ɺࣗͷ͖ͳݴޠ Ͱ͔͚Δ w "OESPJEJ04ͷΞϓϦΛ։ൃͯ͠Δਓʹͱͬͯ "OESPJEJ04Λ։ൃͰ͖ΔݴޠͰॻ͚ΔͷͰ͋ Γ͕͍ͨ w ͕ɺ֤ݴޠͷυϥΠόͷಈΛؾʹͨ͠Γपล πʔϧ
4FMFOJVN֤ݴޠͷϏϧυπʔϧ Λֶ श͢Δඞཁ͕͕͋ͬͯͦͬͪਏ͍ʜ "QQJVNΛͬͯΈͨͱ͖ͷ
w "QQJVN4UVEJPͳͲΛར༻͢Ε6*ཁૉʹৄ͘͠ͳͯ͘ 6*5FTU༻ͷίʔυੜ͕Ͱ͖Δ w "OESPJE4UVEJP9$PEFͰಉ͡Α͏ͳ͜ͱ͕Ͱ͖·͢ w "OESPJE4UVEJPͰ&TQSFTTP5FTU3FDPSEFS ͕͑ΔΑ͏ʹͳ͍ͬͯͨ w 1SFWJFXʹ͋ͬͨͷͷҰফ͔͑ͨͱࢥ͕͍ͬͨ
ͭͷ·ʹ͔෮׆ͯͨ͠ w 9$PEFd9$PEF6*5FTU3FDPSEFS͕͑Δ "QQJVNΛͬͯΈͨͱ͖ͷ
"QQJVNݸਓతײ·ͱΊ w ϞόΠϧΞϓϦΛॻ͍͍ͯΔਓ͕&&ςετ Λ࢝ΊΔ߹ʹ&TQSFTTP9$6*5FTUબ ࢶʹೖΕ͍͍ͯͷͰ
w &TQSFTTP9$6*5FTUΛͬͨ߹Ͳ͏ͳ ͷ͔
9$6*5FTU&TQSFTTPʹ͍ͭͯ w Α͍ͱ͜Ζͷ w "OESPJE4UVEJP9$PEFΛ͍ͬͯΔͷͰ͋Εڥߏ ஙίετ͕͍ w ؒʹೖ͍ͬͯΔπʔϧ͕ͳ͘ಈ࡞͕͔ͳΓ҆ఆ͍ͯ͠Δ w ։ൃ࣌ͱςετ࣌Ͱ*%&ΛΓସ͑Δඞཁ͕ͳ͍ͷͰɺς
ετमਖ਼ͷྲྀΕ͕εϜʔζ w 9$PEF"OESPJE4UVEJPͷσόοΨͷεςοϓ࣮ߦ ελοΫτϨʔε͕ར༻Ͱ͖ΔͷͰσόοάָ͕
9$6*5FTU&TQSFTTPʹ͍ͭͯ w ΊΜͲͦ͘͞͏ͳͱ͜Ζͷ w ಉ͡ϓϩδΣΫτʹίʔυΛஔ͘͜ͱʹͳΓ ͍͢ͷͰίʔυཧͷϑϩʔΛ૬ஊ͢Δඞཁ͋Γ w J04"OESPJEͦΕͧΕͰςετ࣮ํ๏Λ֮͑ Δඞཁ͋Γ w
9$6*5FTU &TQSFTTP͕ରԠ͍ͯ͠ͳ͍όʔδϣ ϯखಈςετͱΈ߹Θͤͯߦ͏ඞཁ͕͋Δ
͜͜·Ͱͷ·ͱΊ w ϞόΠϧΞϓϦํ໘ͷ&&ςετʹ͍ͭͯ w ݩ։ൃͷਓ͕"QQJVNΛࢼͯ͠Έͨͱ͖ͷײ w ։ൃଆ͔Βݟͯಋೖίετ͕ॏ͍"QQJVNͰ͔͠ΧόʔͰ͖ͳ͍ൣғ ͷ04όʔδϣϯͷγΣΞ͕Լ͕͖ͬͯͨͷͰෆ҆ఆ͞ͷπϥϛڧ͍ w "OESPJE4UVEJP9$PEFΛ͑ΔਓͳΒ&TQSFTTP9$6*5FTU͍
͍Α w *%&͕։ൃ࣌ͷͦͷ··͑ΔͷͰಋೖ͍͢͠σόοά͍͢͠ w 6*ཁૉͷऔಘ͕&TQSFTTP5FTU3FDPSEFS9$PEF6*5FTU 3FDPSEFSͰͰ͖ΔΑ͏ʹͳͬͨ
w &TQSFTTP5FTU3FDPSEFS9$PEF6* 5FTU3FDPSEFSͷ͍ํ
9$PEF6*5FTU3FDPSEFS 6*5FTU༻ͷλʔήοτΛ࡞
9$PEF6*5FTU3FDPSEFS 6*5FTUͷίʔυʹΧʔιϧΛ߹ΘͤΔͱ ϨίʔμʔͷϘλϯ͕͘ ͳΔͷͰԡ͢
9$PEF6*5FTU3FDPSEFS ىಈͨ͠ը໘ͷ6*Λλοϓ͢Δͱ ઌ΄ͲΧʔιϧΛ߹ΘͤͨҐஔʹ 6*5FTUͷίʔυ͕ੜ͞Ε͍ͯΔ ͓ࢼ͠༻ͷը໘ͷϓϩδΣΫτͷίʔυ J04ͷνϡʔτϦΞϧͷϓϩδΣΫτΛ%-ͯ͠ར༻ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZDPOUFOUSFGFSFODFMJCSBSZ(FUUJOH4UBSUFE%FWFMPQJ04"QQT4XJGU 1FSTJTU%BUBIUNMBQQMF@SFGEPDVJE51$)48
&TQSFTTP5FTU3FDPSEFS CVJMEHSBEMFʹFTQSFTTPΛՃ ςετରͷϑΟʔνϟ͝ͱʹར༻͢ΔϥΠϒϥϦ͕͔ Ε͍ͯΔͷͰৄ͘͠IUUQTEFWFMPQFSBOESPJEDPN USBJOJOHUFTUJOHFTQSFTTPJOEFYIUNM ࠓճͷྫͰςετʹ͍ͬͯΔϓϩδΣΫτOFX1SPKFDUͰ4FUUJOH"DUJWJUZΛબΜͩΒ࡞ՄೳͰ͢
&TQSFTTP5FTU3FDPSEFS TSDBOESPJE5FTUKBWBQBDLBHFNZFYBNQMF\ύο έʔδʹ߹Θͤͯม͑Δ^ҎԼʹςετΫϥεՃ
&TQSFTTP5FTU3FDPSEFS ্෦ϝχϡʔ͔Β3VO3FDPSEFS&TQSFTTP5FTU Λ࣮ߦ
&TQSFTTP5FTU3FDPSEFS 3FDPSE:PVS5FTUͷμΠΞ ϩʔάͷ"EE"TTFSUJPOϘλ ϯΛԡ͢
&TQSFTTP5FTU3FDPSEFS ͢Δͱӈଆʹݱࡏىಈ͍ͯ͠ΔΞϓϦͷը໘͕ݱΕͯ ΫϦοΫ͢ΔͱͲͷཁૉʹ͍ͨͯ͠Ͳͷ߲ͷΞαʔγϣϯΛ Ճ͢Δ͔ͷϝχϡʔ͕ग़ͯ͘Δ
&TQSFTTP5FTU3FDPSEFS 4BWF"TTFSUJPOΛԡ͢ͱɺͲͷΫϥεʹ Ճͨ͠ΞαʔγϣϯͷίʔυΛు͖ग़͢ ͔ೖྗཝ͕ग़ͯ͘Δ
&TQSFTTP5FTU3FDPSEFS ు͖ग़͞ΕͨίʔυҎԼͷΑ͏ͳײ͡Ͱ͢
&TQSFTTP5FTU3FDPSEFS ు͖ग़͞ΕͨίʔυҎԼͷΑ͏ͳײ͡Ͱ͢ मਖ਼ෆཁ ଆͷཁૉͷεΠον্هͷΛݩʹमਖ਼ඞཁ
&TQSFTTP5FTU3FDPSEFS ଆͷཁૉͷεΠονͷཁૉͷࢦఆमਖ਼ͷαϯϓϧ