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
0
3.2k
20200730_Selenium+Capybaraで不安定なテストをPuppeteerで補強してみる
Yusuke Iwaki
July 30, 2020
Tweet
Share
More Decks by Yusuke Iwaki
See All by Yusuke Iwaki
あなたのWebサービスはAIに自動テストしてもらえる?アクセシビリティツリーで読み解く、AIの『視点』
yusukeiwaki
1
3.5k
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
12
7.1k
Capybara+生成AIでどこまで本当に自然言語のテストを書けるか?
yusukeiwaki
7
4.7k
ChatGPTを個々人が使っていた組織から チームチャットにボットを棲まわせて みんなが活用する組織になるまでの変遷 ぜんぶ紹介しちゃいます
yusukeiwaki
0
2.9k
E2E testing on Rails 2023
yusukeiwaki
4
3.3k
Fukuoka.rb_0x100_LT.pdf
yusukeiwaki
0
400
Railsの システムテスト解剖学
yusukeiwaki
8
7.3k
RailsのSystem specから 🎭Playwrightを使う
yusukeiwaki
2
14k
puppeteer-ruby: Ruby/Railsのためのブラウザオートメーションツール
yusukeiwaki
0
1.7k
Other Decks in Programming
See All in Programming
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
670
Web技術を最大限活用してRAW画像を現像する / Developing RAW Images on the Web
ssssota
2
1.1k
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
880
iOSDC.pdf
chronos2500
2
650
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.5k
Build your own WebP codec in Swift
kishikawakatsumi
2
890
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
1
430
Advance Your Career with Open Source
ivargrimstad
0
270
クラシルを支える技術と組織
rakutek
0
190
AccessorySetupKitで実現するシームレスなペアリング体験 / Seamless pairing with AccessorySetupKit
nekowen
0
210
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
340
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
220
Featured
See All Featured
Thoughts on Productivity
jonyablonski
70
4.9k
Practical Orchestrator
shlominoach
190
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Become a Pro
speakerdeck
PRO
29
5.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
For a Future-Friendly Web
brad_frost
180
9.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Scaling GitHub
holman
463
140k
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ͷ༧ɾεΫϦʔϯγϣοτ
͋Γ͕ͱ͏͍͟͝·ͨ͠