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
GitHub ActionsでWebDriverどこまでやるの?
Search
Toda Hiroshi
October 16, 2019
Programming
1
590
GitHub ActionsでWebDriverどこまでやるの?
GitHub ActionsでWebDriverどこまでやるの? @ GitHub Actions Meetup Tokyo β 2019年10月16日
Toda Hiroshi
October 16, 2019
Tweet
Share
More Decks by Toda Hiroshi
See All by Toda Hiroshi
OpenAPI(Swagger)によるWebDriverの記述と、この星の上のさまざまな物への実験的なWebDriver実装
hiroshitoda
0
1.1k
Other Decks in Programming
See All in Programming
本編では話さない Zig の話
andpad
2
120
Memory API: Patterns, Use Cases, and Performance
josepaumard
2
200
sqlcを利用してsqlに型付けを
kamiyam
0
250
.NET Aspireのクラウド対応検証: Azureと他環境での実践
ymd65536
1
670
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
100
ML-прайсинг_на_Lamoda__вошли_и_вышли__приключение_на_20_минут__Слава_Цыганков.pdf
lamodatech
0
400
ACES Meet におけるリリース作業改善の取り組み
fukucheee
0
150
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
8
750
rtcamp 10 (vk-illuminati)
yumcyawiz
1
210
Програмиране с Rust, ФМИ, 2024
nikolads
0
120
もう実家に手頃な情シス娘は不要!Bedrockでもう一人の娘を作る
komakichi
2
150
/←このスケジュール表に立ち向かう フロントエンド開発戦略 / A front-end development strategy to tackle a single-slash schedule.
nrslib
1
430
Featured
See All Featured
It's Worth the Effort
3n
183
27k
Code Review Best Practice
trishagee
64
17k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
630
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
Rails Girls Zürich Keynote
gr2m
93
13k
Speed Design
sergeychernyshev
23
550
The Invisible Side of Design
smashingmag
297
50k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.8k
Writing Fast Ruby
sferik
626
60k
BBQ
matthewcrist
85
9.2k
Transcript
(JU)VC"DUJPOTͰ 8FC%SJWFSͲ͜·ͰΔͷʁ ݄ ށా
ࣗݾհ • ށా ʢͱͩ ͻΖ͠ʣ !IJSPTIJUPEB • ੜ·Ε ࡀ •
σΟʔϓϥʔχϯάͱ"QQJVNΛར༻ͨ͠ ςετࣗಈԽ4BB4ʮ.BHJD1PEʯӡӦʹɺ ͔Βͪ·ͪ·ɺ͔Βͦͦ͜͜ ࢀՃ͍ͯ͠·͢ɻ • ʹʮ4FMFOJVN࣮ફೖʯ ʹ ʮΤΩεύʔτ͕ڭ͑Δ4FMFOJVN࠷લઢʯ ڞஶ͠·ͨ͠ɻͥͻ͓ങ͍ٻΊ͍ͩ͘͞ʂ
˞.BHJD1PEͷ͝հ˞ • ʮ.BHJD1PEʯɺಋೖͷෑډ͕ߴ͘ͳΓ͕ͪͳ ωΠςΟϒΞϓϦͷࣗಈςετΛ ͔ΜͨΜʹ࢝ΊΒΕΔςετࢧԉαʔϏεͰ͢ɻ • 8FC%SJWFS"1*ʹ४ڌͨ͠ωΠςΟϒΞϓϦࣗಈૢ࡞πʔϧ ʮ"QQJVNʯΛར༻͍ͯ͠·͢ɻ • σΟʔϓϥʔχϯάΛ׆༻ͨ͠ΞϓϦ6*ͷࣗಈൃݟ
8FC(6*্Ͱͷςετ߲࡞ػೳΈ߹Θͤͯɺ ςετ߲දΛ࡞ΔΑ͏ͳ؆୯ͳૢ࡞Ͱ ࣗಈςετͷ͘͠ΈΛ࡞Ε·͢ɻ • ωΠςΟϒΞϓϦ։ൃͰΑ͘ΘΕΔ ଞͷαʔϏεͱͷ࿈ܞॆ࣮͖ͯ͠·ͨ͠ɻ • IUUQTNBHJDQPEDPN
ࠓ͢͜ͱ ͿͬͪΌ͚ͳΜͰͰ͖ͦ͏ͳ(JU)VC"DUJPOTɺ ࣮ࡍͲ͜·Ͱ͑Δ͔Λ 8FC%SJWFSઢʢಛʹ"QQJVNઢʣͰௐͨͷͰ ·ͱΊ͓ͯ͠͠·͢ɻ (JU)VC"DUJPOT͕ಈ͘ج൫ (JU)VC"DUJPOTͰ࠷ॳ͔Β͑ΔιϑτΣΞ
(JU)VC"DUJPOT্Ͱͷ"QQJVNͷ׆༻ͱ /FTUFE7JSUVBMJ[BUJPOͷน
(JU)VC"DUJPOT͕ಈ͘ج൫
(JU)VC"DUJPOT͕ಈ͘ج൫ • ϔϧϓΛಡΈ·͠ΐ͏ɻ • l(JU)VC"DUJPOTͷԾڥz IUUQTIFMQHJUIVCDPNKBBSUJDMFTWJSUVBMFOWJSPONFOUTGPSHJUIVCBDUJPOT • ށా͞ΜΔؾ͋ΔΜͰ͔͢ʁʁʁ
(JU)VC"DUJPOT͕ಈ͘ج൫ • l-JOVY͓Αͼ8JOEPXTͷ(JU)VC"DUJPOTԾڥɺ (JU)VC"DUJPOTSVOOFS͕Πϯετʔϧ͞Εͨ .JDSPTPGU"[VSFͷ4UBOEBSE@%4@WԾϚγϯ্ʹ ϗετ͞Ε͍ͯ·͢ɻz • W͡Όͳ͍ͷͰ/FTUFE7JSUVBMJ[BUJPOʹରԠ͍ͯ͠·ͤΜɻ • ͭ·Γɺ͜ͷڥ্ʹԾϚγϯ࡞Ε·ͤΜɻ
• lNBD04Ծڥͷϗετʹ.BD4UBEJVNΛ༻͍ͯ͠·͢ɻz • NBD04ͷ*BB4ͷதͰɺݱ࣌Ͱ͍ͪΜϚγͳͱ͜ΖͰ͢ɻ • .BD࣮ػΛିͯ͘͠Ε·͢ʢCBSFNFUBMͬͯ͜ͱͰ͢Ͷʣɻ • ͭ·Γɺ͜ͷڥ্ʹԾϚγϯΛ࡞Ε·͢ɻ
(JU)VC"DUJPOT͕ಈ͘ج൫ ϔϧϓʹࡌ͍ͬͯͳ͍ਂ۷Γใ • -JOVYɾ8JOEPXTڥͷϦιʔεׂΓͯ υΩϡϝϯτهࡌͷͱ͓Γ W$16ɺ(#ϝϞϦʔ Ͱ͢ɻ • NBD04ڥʁʁʁ ௐͯΈ·ͨ͠ʂ
• Ձ֨දʹ lDPSFT (#zͱ͋Δ͕ʜʜ • $16*OUFM9FPO&W!()[ DPSFUISFBE • ϝϞϦʔ(# • ͜Εͬͯچ.BD1SPͰʁʁʁ ←ͦΕΰϛശ
NBD04ڥ͓ಘ͔ʁ • ݱঢ়ɺ.BD4UBEJVN8FC͔Βਃ͠ࠐΉͱ .BD.JOJͷ݄୯Ґ՝ۚϓϥϯ͔͠બ·ͤΜɻ • .BD1SPΛΘͤͯΒ͑Δ͏͑ʹ୯Ґ՝ۚͷ (JU)VC"DUJPOT͓ಘͳͷͰʁ • ͨ·ͨ·ށా͕Ҿ͍ͨͷ͕.BD1SP͚͔ͩͬͨͩ͠Ε·ͤΜɻ •
ϕʔλظؒऴΘͬͨΒࠓޙͲ͏ͳΔͷ͔ͳɻɻɻ ←͜͏͍͏ͭʹϚϯτ͞ΕͯΔͷ͔ͳ……
(JU)VC"DUJPOTͰ ࠷ॳ͔Β͑ΔιϑτΣΞ
Ծڥ্ʹͱͱೖ͍ͬͯΔιϑτΣΞ • ϔϧϓΛಡΈ·͠ΐ͏ɻ • l(JU)VC"DUJPOTͷԾڥͰͷιϑτΣΞz IUUQTIFMQHJUIVCDPNKBBSUJDMFTTPGUXBSFJOWJSUVBMFOWJSPONFOUTGPS HJUIVCBDUJPOT • ށా͞ΜΔؾʢ
Ծڥ্ʹͱͱೖ͍ͬͯΔιϑτΣΞ "QQJVNઢ • Ͳͷڥʹ"OESPJE4%,͕ೖ͍ͬͯ·͢ɻ • NBD04Πϯελϯεʹ ෳόʔδϣϯͷ9DPEF͕Πϯετʔϧ͞Ε͍ͯͯ δϣϒ࣮ߦ࣌ͷΓସ͑༰қʹՄೳʹͳ͍ͬͯ·͢ɻ • YDWFSTJPOͱ͍͏ఆ൪πʔϧͰ࣮ݱ͞Ε͍ͯ·͢ɻ
• ݱ࣌Ͱ9DPEFϕʔλ൛͕ೖ͍ͬͯ·͢ɻ
Ծڥ্ʹͱͱೖ͍ͬͯΔιϑτΣΞ ͪΐͬͱҧ͏ઢ • Ͳͷڥʹ /&5DPSF4%,͕ೖ͍ͬͯͨΓɺ +%,͕ "[VM;VMV0QFO+%,ͩͬͨΓɺ ΄ΜͷΓͱ.JDSPTPGUͷϙϦγʔΛײͤ͡͞·͢ɻ • NBD04ڥʹ7JTVBM4UVEJPGPS.BDೖ͍ͬͯͯ
9BNBSJOͷϏϧυ͕ՄೳͳΑ͏Ͱ͢ɻ • ΩϟογϡࡁΈͷ%PDLFSίϯςφʔΠϝʔδ͕ ͍͔ͭ͘อ࣋͞Ε͍ͯ·͢ɻ ͜ͷΩϟογϡ͕ར͘δϣϒͳΒߴʹॲཧͰ͖ΔͰ ͠ΐ͏ɻ
(JU)VC"DUJPOT্Ͱͷ "QQJVNͷར༻ͱ /FTUFE7JSUVBMJ[BUJPOͷน
(JU)VC"DUJPOT্Ͱͷ"QQJVN • ࠓͷΠϕϯτʹ ʮ͜͏ͨ͠Β4FMFOJVN"QQJVNಈ͍ͨΑʯ ٧Ί߹ΘͤͰ࣋ͬͯདྷΕྑ͍͔ͳʙͱ ҆қʹߟ͑ͯͨΒ࣍ʑͱઌΛӽ͞Εͯ͠·ͬͨΞΞΞΞ • ݄ • (JU)VC"DUJPOTͰ
8JOEPXT*&ͱ .BD4BGBSJΛ TFMFOJVNXFCESJWFS Ͱಈ͔͢ IUUQTRJJUBDPNNJ[DIJJUFNTDEGCBGB • ݄ • (JUIVC "DUJPOT "QQJVNͰJ1IPOF4JNVMBUPSΛಈ͔͢ IUUQTRJJUBDPNUBLFZBYJUFNTDEB • ݄ • (JUIVC "DUJPOT "QQJVNͰ"OESPJE&NVMBUPSΛಈ͔͢ IUUQTRJJUBDPNUBLFZBYJUFNTCGCBBEE
"OESPJEͱNBD04 • "OESPJE4%, (JU)VC"DUJPOTͷͯ͢ͷڥʹೖͬͯ·͕͢ɺ "OESPJEΤϛϡϨʔλʔΛೖΕͯಈ͔ͤΔͷ ݱ࣌ͰNBD04ڥ͚ͩͰ͢ɻ • 8JOEPXT-JOVYڥ͕ /FTUFE7JSUVBMJ[BUJPOʹରԠ͍ͯ͠ͳ͍͔ΒͰ͢Ͷɻ •
݁Ռɺ J04γϛϡϨʔλʔ"OESPJEΤϛϡϨʔλʔಈ͘ ൺֱత҆ՁͳCBSFNFUBMڥͱͯ͠ɺ NBD04ڥͷଘࡏײ͕େ͖͘ͳ͍ͬͯ·͢ɻ
(JU)VC"DUJPOTͱ%PDLFS • (JU)VC"DUJPOT TFSWJDFT ͱ͔ VTFT ͱ͔Ͱ ެ։%PDLFSΠϝʔδΛར༻Ͱ͖Δ͡Όͳ͍Ͱ͔͢ɺ ͋ͷลΓ׆༻ͯ͠"QQJVNྑ͍ײ͡ʹͳΒͳ͍ͷʁʁ
8FC%SJWFSͱ%PDLFS • ͔ͨ͠ʹɺ 4FMFOJVNͳͲͷ8FC%SJWFSΫϥΠΞϯτΛར༻ͨ͠ 8FCϒϥβʔૢ࡞ɾςετͷࣗಈԽͰ %PDLFSͷར༻ͱͯ༗ޮͰ͢ɻ • ౾ࣝ4FMFOJVNެࣜͷ%PDLFSΠϝʔδ͔Β͋Γ·͢ɻ • $JSDMF$*ͷ
DJSDMFDJOPEFMBUFTUCSPXTFST ͳΜ͔ (JU)VC"DUJPOTͰ ΘΓͱؾܰʹ͑ΔΑͶɺ ͱ͍͏هࣄ͕Εͷ࣌Ͱެ։͞Ε͍ͯ·͢ɻ IUUQTRJJUBDPNPLJUBOJUFNTCBEDEB
"QQJVNͱ%PDLFS • ͦͷ͍Ͱɺ"QQJVNͰ%PDLFSͬͯ ྑ͍ײ͡ʹ͍ͨ͠ͳɺͱͳΔͷਓɺ͔͠͠ɻ • ʮ"OESPJEڥΛ%PDLFSίϯςφʔʹͨ͠ʯ ͱ͍͏ͷͷଟ͘ɺ͋͘·Ͱ "OESPJEͷެࣜΤϛϡϨʔλʔڥΛ %PDLFSίϯςφʔʹͨ͠ͷͰ͢ɻ /FTUFE7JSUVBMJ[BUJPOඇରԠͷ-JOVYԾڥͰ
ಈ͔͢͜ͱ͕Ͱ͖·ͤΜɻ೦ɻɻɻ • "QQJVNNBD04ڥΛ͍͍͖ͯ͠·͠ΐ͏ʂ
ʲࢀߟʳ"OESPJEΤϛϡϨʔλʔೖΓͷ%PDLFSίϯςφʔ • CVEUNPEPDLFSBOESPJE • ʹϝϧΧϦͰͷେنͳར༻ࣄྫ͕ެ։͞Ε·ͨ͠ɻ • IUUQTUFDINFSDBSJDPNFOUSZ • ίϯςφαΠζʙ(#͘Β͍ɺ (JU)VC"DUJPOT্Ͱ͘Β͍ͰQVMMͰ͖·͢ɻ
• "1*όʔδϣϯ͝ͱʹΠϝʔδ͕͋Γɺ࣮༻ੑ͕ߴ͍Ͱ͢ɻ • CJUSJTFJPEPDLFSBOESPJE • ΈΜͳେ͖#JUSJTFͰ࣮ࡍʹΘΕ͍ͯΔ"OESPJEίϯςφʔɻ • Ί΅͍͠"1*όʔδϣϯશ෦ೖΓʹ͍ͯ͠ΔͷͰΫιॏ͍ɺ ίϯςφαΠζʙ(#͘Β͍ɻ ΩϟογϡͰ͖ͳ͍ڥͰ࣮༻ʹ͑·ͤΜɻ
ʲࢀߟʳ"OESPJEΤϛϡϨʔλʔΛΘͳ͍ίϯςφʔ • BOCPY IUUQTBOCPYJP • "OESPJEΛ-JOVY্ͷίϯςφʔ Ћͱͯ͠ಈ͔͢͜ͱΛ ඪͱͨ͠ϓϩδΣΫτͰ͢ɻ • ίϯςφʔٕज़ʹ-9$Λ࠾༻͍ͯ͠·͢ɻ
• ݪཧ্ɺ/FTUFE7JSUVBMJ[BUJPOඇରԠͷԾϚγϯ্Ͱ ܰշʹಈ࡞͠·͢ɻ (JU)VC"DUJPOTͰ-JOVYΠϯελϯε্Ͱ͑Δ͔ʜʜʁ • ͷ"84SF*OWFOUͰ൸࿐͞Εͨ /%,ʹґଘͨ͠ΞϓϦΛ"Πϯελϯε্Ͱࣗಈૢ࡞͢ΔσϞͰ ج൫ͱͯ͠ΘΕ͍ͯͨΑ͏Ͱ͢ɻ • "QQJVN͔Βૢ࡞Ͱ͖·͕͢ෆ҆ఆɻɻɻ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ