現地参加したPyCon JP 2022のセッションのまとめ5本目です。
今回は、Day1の「Playwrightを使って簡単に自動テストしてみる」です。
動画
スライド
- 公開なし
スピーカー
- Takahiro Hama
- PyConKyushu実行委員会(運営代表)
内容まとめ
- ブラウザを操作するライブラリPlaywrightについて
Playwrightとは
- Microsoft社のOSS
- 多言語対応
- TypeScript、Python、Java、C#
Playwrightの良いところ
Seleniumよりも高速に動く
- Selenium
- WebDriverに対してHTTP Requestを投げるため、低速
- Playwright
- WebSocketでPlaywrightに接続して操作をリクエストするため、高速
CodeGenerator
- Selenium
- DriverをDLしないと動作しない
- Playwright
- コマンド実行でCodeGeneratorが起動
- ブラウザを操作してコードが生成できる
- 生成したコードのデバッグも実行可能
自動待機機能
- Selenium
- 待機を明示的に記載する、暗黙的に設定する必要がある
- Playwright
- アクション実行前に自動待機する仕組みがあるため、設定不要
iFrameの自動切り替え
- Selenium
- iFrame内の要素へのアクセスは明示的な切替が必要
- Playwright
- iFrame内の要素を切り替えず指定できる
レポーティング機能
- Selenium・Playwrightともに、レポーティング機能はない
- Pythonのフレームワークやライブラリを使うことで、補完できる
Robot Framework
- 可読性の高い独自構文
- Pythonで独自メソッドの追加が可能
- Playwrightのライブラリがある
allure Report
- 多言語からの接続でレポート出力
- pytest用のライブラリ
allure-pytest
がある
pylenium.io
- seleniumのラッパーライブラリ
- Cypressに似てる構文
- pytestでの利用を前提
まとめ
- Microsoft製なので利便性・継続性が○
- seleniumよりも高速
- 多言語対応してるので、Python以外でも導入可能
- ただ最近できたばっかりなので、日本語の資料はseleniumに劣る
感想
- PlaywrightとSeleniumの比較がメインのセッションでした。
- SeleniumはE2Eテストを導入する際に使ったことがあるのですが、Playwrightは初見だったのでまた使ってみたいと思います。