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
330
全部乗せフレームワーク 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
420
WebアプリケーションE2Eテスト自動化3つの壁
tsuemura
1
2.6k
Other Decks in Programming
See All in Programming
Snowflakeで眠ったデータを起こそう!
estie
0
120
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
120
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
260
VS Code をプロダクトにどう取り込むか
onomax
1
360
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
320
Milestoner
bkuhlmann
1
410
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
2 週間で Twitter Bot を作ってみた
contour_gara
0
360
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
270
新宿ダンジョンを可視化してみた
satoshi7190
2
250
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Building Adaptive Systems
keathley
31
1.9k
Why Our Code Smells
bkeepers
PRO
331
56k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Fireside Chat
paigeccino
21
2.6k
Writing Fast Ruby
sferik
621
60k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Agile that works and the tools we love
rasmusluckow
325
20k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
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!