Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5分でわかる! AWS Device Farmでテストしよう!

5分でわかる! AWS Device Farmでテストしよう!

iOS Test Night #3
https://testnight.connpass.com/event/49561/
の発表資料。
Device Farmのやり方について発表しました。

53e2d354b3299d64a54af680865516d5?s=128

Sato Takeshi

March 13, 2017
Tweet

More Decks by Sato Takeshi

Other Decks in Technology

Transcript

  1. 5෼ͰΘ͔Δ! AWS Device FarmͰς ετ͠Α͏ʂ 2017೥3݄13೔ ࠤ౻߶࢜ 5෼ͰΘ͔Δ! AWS Device

    FarmͰςετ͠Α͏ʂ 2017/3/13 1
  2. ࣗݾ঺հ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 2

  3. ࠤ౻߶࢜ (@hatakenokakashi) MAMORIOגࣜձࣾͰiOSΤϯδχΞΛ ͍ͯ͠·͢ɻ Swiftͱ͸͓༑ୡͰ͢ɻ Ruby,JS(ES6)͸ยࢥ͍Ͱ͢ɻ ϒϩάɿhttp://blog.personal- factory.com/ 5෼ͰΘ͔Δ! AWS

    Device FarmͰςετ͠Α͏ʂ 2017/3/13 3
  4. ςετͭΒ͍ͬ͢ΑͶ! 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 4

  5. ։ൃ͸ͲΜͲΜਐΉ ͦͷͨͼʹશ୺຤Λςετ͠ͳ͖Ό͍ ͚ͳ͍ɻ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 5

  6. ͦ͜ʹཱͪ͸͹͔Δ໰୊ • ୺຤༻ҙ͕େม • ૿େ͢Δςετ޻਺ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13

    6
  7. Ͳ͏͠Α͏(´ɾТɾʆ) 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 7

  8. ͦ͜Ͱ Device Farmͷ ग़൪Ͱ͢ʂ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 8

  9. Device FarmͬͯԿʁ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 9

  10. Device Farm • AWSͷεϚϑΥ&WebΞϓϦ޲͚ςετࣗಈԽαʔϏε • iOSɺAndroid֤୺຤֤OSόʔδϣϯΛऔΓἧ͑Δ • ࠷ॳͷ߹ܭ250෼·Ͱແྉɻޙ0.17 USD/෼ 5෼ͰΘ͔Δ!

    AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 10
  11. ๛෋ͳ୺຤छྨ&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
  12. XCUIͰ࢖ͬͯΈΔ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 12

  13. XCUIͰ࢖ͬͯΈΔ 1. ΞϓϦΛϏϧυ͢Δ 2. XCUIΛϏϧυ͢Δ 3. Payload.ipaϑΝΠϧΛͭ͘Δ 4. Device FarmʹΞϓϦͱςετΛొ࿥࣮͠ߦ

    5. ςετ݁ՌΛΈΔ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 13
  14. ΞϓϦΛϏϧυ͢Δ XcodeͷProduct -> ArchiveͰΞʔΧΠ ϒ OrganaizerϖʔδͰExport 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ

    2017/3/13 14
  15. Save for Development DeploymentΛ બ୒ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13

    15
  16. Device SupportΛExport one app for all compatible devicesʹબ୒ 5෼ͰΘ͔Δ! AWS

    Device FarmͰςετ͠Α͏ʂ 2017/3/13 16
  17. 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
  18. XCUIͷઆ໌ • XCUIApplicationͰΞϓϦऔಘͯ͠ • XCUIElementQueryͰUI෦඼Λݕࡧ ͯ͠ • XCUIElementͰλοϓͳͲUIૢ࡞Λ ͢Δ let

    app = XCUIApplication() app.buttons["startButton"].tap() 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 18
  19. XCUIElementQueryͰݕࡧ Ͱ͖ΔΑ͏ʹ accessibilityIdentifierΛઃఆ͠·͠ΐ ͏ɻ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 19

  20. XCUIΛϏϧυ͢Δ Product > Build For > Testing 5෼ͰΘ͔Δ! AWS Device

    FarmͰςετ͠Α͏ʂ 2017/3/13 20
  21. [UITestName]-Runner.appΛऔಘ ϏϧυύεΛݟΔ /Users/<UserName>/Library/ Developer/Xcode/DerivedData/ <App Name>-xxxxxxxxxxxxxxxxx/ Build/Products/Debug-iphoneos/ 5෼ͰΘ͔Δ! AWS Device

    FarmͰςετ͠Α͏ʂ 2017/3/13 21
  22. ιʔεҰཡͷ Products >ɹ[APPNAME].app ΛӈΫϦοΫͰFinderΛ։͍ͯ΋ྑ͍ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 22

  23. Payload.ipaϑΝΠϧΛͭ͘Δ 1. PayloadσΟϨΫτϦΛ࡞Γ[UITestName]-Runner.appΛೖΕ Δɻ 2. ͦͷޙʹzipͰPayloadσΟϨΫτϦΛѹॖ͢Δɻ 3. Payload.zipΛPayload.ipaʹϦωʔϜ͢Δɻ 5෼ͰΘ͔Δ! AWS

    Device FarmͰςετ͠Α͏ʂ 2017/3/13 23
  24. mkdir Payload mv [UITestName]-Runner.app Payload zip Payload.zip Payload mv Payload.zip

    Payload.ipa 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 24
  25. Device FarmʹΞϓϦͱςε τΛొ࿥࣮͠ߦ Create a new project ΛΫϦοΫ Create a

    new run ΛΫϦοΫ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 25
  26. ΞϓϦͷipaϑΝΠϧ ΛΞοϓϩʔυ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 26

  27. XCTest UIΛબΜͰ Payload.ipaΛΞοϓ ϩʔυ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 27

  28. DeviceΛબͼ·͢ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 28

  29. DeviceͷৄࡉΛઃఆ • ௥Ճͷ୺຤৘ใ • Ң౓ܦ౓ • ϩέʔγϣϯ • ௨৴ঢ়ଶ 5෼ͰΘ͔Δ!

    AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 29
  30. DeviceͷλΠϜΞ΢ τઃఆΛ͢Δ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 30

  31. ςετ݁ՌΛΈΔ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 31

  32. Α͍ςετϥΠϑΛա͝ ͠·͠ΐ͏✨ 5෼ͰΘ͔Δ! AWS Device FarmͰςετ͠Α͏ʂ 2017/3/13 32