0

私は現在、IE8、9、および 10 を Selenium RC で適切に自動化するのに少し悪夢を抱いています。問題は、link=whatever タイプのものを見つけることができないように見えることです。テストランナーで「Element link=Live Dead Assay not found」というエラーが表示されます。次の行で失敗します。

try { if (selenium.isElementPresent("link=Live Dead Assay"))

問題は、私たちがテストした他のすべてのブラウザー (Firefox、Chrome、および Safari) がすべて問題なく動作することです。問題のあるIEのみ。

以下は、使用するスクリプトです (これは、Selenium IDE からエクスポートして作成したものです)。

皆さんにお知らせするために、selenium.isElementPresent 行の前に一時停止を配置しようとしましたが、これは機能しません。また、テスト ランナーの速度を最も遅い速度まで下げようとしましたが、やはり成功しませんでした。

どんな助けでも大歓迎です。ありがとうございました

クリス

    @Test
public void clickLink() throws Exception {
    // Open nav and expand Screens
    for (int second = 0;; second++) {
        if (second >= 60) fail("timeout");
        try { if (selenium.isElementPresent("css=#browse_screens_folder_52 > ins.jstree-icon")) break; } catch (Exception e) {}
        Thread.sleep(1000);
    }

    selenium.click("css=#browse_screens_folder_52 > ins.jstree-icon");
    // Open small image (Live Dead Assay)
    for (int second = 0;; second++) {
        if (second >= 60) fail("timeout");
        try { if (selenium.isElementPresent("css=#browse_screen_568 > ins.jstree-icon")) break; } catch (Exception e) {}
        Thread.sleep(1000);
    }

    selenium.click("css=#browse_screen_568 > ins.jstree-icon");
    // 35669 Check info table present
    for (int second = 0;; second++) {
        if (second >= 60) fail("timeout");
        try { if (selenium.isElementPresent("link=Live Dead Assay")) break; } catch (Exception e) {}
        Thread.sleep(1000);
    }

    selenium.click("link=Live Dead Assay");

    }

2013 年 1 月 30 日 Jenkins 経由で html スクリプトも実行していますが、これも同じ時点で失敗します。これには *iexplore が設定されています。

しかし、ちょうど今日、同僚のローカル マシンでコマンド ラインから htmlsuite Selenium Standalone Server を実行しました。この場合、*piiexplore を使用し、テストは実際に、他のセットアップが失敗した要素を見つけました。それ以来、Jenkins ジョブで *piiexplore を試しましたが、これは機能せず、以前と同じ時点で失敗しました。これはローカル マシンの設定でしょうか。または、Jenkins を介してテストを実行する際の問題ですか?

4

1 に答える 1

0

link=blah の代わりに xpath を使用することで解決されます。IEはこれが好きです:-)

于 2013-01-30T17:39:31.583 に答える