私は現在、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 を介してテストを実行する際の問題ですか?