2021.03.13_pyhack
https://gyazo.com/a5ccaf8365e3faf5f955d9146b4b6382
Seleniumの状況をpyhack20210313の時間で少し調べてみました。
あわせて「エキスパートが教えるSELENIUM最前線」の本も放置状態だったので、ざっくり読んでみました。
---
エキスパートが教えるSELENIUM最前線の要点
https://www.amazon.co.jp/エキスパートが教えるSelenium最前線-戸田-広-ebook/dp/B07CWMPR15
selenium4はW3C規格準拠のwebdriverベースになる
各言語でseleniumのwebdriverAPIのラッパーがある
Java/JVM互換言語
Ruby
Python
Javascript
PHP
Selenium-Server(docker)とそのgrid環境(zalenium)
SPAでのE2Eテスト自動化
非同期リクエストの結果待ちや判定の方法
ページ遷移がない場合の画面描画完了判定の方法
---
まずは、本をざっくり読みましたので、本家のページで最新情報をみてみます。
https://www.selenium.dev/
https://www.selenium.dev/documentation/ja/
対応ブラウザ(各ブラウザの操作用driver): https://www.selenium.dev/documentation/ja/getting_started_with_webdriver/browsers/
各ブラウザのバージョンごとの以下driverが存在します。
最新版だけをテストするなら数が絞れますが、過去バージョンまで含めてテストするとなると気が遠くなりますね。
Google Chrome Driver
Microsoft Edge Driver
Mozilla Gecko Driver
Opera Chromium Driver
Apple Safari Driver
selenium-server(standalone)
selenium-serverがwebdriverを経由したブラウザ操作APIを提供してくれる。
Versionはまだ3系がスタンダード。Version4はW3C規格のwebdriverAPIを使う仕様になるはずだが、まだbeta版での提供のようだ。
webDriver操作のAPIの各言語binding
色々ある。単にwebDriver操作のAPIラッパーのライブラリのものから、selenium-serverみたいな機能をもつものまであり、分類は難しい。サンプルがドキュメント化されているのでそれが入門。
https://www.selenium.dev/downloads/
https://www.selenium.dev/documentation/ja/selenium_installation/installing_selenium_libraries/
その他の言語のものもある。
https://www.selenium.dev/ecosystem/
ただ、いくつかドキュメントが散在していて、どれがスマートで簡単な入り口なのかは要検討。
(テストフレームワークなのか単なるドライバーだけなのか。。。)
Selenium (Go)
hs-webdriver (Haskel)
wd (JavaScript)
Selenium-Remote-Driver (Perl)
php-webdriver (PHP)
Capybara (Ruby)
CodeceptJS (JavaScript)
FluentLenium (Java)
Helium (Python)
Nerodia (Python)
QAF (Java)
Selenide (Java)
SeleniumBase (Python)
Watir (Ruby)
WebDriverIO (JavaScript)