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.8k
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
350
全部乗せフレームワーク CodeceptJS でE2Eテストを楽にしよう
tsuemura
7
5k
10年前に初めてVBAで業務自動化したときの思い出
tsuemura
1
14k
テストを自動化するのをやめ、自動テストを作ろう
tsuemura
69
31k
How can we improve the testability of applications?
tsuemura
0
930
結局おれたちはどのフレームワークを使えばいいのか
tsuemura
2
3.3k
QA・テストエンジニアのためのOSSコントリビュートハンズオン
tsuemura
0
440
WebアプリケーションE2Eテスト自動化3つの壁
tsuemura
1
2.7k
Other Decks in Programming
See All in Programming
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
Mastering Developer Experience: A Roadmap for Success 【開発生産性Conference 2024】
findyinc
1
380
Advanced App Shrinking Techniques
cbeyls
2
150
Product Management LT会_クアンド新家
shinshin
0
210
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
CSC307 Lecture 13
javiergs
PRO
0
150
AHC035解説
terryu16
0
710
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
370
実用的かつリーズナブルな 「Azure × Gemini × LINE」~キャラクターBot 実装ライブデモ~
tomodo_ysys
1
170
CSC307 Lecture 09
javiergs
PRO
1
500
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
Featured
See All Featured
The Invisible Side of Design
smashingmag
294
50k
4 Signs Your Business is Dying
shpigford
178
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Automating Front-end Workflow
addyosmani
1362
200k
Building an army of robots
kneath
301
42k
Designing the Hi-DPI Web
ddemaree
276
34k
Statistics for Hackers
jakevdp
792
220k
The Language of Interfaces
destraynor
151
23k
Adopting Sorbet at Scale
ufuk
71
8.8k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Designing Experiences People Love
moore
136
23k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
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!