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
670
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.3k
Other Decks in Programming
See All in Programming
SourceGeneratorのススメ
htkym
0
190
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
Oxlintはいいぞ
yug1224
5
1.3k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
550
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.3k
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
690
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
Fluid Templating in TYPO3 14
s2b
0
130
CSC307 Lecture 06
javiergs
PRO
0
680
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
270
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
Embracing the Ebb and Flow
colly
88
5k
Are puppies a ranking factor?
jonoalderson
1
2.7k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
51
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
200
Scaling GitHub
holman
464
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
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͔Βૢ࡞Ͱ͖·͕͢ෆ҆ఆɻɻɻ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ