2

Python で SeleniumRC のテストを書いています。テストは、Ubuntu の Firefox インスタンスに対して実行されます。BasicAuth を使用する Web アプリケーションがあります。

テストクラスのセットアップで、Web アプリケーションにページ (foo.html) をセットアップしました。

このクラスには、このページに移動し、次のような URL を使用して自分自身を認証する多くのテストがあります。

self.selenium.open('http://user:pass@%s:%s/foo.html' % (host, port))

別のページ (bar.html) を作成し、そのページを開く 1 つのテスト (BAR と呼びましょう) があります。

self.selenium.open('http://user:pass@%s:%s/bar.html' % (host, port))

そして、ここに私の問題の中心があります:

  • この 1 つのテスト (BAR) だけを実行すると、ログインが機能します。
  • このテストの前に別のテストを実行して BasicAuth を実行し、別の URL (私の場合は一般的な foo.html など) に移動すると、BasicAuth 画面が表示されます。

bar.html を開くための呼び出しを変更すると、次のようになります。

self.selenium.open('bar.html')
  • この 1 つのテスト (BAR) だけを実行すると、ログインに失敗します (BasicAuth 画面が表示されます)
  • このテストの前に BasicAuth を実行して別の URL に移動する別のテストを実行すると、その URL に正常に移動できます。

したがって、問題は基本的に次のとおりです。BAR テストはほとんどの場合失敗するため、常にBasicAuth を実行できるとは限りません。BasicAuth を実行する別のテストの後に来る BAR テストを期待できないため、BasicAuth を実行しないことも選択肢ではありません。

この問題は、SeleniumRC docsで説明されている問題のように見えますが、この場合、この再認証でエラーが発生する理由がわかりません...

4

1 に答える 1