Slide 1

Slide 1 text

'BTUMBOFTOBQTIPU ؔ੢ϞόΠϧΞϓϦݚڀձ

Slide 2

Slide 2 text

!NBUVZVKJ TBGYEFWCMPHTQPUKQ

Slide 3

Slide 3 text

https://fastlane.tools

Slide 4

Slide 4 text

https://krausefx.com/blog/fastlane-is-now-part-of-fabric

Slide 5

Slide 5 text

https://krausefx.com/blog/fastlane-is-now-part-of-fabric

Slide 6

Slide 6 text

w TOBQTIPUOPXVTFT6*5FTUT w /FXUPPMTDBO w 'BTUMBOFGPS"OESPJE

Slide 7

Slide 7 text

#VJMEGPS"QQTUPSF w TDBO w TOBQTIPUGSBNFJU w TJHI w HZN w EFMJWFS fastlane }

Slide 8

Slide 8 text

ς ε τ snapshot / frameit scan ը ໘ ը ૾ ڙ څ ࢿ ֨ sigh ίϯύΠϧ gym ఏ ग़ deliver K01 K02 K03 K04 K05

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Snapshot

Slide 11

Slide 11 text

XIZ %FWJDFT-PDBMJ[F " # $ % & ' ( ) * + ,

Slide 12

Slide 12 text

TOBQTIPUJOJU $ snapshot init Successfully created SnapshotHelper.js './SnapshotHelper.swift' Successfully created new Snapfile at './Snapfile' ------------------------------------------------------- Open your Xcode project and make sure to do the following: 1) Add the ./SnapshotHelper.swift to your UI Test target You can move the file anywhere you want 2) Call `setLanguage(app)` when launching your app let app = XCUIApplication() setLanguage(app) app.launch() 3) Add `snapshot("0Launch")` to wherever you want to create the screenshots More information on GitHub: https://github.com/krausefx/ snapshot 6*ςετͷTFU6Qʹ௥Ճ εΫϦʔϯγϣοτΛࡱΓ͍ͨͱ͜Ζʹ௥Ճ 6*ςετͷλʔήοτʹ௥Ճ

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

class Snapshot: XCTestCase { override func setUp() { super.setUp() continueAfterFailure = false let app = XCUIApplication() setLanguage(app) app.launch() } func testExample() { let app = XCUIApplication() snapshot("01-master") let tablesQuery = app.tables tablesQuery.staticTexts["Groceries"].tap() snapshot("02-detail") let groceriesNavigationBarsQuery = app.navigationBars.matchingIdentifier("Groceries") groceriesNavigationBarsQuery.buttons["Edit"].tap() snapshot("03-edit") groceriesNavigationBarsQuery.buttons["Done"].tap() app.navigationBars.matchingIdentifier("Groceries").buttons["Lister"].tap() app.navigationBars["Lister"].buttons["Add"].tap() snapshot("04-add") } }

Slide 15

Slide 15 text

4OBQpMF devices([ # "iPhone 6", # "iPhone 6 Plus", "iPhone 5", "iPhone 4s" ]) languages([ "ja-JP", "en-US" ]) scheme "Lister"

Slide 16

Slide 16 text

FYFDVUF snapshot

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

TOBQTIPU w "QQMF8BUDIʹରԠͯ͠ͳ͍ w λϒόʔͰεΫϦʔϯγϣοτ͕ࡱΕͳ͍ w େ͖ΊσόΠεͰεΫϦʔϯγϣοτ͕Ԛͳ͍ ˠ9DPEFͷόά ɻ9DPEFPS4DBMFʹ͢Δ ˠӈԼʹʷͷϏϡʔΛϧʔτϏϡʔʹஔ͘ ˠ6*"VUPNBUJPOະରԠ

Slide 19

Slide 19 text

GSBNFJU

Slide 20

Slide 20 text

3FGFSFODFT w 'BTUMBOF
 IUUQTGBTUMBOFUPPMT w ,SBVTF'YTOBQTIPU