0

这是我的问题测试偶尔导致错误的后续行动。我初始化我的驱动程序

public class TestSuite {

public static WebDriver driver;

@BeforeClass
public static void setUpClass() {
    driver = new FirefoxDriver();

}


public class FluentDriver extends TestSuite {

public static WebElement fluentWait(final By locator) {
    Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
            .withTimeout(300, TimeUnit.SECONDS)
            .pollingEvery(50, TimeUnit.SECONDS)
            .ignoring(NoSuchElementException.class);

    WebElement element = wait.until(
            new Function<WebDriver, WebElement>() {

                public WebElement apply(WebDriver driver) {
                    return driver.findElement(locator);
                }
            });
    return element;
}

; }

但这不处理页面上肯定存在的脚本,但我无法访问它的源代码。

    FluentDriver.fluentWait(By.id("id")).click();
    FluentDriver.fluentWait(By.xpath("//a[starts-with(@href,'/problematic_url.html')]")).click();
    FluentDriver.fluentWait(By.className("green_true")).click();

单击“id”会拉出一个子菜单,其中有问题的 url。在网页源 (Ctrl+U) 上,url 一直存在。

4

1 回答 1

0

我通过在驱动程序上添加启用 Firefox 配置文件的 Javascript 来完成这项工作。然后我使用 FluentDriver 解决方案。它大部分时间都有效。

于 2012-10-17T09:31:19.107 回答