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
3k
20200730_Selenium+Capybaraで不安定なテストをPuppeteerで補強してみる
Yusuke Iwaki
July 30, 2020
Tweet
Share
More Decks by Yusuke Iwaki
See All by Yusuke Iwaki
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
Capybara+生成AIでどこまで本当に自然言語のテストを書けるか?
yusukeiwaki
7
3k
ChatGPTを個々人が使っていた組織から チームチャットにボットを棲まわせて みんなが活用する組織になるまでの変遷 ぜんぶ紹介しちゃいます
yusukeiwaki
0
2.5k
E2E testing on Rails 2023
yusukeiwaki
4
3.1k
Fukuoka.rb_0x100_LT.pdf
yusukeiwaki
0
360
Railsの システムテスト解剖学
yusukeiwaki
7
6.8k
RailsのSystem specから 🎭Playwrightを使う
yusukeiwaki
2
12k
puppeteer-ruby: Ruby/Railsのためのブラウザオートメーションツール
yusukeiwaki
0
1.5k
Other Decks in Programming
See All in Programming
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.3k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
もう僕は OpenAPI を書きたくない
sgash708
5
1.6k
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
780
Spring gRPC について / About Spring gRPC
mackey0225
0
220
color-scheme: light dark; を完全に理解する
uhyo
3
290
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
150
Unity Android XR入門
sakutama_11
0
160
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
700
Ruby on cygwin 2025-02
fd0
0
140
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
39k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
Side Projects
sachag
452
42k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
BBQ
matthewcrist
87
9.5k
Why Our Code Smells
bkeepers
PRO
336
57k
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ͷ༧ɾεΫϦʔϯγϣοτ
͋Γ͕ͱ͏͍͟͝·ͨ͠