$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
5分でわかる! AWS Device Farmでテストしよう!
Search
Sato Takeshi
March 13, 2017
Technology
2
1.7k
5分でわかる! AWS Device Farmでテストしよう!
iOS Test Night #3
https://testnight.connpass.com/event/49561/
の発表資料。
Device Farmのやり方について発表しました。
Sato Takeshi
March 13, 2017
Tweet
Share
More Decks by Sato Takeshi
See All by Sato Takeshi
まさかのバグ!SwiftUIプレビューでハマった国際化対応の落とし穴
satotakeshi
0
360
Swift愛好会 の 思い出
satotakeshi
0
110
Xcode 15, Swift 5.9で変わる開発体験
satotakeshi
3
3k
Meet passkeys
satotakeshi
2
380
What's new in Vision
satotakeshi
0
2k
Swift Concurrency入門
satotakeshi
11
5.4k
複数端末のつらさを乗り越えてiOS UITestを実行
satotakeshi
1
440
Xcodegenを個人アプリに導入
satotakeshi
3
850
SwiftUIで作る開閉式メニュー
satotakeshi
2
3.1k
Other Decks in Technology
See All in Technology
ページの可視領域を算出する方法について整理する
yamatai1212
0
160
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
650
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.3k
あなたの知らないDateのひみつ / The Secret of "Date" You Haven't known #tqrk16
expajp
0
110
MS Ignite 2025で発表されたFoundry IQをRecap
satodayo
3
230
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
550
M5UnifiedとPicoRubyで楽しむM5シリーズ
kishima
0
110
プロダクトマネージャーが押さえておくべき、ソフトウェア資産とAIエージェント投資効果 / pmconf2025
i35_267
2
360
直接メモリアクセス
koba789
0
120
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
120
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
5.7k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
A Tale of Four Properties
chriscoyier
162
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
700
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Practical Orchestrator
shlominoach
190
11k
Transcript
5ͰΘ͔Δ! AWS Device FarmͰς ετ͠Α͏ʂ 20173݄13 ࠤ౻߶࢜ 5ͰΘ͔Δ! AWS Device
FarmͰςετ͠Α͏ʂ 2017/3/13 1
ࣗݾհ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 2
ࠤ౻߶࢜ (@hatakenokakashi) MAMORIOגࣜձࣾͰiOSΤϯδχΞΛ ͍ͯ͠·͢ɻ Swiftͱ͓༑ୡͰ͢ɻ Ruby,JS(ES6)ยࢥ͍Ͱ͢ɻ ϒϩάɿhttp://blog.personal- factory.com/ 5ͰΘ͔Δ! AWS
Device FarmͰςετ͠Α͏ʂ 2017/3/13 3
ςετͭΒ͍ͬ͢ΑͶ! 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 4
։ൃͲΜͲΜਐΉ ͦͷͨͼʹશΛςετ͠ͳ͖Ό͍ ͚ͳ͍ɻ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 5
ͦ͜ʹཱ͔ͪΔ • ༻ҙ͕େม • ૿େ͢Δςετ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13
6
Ͳ͏͠Α͏(´ɾТɾʆ) 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 7
ͦ͜Ͱ Device Farmͷ ग़൪Ͱ͢ʂ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 8
Device FarmͬͯԿʁ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 9
Device Farm • AWSͷεϚϑΥ&WebΞϓϦ͚ςετࣗಈԽαʔϏε • iOSɺAndroid֤֤OSόʔδϣϯΛऔΓἧ͑Δ • ࠷ॳͷ߹ܭ250·Ͱແྉɻޙ0.17 USD/ 5ͰΘ͔Δ!
AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 10
๛ͳछྨ&OSόʔδϣϯ • iPhone4s-iPhone7PlusͷiOS7.1͔ΒiOS10·Ͱ • iPad2/iPad miniୈҰੈ/iPad Pro • Android΄΅ओཁͳΛͦΖ͍͑ͯΔʢͨͩ͠άϩʔόϧ൛) •
AndroidຊΩϟϦΞ͕ΧελϚΠζ͍ͯ͠ΔͷͰ ҙʂ https://aws.amazon.com/jp/device-farm/device-list/ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 11
XCUIͰͬͯΈΔ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 12
XCUIͰͬͯΈΔ 1. ΞϓϦΛϏϧυ͢Δ 2. XCUIΛϏϧυ͢Δ 3. Payload.ipaϑΝΠϧΛͭ͘Δ 4. Device FarmʹΞϓϦͱςετΛొ࣮͠ߦ
5. ςετ݁ՌΛΈΔ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 13
ΞϓϦΛϏϧυ͢Δ XcodeͷProduct -> ArchiveͰΞʔΧΠ ϒ OrganaizerϖʔδͰExport 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ
2017/3/13 14
Save for Development DeploymentΛ બ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13
15
Device SupportΛExport one app for all compatible devicesʹબ 5ͰΘ͔Δ! AWS
Device FarmͰςετ͠Α͏ʂ 2017/3/13 16
XCUIͰςετίʔυΛॻ͘ import XCTest class MAMORIOUITests: XCTestCase { override func setUp()
{ super.setUp() continueAfterFailure = false XCUIApplication().launch() } func test1Tutorial() {} } 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 17
XCUIͷઆ໌ • XCUIApplicationͰΞϓϦऔಘͯ͠ • XCUIElementQueryͰUI෦Λݕࡧ ͯ͠ • XCUIElementͰλοϓͳͲUIૢ࡞Λ ͢Δ let
app = XCUIApplication() app.buttons["startButton"].tap() 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 18
XCUIElementQueryͰݕࡧ Ͱ͖ΔΑ͏ʹ accessibilityIdentifierΛઃఆ͠·͠ΐ ͏ɻ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 19
XCUIΛϏϧυ͢Δ Product > Build For > Testing 5ͰΘ͔Δ! AWS Device
FarmͰςετ͠Α͏ʂ 2017/3/13 20
[UITestName]-Runner.appΛऔಘ ϏϧυύεΛݟΔ /Users/<UserName>/Library/ Developer/Xcode/DerivedData/ <App Name>-xxxxxxxxxxxxxxxxx/ Build/Products/Debug-iphoneos/ 5ͰΘ͔Δ! AWS Device
FarmͰςετ͠Α͏ʂ 2017/3/13 21
ιʔεҰཡͷ Products >ɹ[APPNAME].app ΛӈΫϦοΫͰFinderΛ։͍ͯྑ͍ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 22
Payload.ipaϑΝΠϧΛͭ͘Δ 1. PayloadσΟϨΫτϦΛ࡞Γ[UITestName]-Runner.appΛೖΕ Δɻ 2. ͦͷޙʹzipͰPayloadσΟϨΫτϦΛѹॖ͢Δɻ 3. Payload.zipΛPayload.ipaʹϦωʔϜ͢Δɻ 5ͰΘ͔Δ! AWS
Device FarmͰςετ͠Α͏ʂ 2017/3/13 23
mkdir Payload mv [UITestName]-Runner.app Payload zip Payload.zip Payload mv Payload.zip
Payload.ipa 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 24
Device FarmʹΞϓϦͱςε τΛొ࣮͠ߦ Create a new project ΛΫϦοΫ Create a
new run ΛΫϦοΫ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 25
ΞϓϦͷipaϑΝΠϧ ΛΞοϓϩʔυ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 26
XCTest UIΛબΜͰ Payload.ipaΛΞοϓ ϩʔυ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 27
DeviceΛબͼ·͢ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 28
DeviceͷৄࡉΛઃఆ • Ճͷใ • Ңܦ • ϩέʔγϣϯ • ௨৴ঢ়ଶ 5ͰΘ͔Δ!
AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 29
DeviceͷλΠϜΞ τઃఆΛ͢Δ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 30
ςετ݁ՌΛΈΔ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 31
Α͍ςετϥΠϑΛա͝ ͠·͠ΐ͏✨ 5ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 32