2

次のページがあります。

=========== mytestpage1.htm ===========

<p>This is my test page 1</p>
<input id="mysearch" type="image" onclick="return searchClick();" src="../../Img/arrow_large_down.gif" />
<span id="generatingResults" style="font-weight:bold;DISPLAY: none">Generating results...</span>
<script>
    function searchClick() {
        document.getElementById("generatingResults").style.display = 'block';
        location.href = 'mytestpage2.htm';
        return false;
    }
</script>

=========== mytestpage2.htm ===========

<p><b>This is my test page 2</b></p>

次のアクションを実行しています。

  1. 「mysearch ボタン」をクリックして mytestpage2.htm をロードする
  2. ブラウザの戻るボタンをクリックして、mytestpage1.htm に戻ります。
  3. 「Generating results...」という文字列が表示されることを確認します

Firefox 12.0 で手動でテストすると、文字列が表示されます。

ただし、Selenium を使用すると文字列が表示されません。Selenium の基本的なテスト手順は次のとおりです (ブラウザーは OpenQA.Selenium.Remote.RemoteWebDriver で、テストでは Firefox 12.0 を使用します)。

browser.FindElementById("mysearch").Click();
browser.Navigate().Back();
var canBeSeen = browser.FindElementById("generatingResults").GetCssValue("display") == "block";

canBeSeen は false に設定されています (.NET 4.0 でバージョン 2.33.0.0 の Selenium を使用しています)

関連すると思われるこれらのリンクを見つけました:

https://code.google.com/p/selenium/issues/detail?id=3611 https://code.google.com/p/selenium/issues/detail?id=2181

Seleniumを使用してブラウザの戻るボタンをシミュレートしようとすると、上記の問題が発生する理由を知っている人はいますか?

もしそうなら、canBeSeen が true に設定されるように修正するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1