Slide 1

Slide 1 text

࿝ޙඞཁࢿۚ2000ສԁ࣌୅ʹૹΔ Azure PipelinesʹΑΔܧଓతςετ 2019.06.20 CI/CD Test Night #4 Ikuma Hayasaka

Slide 2

Slide 2 text

ࣗݾ঺հ • ૣࡔ زഅ ( siro_uma, ihysk) • Software Engineer in Test
 ɹɹ@ Sony Interactive Entertainment • ࠓ೔͕LTσϏϡʔ

Slide 3

Slide 3 text

ຊࢿྉ͸ॴଐاۀͷۀ຿಺༰ʹؔΘΔ࿩Ͱ͸ͳ͘ ࢲݸਓͷ։ൃܦݧΛجʹߏ੒͞ΕͨࢿྉͰ͢

Slide 4

Slide 4 text

࿝ޙඞཁࢿۚ2000ສԁ࣌୅

Slide 5

Slide 5 text

ඞཁࢿۚ2000ສԁ࣌୅ʹ CI/CDʹ͓ۚΛ෷͏΂͖ͳͷ͔

Slide 6

Slide 6 text

CIαʔϏεͷ͓஋ஈ (macOS؀ڥ) Jenkins TravisCI CircleCI Bitrise අ༻ (Private) ¥89,800~ (Mac mini) $69.0/month $39.0/month Free අ༻ (OSS) ¥89,800~ (Mac mini) Free Free (ཁ email) Free Private repoͰ΋BitriseͰ͋Ε͹ແྉ ͨͩ͠ɺ1build 10min·Ͱ

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Azure Pipelines • Azure DevOpsͷதͷCIαʔϏε • CIͱͯ͠෯޿͍ݴޠɾϓϥοτϑΥʔ ϜΛαϙʔτ • OSSʹ༏͍͠ • ශ๡ݸਓ։ൃʹ΋݁ߏ༏͍͠

Slide 9

Slide 9 text

https://azure.microsoft.com/ja-jp/services/devops/pipelines/ Microsoftͷ༏͠͞

Slide 10

Slide 10 text

ݸਓ։ൃऀ͕Azure Pipelinesͷແྉ࿮Ͱ Appium E2E Test for iOS Λࢼͯ͠Έͨ

Slide 11

Slide 11 text

؀ڥ • ࢼݧର৅ɿόϨείʢݸਓ։ൃiOSΞϓϦʣ • CI: Azure Pipelines • Platform: macOS-10.13 • Lang: Python • Other: Appium

Slide 12

Slide 12 text

azure-pipelines.yml - task: NodeTool@0 inputs: versionSpec: '10.x' - task: UsePythonVersion@0 inputs: versionSpec: '3.x' - bash: | npm install -g appium appium --app $APP_PATH & cd tests pip install -r requirements.txt pytest test_volley.py

Slide 13

Slide 13 text

azure-pipelines.yml - task: NodeTool@0 inputs: versionSpec: '10.x' - task: UsePythonVersion@0 inputs: versionSpec: '3.x' - bash: | npm install -g appium appium --app $APP_PATH & cd tests pip install -r requirements.txt pytest test_volley.py Appium serverͷͨΊͷ Node.js؀ڥͷઃఆ VersionͷࢦఆͷΈ

Slide 14

Slide 14 text

azure-pipelines.yml - task: NodeTool@0 inputs: versionSpec: '10.x' - task: UsePythonVersion@0 inputs: versionSpec: '3.x' - bash: | npm install -g appium appium --app $APP_PATH & cd tests pip install -r requirements.txt pytest test_volley.py Appium python clientͷͨΊͷ Python؀ڥͷઃఆ VersionͷࢦఆͷΈ

Slide 15

Slide 15 text

azure-pipelines.yml - task: NodeTool@0 inputs: versionSpec: '10.x' - task: UsePythonVersion@0 inputs: versionSpec: '3.x' - bash: | npm install -g appium appium --app $APP_PATH & cd tests pip install -r requirements.txt pytest test_volley.py Appium serverͷΠϯετʔϧ Appium serverͷ্ཱͪ͛

Slide 16

Slide 16 text

azure-pipelines.yml - task: NodeTool@0 inputs: versionSpec: '10.x' - task: UsePythonVersion@0 inputs: versionSpec: '3.x' - bash: | npm install -g appium appium --app $APP_PATH & cd tests pip install -r requirements.txt pytest test_volley.py ඞཁpython moduleͷΠϯετʔϧ (appium python clientؚΉ) PytestʹΑΔappium E2Eςετͷ࣮ߦ

Slide 17

Slide 17 text

࣮ߦͯ͠Έͨ

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

ςετࣦͬͯഊ͕ͪ͠… CIͷE2Eςετͷσόοάਏ͍…

Slide 20

Slide 20 text

self.driver.start_recording_screen() self.driver.stop_recording_screen()

Slide 21

Slide 21 text

ͻͱ޻෉ - task: NodeTool@0 inputs: versionSpec: '10.x' - task: UsePythonVersion@0 inputs: versionSpec: ‘3.x' - bash: | brew install ffmpeg npm install -g appium appium --app $APP_PATH & cd tests pip install -r requirements.txt pytest test_volley.py

Slide 22

Slide 22 text

Screen recordingͨ͠ ݁Ռ͕อଘ͞ΕΔ

Slide 23

Slide 23 text

Azure PipelinesͳΒ ແྉ࿮Ͱ΋݁ߏ΍ΕΔ

Slide 24

Slide 24 text

·ͱΊ Azure PipelinesͳΒ: - ແྉ࿮Ͱ݁ߏ͍Ζ͍ΖͰ͖Δ - ΧελϚΠζ΋݁ߏ͍Ζ͍ΖͰ͖Δ - ࿝ޙඞཁࢿۚ2000ສԁ࣌୅ʹඋ͑ΒΕΔ?

Slide 25

Slide 25 text

ࢀߟ • Azure Pipelines for iOS @giginet
 https://speakerdeck.com/giginet/azure-pipeline • Azure Pipelines Documentation
 https://docs.microsoft.com/en-us/azure/devops/pipelines/? view=azure-devops • Azure PipelinesͰappiumͷE2EςετΛಈ͔ͯ͠Έͨ
 http://siro-uma.hatenablog.com/entry/azure-pipelines-appium-ios • Azure PipelinesͰappium screen recordingΛࢼͯ͠Έͨ
 http://siro-uma.hatenablog.com/entry/azure-pipelines-appium- screen-recording