LoginSignup
3

PyCon JP 2022 day1 Playwrightを使って簡単に自動テストしてみる

Posted at

現地参加したPyCon JP 2022のセッションのまとめ5本目です。

今回は、Day1の「Playwrightを使って簡単に自動テストしてみる」です。

動画

スライド

  • 公開なし

スピーカー

  • Takahiro Hama
    • PyConKyushu実行委員会(運営代表)

内容まとめ

  • ブラウザを操作するライブラリPlaywrightについて

Playwrightとは

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は初見だったのでまた使ってみたいと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3