Java webdriver正在工作,请在后台等待
我对Selenium WebDriver有问题 事实上,当我测试我的页面时,我希望在后台运行等待错误消息,但它不应该影响总测试时间 例如,我尝试:Java webdriver正在工作,请在后台等待,java,selenium-webdriver,java-threads,Java,Selenium Webdriver,Java Threads,我对Selenium WebDriver有问题 事实上,当我测试我的页面时,我希望在后台运行等待错误消息,但它不应该影响总测试时间 例如,我尝试: private void checkHeaderError(){ String errFieldXpath = "path"; ScheduledExecutorService executor=Executors.newScheduledThreadPool(1); Runnable task =
private void checkHeaderError(){
String errFieldXpath = "path";
ScheduledExecutorService executor=Executors.newScheduledThreadPool(1);
Runnable task = () -> {
try {
new WebDriverWait(getWebDriver(), 0).until(
ExpectedConditions.invisibilityOfElementLocated(By.xpath(errFieldXpath)));
} catch (Exception e) {
String errMsg = getWebDriver().findElement(By.xpath(errFieldXpath)).getText();
Assert.fail(errMsg));
}
};
executor.scheduleWithFixedDelay(task, 0, 4, TimeUnit.SECONDS);
}
但它不起作用
老实说,我甚至不知道该把它放在哪里,这样它才能工作我不确定webdriver是为并行使用而设计的。我担心(因为您在不同的线程中使用同一个驱动程序实例),您要么无法获得实际的并行化,要么破坏测试逻辑,因为我无法保证所有api都是线程安全的。谢谢您的评论。不幸的是,我想你也考虑过使用webdriver的侦听器吗?嗨,迈克。没有。你能举个例子或提供一些信息吗?