我刚开始编写代码,在使用Java自动使用Selenium时,我遇到了以下问题:
我正在测试一个SaaS解决方案,我需要刷新我的页面,直到某个项目出现在我的收件箱中。我不能简单地使用findelement语句,因为该项只在一段时间之后才出现,只有在页面被刷新时才出现,。此外,所有收件箱项目在标题中都有一个唯一的序号。这个唯一的数字,我已经保存为一个字符串变量,我想使用这个字符串变量,看看收件箱项目是否出现了刷新页面几次。
查找唯一字符串的代码:
//Get expense report number
String filename = strng;
String ExpenseReportNumber = StringUtils.substringBefore(filename, " submitted"); // returns Expense Report #XXXX现在,我需要创建一个循环,在这个循环中,站点一直保持刷新,直到字符串变量被击中为止。当它找到字符串变量时,我可以选择收件箱中的top元素并继续我的测试。
有人能在这个问题上帮助我吗?或者给我建议如何创造同样的结果,然后用一个更好的方法?非常感谢!
发布于 2015-11-10 15:45:49
Wait<WebDriver> wait12 = new FluentWait<WebDriver>(driver)
.withTimeout(600, TimeUnit.SECONDS)
.pollingEvery(15, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement ToDoExpense = wait12.until(new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
driver.navigate().refresh();
return driver.findElement(By.partialLinkText(ExpenseReportNumber));
}
});我自己找到了解决办法
https://stackoverflow.com/questions/33632431
复制相似问题