0

我目前正在让 IE8、9 和 10 正确地使用 Selenium RC 实现自动化。问题是它似乎找不到任何类型的链接=无论如何。我在测试运行程序中收到错误“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");

    }

30/1/13 我应该补充一点,我们还通过 Jenkins 运行了一个 html 脚本,这也同时失败了。我们为此设置了 *iexplore。

然而,就在今天,在一位同事的本地机器上,我们从命令行运行了 htmlsuite Selenium Standalone Server。在这种情况下,我们使用了 *piiexplore,测试实际上找到了其他设置失败的元素。从那以后,我在我们的 Jenkins 工作中尝试了 *piiexplore,但这并没有奏效,并且和以前一样失败了。这可能是本地机器设置吗?或者通过 Jenkins 运行测试的问题?

4

1 回答 1

0

它是通过使用 xpath 而不是 link=blah 来解决的。IE喜欢这个:-)

于 2013-01-30T17:39:31.583 回答