5

テストを並行して実行するために、TestNG で Selenium Grid を使用しています。ユーザーがログインする必要がある特定のテストがあるため、テスト用に構成されたユーザー アカウントがあります。

セッションが中断されないように、テスト ユーザーとしてログインすることを含むすべてのテストが別の仮想マシンで実行されるように注意しましたが、定期的に失敗するテストを調査した結果、これでは不十分であることが判明しました。したがって、次のいずれかが必要です。

  • テストごとに新しいユーザーを設定します (これが理想的なソリューションかもしれないことは理解していますが、構成/実行には時間がかかります。

  • 複数のテスト ユーザー アカウントを用意し、一度に 1 つだけ使用するようにします。

テストを実行しているマシンのホストを特定できれば、それに応じてテスト アカウントを設定できます。これを行う方法はありますか、または私が考えていない別の解決策はありますか?

4

3 に答える 3

1

「私は誰か」のページを表示することで、リモコンを識別する問題を解決しました。リモート webdriver (または Selenium) ファクトリ内で、そのページにアクセスし、セッションを保持するために使用するクラスに保存して、ログに記録します。このページでは、ホスト名、IP、ブラウザの種類、およびバージョンが報告されます。

于 2011-12-19T19:56:43.863 に答える
0

純粋にテスト用にいくつかの一意のユーザー アカウントを設定し、すべて番号で終わるようにして問題を解決しました (例: selenium.test1)。これは、Selenium を使用して 1 回限りのタスクとして簡単に自動化できました。

この番号をコードに保存し、テストでログインが必要になるたびに番号を増やしてユーザー名を作成します。

テストが終了したら、これらのアカウントを「解放」して再利用することも検討しましたが、テスト用に十分な数のテスト アカウントを用意しておく方が簡単だと判断しました。

于 2009-09-24T10:34:13.313 に答える