44 ポイント 投稿者 xguru 2022-11-14 | 4件のコメント | WhatsAppで共有
  • Web自動化/テストでは、Seleniumが事実上の標準だった
    • 導入しやすく、ほぼすべてのプログラミング言語をサポートしている
    • 十分ではあるが、まさにそこまでという感じ
    • 最新のJavaScriptフレームワークのサイトでは、うまく動かないことがある(Angular、React など)
      → まったく動かないという意味ではなく、うまく機能しないことがあるということ
    • ドキュメントは充実していると言われるが、実際には少しでも主要なパスから外れたことをしようとすると、例を見つけにくい
  • Chai、Mocha、Cypressのようなものを使おうとしたが、設定が完全に異なり、Python開発者には簡単ではない
  • Seleniumの代替は数十種類作られたが、その大半は数年で消えていった

Enter Playwright

  • 素晴らしく、しかもMicrosoftが作っているのが重要。長くサポートされるはず
  • Playwrightのキラーフィーチャーは「テスト自動生成」
    • ブラウザを開いて手順どおりに操作すると、それを記録してPythonスクリプトにしてくれる
    • SeleniumでXPathのようなものを探す手間を減らしてくれる
    • こうして保存された手順は、ほとんど修正なしですぐに実行できる
  • もう1つの利点は、実行過程を動画として保存して確認できること
  • 唯一の欠点は、まだ新しいこと。バグも多く、ドキュメントもあまり良くない
  • それでも全体的に見れば、すべての新しいプロジェクトで私はPlaywrightを選ぶと思う

4件のコメント

 
yangeok 2022-11-21

puppeteerを使っていたところから完全にPlaywrightへのオンボーディングに成功した立場としては、Playwrightのコード生成機能だけでも移行する価値は大きいと思います。

 
joone 2022-11-15

Puppeteerばかり長く使ってきて、しかもNodeしか使わない立場からすると、Playwrightへ移行するのはなかなか簡単ではないですね。

 
kunggom 2022-11-15

既存プロジェクトを移行することから考えるのではなく、まずは新規プロジェクトを始める際に Playwright を新たに導入することを積極的に検討してみてはどうでしょうか。あるいは、トイプロジェクトを始めてみるのもよいと思います。

 
kbumsik 2022-11-14

Playwright は言語間(JS、Python)で API の一貫性があり、よりすっきりしている気がします。
特に Python の場合は async のサポートがとても充実していますね。