rspec を使用してブラウザ自動化コードをテストする方法
概要
私は、データの取得やフォームの入力などに多くのブラウザ自動化を必要とするプロジェクトに取り組んでいます。これまでに capybara と Selenium を使用して Web サイトの自動テストを行ったことはありますが、capybara と Selenium を実際に使用したことはありません。アプリケーション (現在テストする必要があります)。
「ブラウザ自動化コードをテストする方法」を検索すると、ブラウザ自動化を使用してコードをテストする方法に関する結果が返されるため、Google はほとんど価値がありません (ほとんどの人がブラウザ自動化を使用する目的はこれだと思います)。
誰かがこのようなことをしたことがありますか?任意のヒント?提案はありますか?
解決策
テストを行うべきかどうかについては、激しく議論される可能性があります。ただし、メタ レベルでは、他の形式のテストと同じようにアプローチするだけです。
Web スクレイピング アプリケーションや、ある種の Web ベースの「データ フェッチャー」をテストしようとしている場合 (API に基づいているか、ページを埋めたりスクレイピングしているかどうかは関係ありません)、それは、他のアプリケーションが必要とするのと同じ種類の単体テストとシステム テスト。
本当に、他に言うことはあまりありません。特定のページをスクレイピングする場合、アプリケーションは特定の変数を設定する必要があります。その値は正しいのでしょうか?それが実際に何を意味するにせよ、それは正しく「フォームに入力」されていますか? PDF の場合、生成された PDF は予想される PDF、または少なくともその関連セクションと一致しますか?
テストはテストです、テストはテストです。コードがスクレイパーまたはデータ アグリゲーターである場合、他の種類のアプリケーションと根本的には変わりません。ユニットまたはシステムの結果について、既知の良好な結果、既知の不良品、および未定義の結果や動作をテストしたい場合もあります。