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
tsuemura
January 29, 2020
Programming
0
2.7k
Selenium完全に理解した
完全に理解した人達の「Web技術」Talk #1
https://easy2.connpass.com/event/161840/
tsuemura
January 29, 2020
Tweet
Share
More Decks by tsuemura
See All by tsuemura
コンテキストとセマンティクスを意識してリーダブルなE2Eテストコードを書こう
tsuemura
12
27k
60分で学ぶE2Eテスト(実装編)
tsuemura
0
340
全部乗せフレームワーク CodeceptJS でE2Eテストを楽にしよう
tsuemura
7
4.9k
10年前に初めてVBAで業務自動化したときの思い出
tsuemura
1
14k
テストを自動化するのをやめ、自動テストを作ろう
tsuemura
68
31k
How can we improve the testability of applications?
tsuemura
0
910
結局おれたちはどのフレームワークを使えばいいのか
tsuemura
2
3.2k
QA・テストエンジニアのためのOSSコントリビュートハンズオン
tsuemura
0
430
WebアプリケーションE2Eテスト自動化3つの壁
tsuemura
1
2.6k
Other Decks in Programming
See All in Programming
Milestoner
bkuhlmann
1
410
Polars入門
daikikatsuragawa
1
180
Goのmultiple errorsについて (2024年4月版)
syumai
4
1.2k
Git Rebase
bkuhlmann
11
1.6k
雑に思考を整理する技術と効能
konifar
64
30k
Balkan Ruby 2024 — How and why to run SQLite on Rails in production
fractaledmind
0
100
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
390
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
130
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
910
SIMD Parallel Programming with the Vector API
josepaumard
0
230
Netty Chicago Java User Group 2024-04-17
sullis
0
210
Code Reviews
bkuhlmann
4
900
Featured
See All Featured
How to Ace a Technical Interview
jacobian
273
22k
Unsuck your backbone
ammeep
663
57k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
15
1.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
66
14k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Clear Off the Table
cherdarchuk
85
310k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
43k
Optimizing for Happiness
mojombo
370
69k
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!