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
シナリオに依存しないテストの基盤作ってます / We're developing an infrastracture for tests not depending schenarios
Search
Kuniwak
PRO
October 02, 2019
Programming
3
400
シナリオに依存しないテストの基盤作ってます / We're developing an infrastracture for tests not depending schenarios
https://testnight.connpass.com/event/145238/
一度非公開にしていましたが、再公開しました。
Kuniwak
PRO
October 02, 2019
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
38
HOME VR
orgachem
PRO
1
750
uGUI の自動操作の考え方と操作方法
orgachem
PRO
0
1.1k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
910
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
860
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
24k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
890
睡眠する技術 / Technology to Sleep
orgachem
PRO
15
13k
LintオタクによるLint解説 / Introduction to Lints
orgachem
PRO
26
12k
Other Decks in Programming
See All in Programming
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
680
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
170
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
250
코틀린으로 멀티플랫폼 만들기
pangmoo
0
140
Git Lint
bkuhlmann
4
750
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
520
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
810
Front-end application development, Symfony-style(s)
dunglas
2
2k
Snowflakeで眠ったデータを起こそう!
estie
0
110
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
260
Elm Form Validation
bkuhlmann
0
510
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
30
46k
Atom: Resistance is Futile
akmur
258
25k
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
Gamification - CAS2011
davidbonilla
76
4.6k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
Reflections from 52 weeks, 52 projects
jeffersonlam
344
19k
The Art of Programming - Codeland 2020
erikaheidi
41
12k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
Teambox: Starting and Learning
jrom
128
8.4k
Docker and Python
trallard
33
2.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Being A Developer After 40
akosma
56
580k
Transcript
γφϦΦʹґଘ͠ͳ͍ ςετͷج൫࡞ͬͯ·͢ $*$%5FTU/JHIU ,VOJXBL
ൃදͷྲྀΕ ԿΛ$*ʹࡌ͍ͤͨͷ͔ $*ʹࡌͤΔࡍͷ՝ EFWGBSNʢ·ͩະެ։ʣͷհ
ԿΛ$*ʹࡌ͍ͤͨͷ͔
࠷ۙͷΈ ϞόΠϧήʔϜͷόάΛͰ͖Δ͚ͩ खલͷϑΣʔζͰݟ͚͍ͭͨ ཁ͢Δʹ୯ମςετͱ͔Ͱ ݟ͚ͭΒΕΔͳΒͱͯخ͍͕͠ʜ
୯ମςετͭΒ͍ ήʔϜΤϯδϯ߹ͷ ίϯϙʔωϯτׂΛڧ੍͞Εɺ ҙຯͷ͋ΔཻͰͷׂΛ ͮ͠Β͍ʢΓํ͋Δ͕ʣ
୯ମςετͭΒ͍ ͭ·Γɺ୯ମςετॻ͚Δ͚Ͳ ԿΘ͔Βͳ͍͜ͱ͕ଟ͍
Ͱ݁߹ςετʁ ݁߹ςετ͋·ΓʹͭΒ͍ɿ w ͙͢յΕΔ w ͭͷςετέʔεͰ ௐΒΕΔܦ࿏͘͝Θ͔ͣ
Ͱ6*ςετʁ 6*ςετอक͕ͭΒ͍ɿ w γφϦΦ͙͢յΕΔ w ͦͦγφϦΦ͕ಈ͘·Ͱ ࢼߦαΠΫϧͯͭ͘Β͍
݁ʢʁʣ ήʔϜͷςετԿͬͯͭΒ͍
ͷཧ w ઃܭʹࠨӈ͞ΕΔͱݫ͍͠ w ݁߹Λ૿͢ͱյΕͯ͘͢ݫ͍͠ w ࢼߦαΠΫϧ͍ͱݫ͍͠
ͷཧ w ͜ΕΒΛશͯճආ͢Δͪΐ͏Ͳ͍͍ ςετ͕࣮͋Δʜ
ͷཧ w ୯ମςετͰҙຯΛ࣋ͨͤͮΒׂཻ͍ w ݁߹Ϩϕϧ্͛ΕճආՄೳ w ͲͷΑ͏ʹׂɾ݁߹͞Εͯ ݁߹ͯ͠͠·͑ςετͰ͖Δ
ͷཧ w ݁߹Λ૿͢ͱյΕͯͭ͘͢Β͍ w ಛఆͷೖग़ྗΛݕূ͢ΔͳΒ յΕΔͷճආͰ͖ͳ͍ w Ұൠతͳੑ࣭ͷݕূͳΒճආՄೳ
ͷཧ w ࢼߦαΠΫϧ͍ͱݫ͍͠ w खಈͰେྔʹ࡞Δͱ͖ w ೖग़ྗͷࣗಈੜͰ؇Մೳ
ͭ·Γʜ ԼͷςετͳΒήʔϜͰޮՌతɿ w ݁߹Ϩϕϧ͕ߴ͘ɺ w Ұൠతͳੑ࣭Λݕূ͠ɺ w ೖग़ྗࣗಈͰੜ͞ΕΔ
ͦΜͳςετ͋Δͷ͔ʁʁʁ ͋Γ·͢
6*ϨΠϠʔͷ ϞϯΩʔςετ 6*ૢ࡞ΛࣗಈͰແ࡞ҝʹ࣮ߦ͠ɺ ΫϥογϡύϑΥʔϚϯεΛ ൃݟ͢Δํ๏ʢΦʔτϓϨΠͷҰछʣ
#VUUPO" ͭʹߜΓࠐΉ ⁞ૢ࡞ՄೳͳͷΛબ ແ࡞ҝʹૢ࡞Λ࣮ߦ #VUUPO# #VUUPO$ #VUUPO% #VUUPO" #VUUPO# #VUUPO"
5BQ
զʑ͕$*ʹࡌ͍ͤͨͷ ήʔϜͰݱ࣮త͔ͭޮతͳ ςετͱͯ͠ɺ6*ϨΠϠʔͷ ϞϯΩʔςετΛࡌ͍ͤͨʂ
طଘπʔϧ "QQJVN"MU6OJUZ5FTUFS͕༗໊ ͜ΕΒ͑ͳ͍͜ͱͳ͍͕ɺ ૢ࡞Մೳͳͷͷબ͕खؒͩ͠ɺ πʔϧͷఆ֎ͷ༻్ͳͷͰةݥ
ͭʹߜΓࠐΉ ⁞ૢ࡞ՄೳͳͷΛબ ແ࡞ҝʹૢ࡞Λ࣮ߦ ͕͜͜طଘπʔϧͩͱͭΒ͍ #VUUPO" #VUUPO# #VUUPO$ #VUUPO" #VUUPO# #VUUPO"
5BQ
ΞϓϦʹຒΊࠐΉํࣜΛ࠾༻ ΞϓϦͷϏϧυ࣌ʹ͜ͷૢ࡞πʔϧΛ ຒΊࠐΉ͜ͱͰɺطଘπʔϧͷ໘ͳ ෦Λղܾ ΞϓϦΛىಈ͢Εςετ͞ΕΔ
$*ʹࡌͤΔࡍͷ՝
Ͳ͜ͰΞϓϦΛಈ͔͔͢ ࣮ࡍʹΞϓϦΛಈ͔͢ඞཁ͕͋ͬͯɺ ࣮ͨͩ͠ػͰ͋Δඞཁੑͦ͜·Ͱ ߴ͘ͳ͍ ͨ͘͞Μԣʹฒͯಈ͔͍ͨ͠͠ɺ γϛϡϨʔλ͑ΔͳΒ͕͍͍ͦͬͪ
γϛϡϨʔλΫϥυʜʁ J04"OESPJEͷ࣮ػσόΠεΛΫϥυͰ ࣮ߦ͢ΔαʔϏε͍͔ͭ͘ΒΕ͍ͯΔ ͔͠͠γϛϡϨʔλΛΫϥυͰ࣮ߦ͢Δ αʔϏεΘ͔ͣʹ͋Δ͕͍ͮΒ͍ʜ
ݱঢ়ͷํ কདྷతʹγϛϡϨʔλͰಈ͔͍͕ͨ͠ ࠓ·࣮ͩػ͔͠ͳ͍ͷͰɺ Ҡߦίετͷগͳ͍ঢ়ଶΛอͪͭͭɺ ૣΊʹऔΓΈ͍ͨ
ͦ͜ͰEFWGBSN ࣮ػͱγϛϡϨʔλͷΓସָ͕͑Ͱɺ σόΠεΫϥυ্ͰΞϓϦͷىಈঢ়گΛ ཧ͢Δπʔϧ ·ͩະެ։͚ͩͲকདྷతʹ044༧ఆ
EFWGBSNͷհ
EFWGBSNͰͰ͖Δ͜ͱ w ࢦఆͨ͠σόΠεΫϥυ04ػछ ΞϓϦҾͰΞϓϦΛىಈ w ΞϓϦ͕Ϋϥογϡͨ͠ΒίϚϯυΛ ҟৗऴྃɺࢦఆ࣌ؒੜଘͨ͠Βਖ਼ৗऴྃ
͑ɺͦΕ͚ͩʜ
ཧ༝͕ʜ͋Γ·͢ʜ
EFWGBSNͷࢥ ࣮ػɾγϛϡϨʔλɾσόΠεΫϥυΛ Θͣɺಉ͡ΠϯλʔϑΣʔεͰ ىಈɾऴྃ͢Δ͜ͱͷΈʹઐ೦͢Δ ಛఆͷ݅Ͱ͔͠αϙʔτͰ͖ͳ͍ػೳ αϙʔτ͠ͳ͍ʢػೳͷੵू߹ओٛʣ
$ devfarm run-ios --os-version 12.0 \ --device 'apple iphone xs'
\ --instance-group 'example' \ --platform 'aws-device-farm' \ --ipa 'path/to/app.ipa' \ --args-json '["-ARG1", "HELLO_DEVFARM"]' \ --lifetime-sec 900 & platform status aws-device-farm launching J04ΞϓϦΛͭىಈ
$ devfarm status --instance-group 'example' platform device os state note
aws-device-farm apple iphone xs ios ACTIVE ىಈ͍ͯ͠ΔΞϓϦͷ֬ೝ
$ devfarm halt --instance-group 'example' platform status aws-device-farm halting ΞϓϦͷڧ੍ऴྃ
instance_groups: <group>: # for Android - platform: <platform> # required
android: <version> # required device: <decice> # required apk: <filepath> # required app_id: <app_id> # required intent_extras: [] # optional lifetime_sec: 900 # required $ devfarm run-all planfile.yml ෳΞϓϦͷҰׅىಈ
EFWGBSNͱ ࣮ػͱγϛϡϨʔλͷΓସָ͕͑Ͱɺ σόΠεΫϥυ্ͰΞϓϦͷىಈঢ়گΛ ཧ͢Δπʔϧ ·ͩະެ։͚ͩͲকདྷతʹ044༧ఆ
·ͱΊ w ϞόΠϧήʔϜʹޮతͰ ݱ࣮తͳςετΛೖΕ͍ͨʂ w ݱࡏͷπʔϧΫϥυͷঢ়گͰ ಈ͔ͤͯɺকདྷΛݟӽͨ͠ πʔϧΛ࡞Γ·ͨ͠ w 044ԽͰ͖ͨΒͥͻ͓ࢼ͠Λ