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
5分でわかる! AWS Device Farmでテストしよう!
Search
Sato Takeshi
March 13, 2017
Technology
2
1.6k
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
240
Swift愛好会 の 思い出
satotakeshi
0
77
Xcode 15, Swift 5.9で変わる開発体験
satotakeshi
3
2.9k
Meet passkeys
satotakeshi
2
330
What's new in Vision
satotakeshi
0
1.5k
Swift Concurrency入門
satotakeshi
11
5k
複数端末のつらさを乗り越えてiOS UITestを実行
satotakeshi
1
380
Xcodegenを個人アプリに導入
satotakeshi
3
740
SwiftUIで作る開閉式メニュー
satotakeshi
2
2.9k
Other Decks in Technology
See All in Technology
クラウド食堂とは?
hiyanger
0
110
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
2
270
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.5k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
18k
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
280
クラウドサービス事業者におけるOSS
tagomoris
4
1k
短縮URLをお手軽に導入しよう
nakasho
0
140
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
620
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
340
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
150
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
350
脳波を用いた嗜好マッチングシステム
hokkey621
0
280
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Bash Introduction
62gerente
611
210k
A Philosophy of Restraint
colly
203
16k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Designing Experiences People Love
moore
140
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Producing Creativity
orderedlist
PRO
344
40k
Building Adaptive Systems
keathley
40
2.4k
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