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
Selenium完全に理解した
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tsuemura
January 29, 2020
Programming
3.5k
0
Share
Selenium完全に理解した
完全に理解した人達の「Web技術」Talk #1
https://easy2.connpass.com/event/161840/
tsuemura
January 29, 2020
More Decks by tsuemura
See All by tsuemura
Breaking your system
tsuemura
0
1.2k
自分の軸足を見つけろ
tsuemura
3
1.7k
事業継続を支える自動テストの考え方
tsuemura
0
1.6k
テスト自動化ことはじめ(202412_オープンロジ版) / Enter the testing automation (2024 Dec, for OPENLOGI)
tsuemura
0
1.7k
E2Eテストのシナリオと抽象化の粒度の話.pdf
tsuemura
6
1.3k
テスト自動化ことはじめ
tsuemura
3
630
ようこそ、ソフトウェアテストの世界へ!
tsuemura
1
170
リーダブルなE2Eテストコードのための3つのC
tsuemura
7
1.2k
コンテキストとセマンティクスを意識してリーダブルなE2Eテストコードを書こう
tsuemura
12
30k
Other Decks in Programming
See All in Programming
CSC307 Lecture 17
javiergs
PRO
0
310
New "Type" system on PicoRuby
pocke
1
430
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
5.2k
OSもどきOS
arkw
0
400
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
Lessons from Spec-Driven Development
simas
PRO
0
120
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.3k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
関係性から理解する"同一性"の型用語たち
pvcresin
2
630
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
550
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
420
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
210
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
5.6k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Building Applications with DynamoDB
mza
96
7.1k
Abbi's Birthday
coloredviolet
2
7.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
200
74k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
Un-Boring Meetings
codingconduct
0
300
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Transcript
Selenium完全に理解した Takuya Suemura @ Autify Inc.
⾃⼰紹介 末村 拓也(Takuya Suemura) QA / テスト⾃動化エンジニア というテスト⾃動化プラットフォームを作る会社で働いています
https://autify.com/ja/
テストしてる? https://martinfowler.com/bliki/TestPyramid.html
今⽇話すこと Webのテストによく使われる Selenium という技術の話
Seleniumとは すごい昔からあるブラウザ操作⾃動化フレームワーク 様々なブラウザを単⼀のAPIで操作できる 複数のマシンでE2Eテストを並列実⾏することができる いくつかの技術の複合体 Selenium WebDriver Selenium Grid Selenium
IDE
使う サーバを⽴てる必要があります Nodeなら selenium-standalone を使うと楽 $ npm install -g selenium-standalone
$ selenium-standalone install $ selenium-standalone start http://localhost:4444/wd/hub にサーバが⽴ちます
使う Selenium⾃体はブラウザの操作を抽象化しているだけなので、 実際にテストコードを書くときは 他のテストフレームワークを使うのが⼀般的です 例: Selenide(Java) Geb(Groovy) Capybara(Ruby) RobotFramework(Python) WebdriverIO(Node)
CodeceptJS(Node)
他のフレームワークと何が違うの? Seleniumはユーザーが実際に⾏う操作を⾃動化するところに重点を置いていて、それゆえにか ゆいところに⼿が届かないことがある 例えばCookieやGeolocationを編集できない ブラウザ上で任意のJavaScriptを実⾏できるのでそれで解決することもあるが、HTTPヘッダ の追加などは出来ない Seleniumは並列実⾏を強⼒にサポートしている ZaleniumやSelenoidのようなコンテナを使った並列実⾏をするためのサードパーティツールも 存在する なんやかんや実機のテストはSeleniumが強い
IEとか……
似たようなツールたち Puppeteer Cypress TestCafe PlayWright <- NEW! などなど
Enjoy Testing!