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.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
350
Swift愛好会 の 思い出
satotakeshi
0
100
Xcode 15, Swift 5.9で変わる開発体験
satotakeshi
3
3k
Meet passkeys
satotakeshi
2
380
What's new in Vision
satotakeshi
0
1.8k
Swift Concurrency入門
satotakeshi
11
5.4k
複数端末のつらさを乗り越えてiOS UITestを実行
satotakeshi
1
430
Xcodegenを個人アプリに導入
satotakeshi
3
830
SwiftUIで作る開閉式メニュー
satotakeshi
2
3.1k
Other Decks in Technology
See All in Technology
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
680
様々なファイルシステム
sat
PRO
0
280
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
570
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
120
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.6k
戦えるAIエージェントの作り方
iwiwi
17
7.7k
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
130
デザインとエンジニアリングの架け橋を目指す OPTiMのデザインシステム「nucleus」の軌跡と広げ方
optim
0
130
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
600
OPENLOGI Company Profile for engineer
hr01
1
46k
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
180
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
200
Featured
See All Featured
Thoughts on Productivity
jonyablonski
71
4.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Code Reviewing Like a Champion
maltzj
526
40k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Practical Orchestrator
shlominoach
190
11k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
630
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Automating Front-end Workflow
addyosmani
1371
200k
A better future with KSS
kneath
239
18k
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