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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Toda Hiroshi
October 16, 2019
Programming
670
1
Share
GitHub ActionsでWebDriverどこまでやるの?
GitHub ActionsでWebDriverどこまでやるの? @ GitHub Actions Meetup Tokyo β 2019年10月16日
Toda Hiroshi
October 16, 2019
More Decks by Toda Hiroshi
See All by Toda Hiroshi
OpenAPI(Swagger)によるWebDriverの記述と、この星の上のさまざまな物への実験的なWebDriver実装
hiroshitoda
0
1.3k
Other Decks in Programming
See All in Programming
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
100
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
750
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
460
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
180
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.2k
How to stabilize UI tests using XCTest
akkeylab
0
150
20260320登壇資料
pharct
0
140
KagglerがMixSeekを触ってみた
morim
0
360
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.2k
AI活用のコスパを最大化する方法
ochtum
0
360
飯MCP
yusukebe
0
440
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
3
2.7k
Featured
See All Featured
Fireside Chat
paigeccino
42
3.9k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
sira's awesome portfolio website redesign presentation
elsirapls
0
200
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Amusing Abliteration
ianozsvald
0
150
Agile that works and the tools we love
rasmusluckow
331
21k
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͔Βૢ࡞Ͱ͖·͕͢ෆ҆ఆɻɻɻ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ