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
20200730_Selenium+Capybaraで不安定なテストをPuppeteerで補強...
Search
Yusuke Iwaki
July 30, 2020
Programming
3.4k
0
Share
20200730_Selenium+Capybaraで不安定なテストをPuppeteerで補強してみる
Yusuke Iwaki
July 30, 2020
More Decks by Yusuke Iwaki
See All by Yusuke Iwaki
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
14
6.9k
あなたのWebサービスはAIに自動テストしてもらえる?アクセシビリティツリーで読み解く、AIの『視点』
yusukeiwaki
1
8.6k
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
12
8.6k
Capybara+生成AIでどこまで本当に自然言語のテストを書けるか?
yusukeiwaki
7
5.6k
ChatGPTを個々人が使っていた組織から チームチャットにボットを棲まわせて みんなが活用する組織になるまでの変遷 ぜんぶ紹介しちゃいます
yusukeiwaki
0
3.3k
E2E testing on Rails 2023
yusukeiwaki
4
3.4k
Fukuoka.rb_0x100_LT.pdf
yusukeiwaki
0
450
Railsの システムテスト解剖学
yusukeiwaki
8
7.8k
RailsのSystem specから 🎭Playwrightを使う
yusukeiwaki
2
15k
Other Decks in Programming
See All in Programming
Coding as Prompting Since 2025
ragingwind
0
840
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.5k
JOAI2026 1st solution - heron0519 -
heron0519
0
140
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
[RubyKaigi 2026] Require Hooks
palkan
1
220
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
850
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
150
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
220
iOS機能開発のAI環境と起きた変化
ryunakayama
0
190
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
280
AIエージェントで業務改善してみた
taku271
0
540
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
3
950
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
810
Paper Plane (Part 1)
katiecoart
PRO
0
6.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Exploring anti-patterns in Rails
aemeredith
3
320
Evolving SEO for Evolving Search Engines
ryanjones
0
180
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
200
RailsConf 2023
tenderlove
30
1.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
170
Transcript
!:VTVLF*XBLJ
"CPVUNF w "OESPJE04վ ˠεϚϗΞϓϦΤϯδχΞ ɹˠαʔόʔαΠυΤϯδχΞ w 2"ͷܦݧͳ͠ 2
ˡ͍·͜͜
ࠓͷ͓ w &&ςετɺ4FMFOJVN$BQZCBSBศརɻ w ͰɺΑ͘λΠϜΞτΤϥʔʹͳΔɻ w Ͱɺ3VCZ͔ͩΒ1VQQFUFFS +4 ʹΓ͑Δͷ͠ΜͲ͍ 3
ˠQVQQFUFFSSVCZΛ࡞ͬͯɺڞଘͤͯ͞Έͨ
$BQZCBSB 34QFD 4
None
None
None
None
ࠔͬͨʜ w ͱ͖Ͳ͖ɺͳ͔ͥ%0.ཁૉΛ௫ΜͰ͘Εͳ͍ w ʮը໘ભҠʯʮ%0.มߋݕʯَ͕ w ͰɺϦτϥΠॲཧΛຖॻ͖ͨ͘ͳ͍ʜʂ 9
None
1VQQFUFFS w XBJU'PS/BWJHBUJPO w ը໘ભҠ͢Δ·Ͱͭ w ඵܦͬͯભҠ͠ͳ͚Ε/BWJHBUJPO&SSPS w XBJU'PS4FMFDUPS w
ಛఆͷ%0.ཁૉ͕ݱΕΔPSফ͑Δ·Ͱͭ w ඵͬͯμϝͳΒUJNFPVUFSSPS 11
*OTJEF1VQQFUFFS w XBJU'PS/BWJHBUJPO w -JGFDZDMF&WFOUϕʔεͰը໘ભҠͷݕ w TSDDPNNPO'SBNF.BOBHFSUT w XBJU'PS4FMFDUPS w
.VUBUJPO0CTFSWFSϕʔεͰ%0.ͷมߋݕ w TSDDPNNPO%0.8PSMEUT 12 JOJUͱ͔%0.$POUFOU-PBEFEͱ͔
ᘳ͡Όͳ͍͔ʂ
ͪΐͬͱ·ͬͯʁ
ݴޠͷน w $BQZCBSB3VCZ w 1VQQFUFFS+BWB4DSJQU 15
+FTU 1VQQFUFFSʹҠߦ͢Ε͍͍ʁ w ॾൠͷࣄʹΑΓ ฒྻϥϯμϜࢼݧΛ͞ΕΔͱςετ͕௨Βͳ͍ w ࣦഊ࣌ͷεΫϦʔϯγϣοτͱΕͳ͍ w TNPPUIDPEFKFTUQVQQFUFFS w
Ϟνϕʔγϣϯෆʜ w $BQZCBSBΛશ൱ఆ͍ͨ͠Θ͚Ͱͳ͍ w ςετέʔε͕ͩͱɺҠߦͦͷͷ͕͠ΜͲ͍ 16
ͦ͜Ͱʜ Puppeteer#connect
None
Έଟ͔ͬͨैདྷͷεΫϦϓτ
͜Μͳ;͏ʹॻ͚Δͱ࠷ߴʁ ैདྷͷॲཧͦͷ··
ݴޠͷนʜ w $BQZCBSB3VCZ w 1VQQFUFFS+BWB4DSJQU 21 page = browser.pages.first page.waitForSelector('#login_form')
None
None
SVCZDEQDVQSJUF ɾ4FMFOJVNͰͳ͘GFSSVNΛϕʔεʹͨ͠$BQZCBSBυϥΠό SVCZDEQGFSSVN ɾ3VCZͰ1VQQFUFFSΛ·ͶͨϥΠϒϥϦ ɾXBJU'PS4FMFDUPS ݱࡏ ະ࣮ ˠ4FMFOJVN $BQZCBSBͷิڧʹͳΒͳ͍ɻ 25
ํ͕ͳ͍ͷͰɺࣗͰpuppeteer-rubyΛ࡞ͬͨɻ
None
None
None
%&.0
QVQQFUFFSSVCZ w 4FMFOJVN $BQZCBSBͱڞଘՄೳ w XBJU@GPS@OBWJHBUJPO XBJU@GPS@TFMFDUPS͑Δ 31 ˠطଘςετͷऑ͍෦ΛิڧͰ͖Δʜ
None
/05QSPEVDUJPOSFBEZ w ࠔ͍ͬͯΔਓ͕͍ͨΒͬͯΈ͍ͯͩ͘͞ w ͥͻϑΟʔυόοΫ͍ͩ͘͞ 33 ˠ࣮༻ʹ͑͏Δঢ়ଶʹͳͬͨΒόʔδϣϯʹ͠·͢
αϯϓϧू IUUQTHJUIVCDPN:VTVLF*XBLJQVQQFUFFSSVCZFYBNQMFT ୯७ͳεΫϦʔϯγϣοτऔಘ IPUFMUFTUQMBOTQIFSFͷ༧ɾεΫϦʔϯγϣοτ
͋Γ͕ͱ͏͍͟͝·ͨ͠