这是我的问题Test causing error occasionally的后续行动。我初始化我的驱动程序
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”会拉出一个子菜单,其中有问题的网址是。在网页源(Ctrl + U)上,网址始终存在。
答案 0 :(得分:0)
我通过在驱动程序上添加启用Firefox配置文件的Javascript来实现此功能。然后我使用FluentDriver解决方案。它大部分时间都有效。