有人可以帮助我使用 selenium webdriver 测试中使用的以下 Java 代码吗?我知道可能有更好的方法来做到这一点,但在我接手之前从事这方面工作的前一个人正在工作中学习。
基本上它会进入一个页面并检查不同的元素,如果它找到它们,它会在字段中输入一些数据。
问题是这段代码是针对不同的站点运行的,现在存在一个问题,其中一个页面上的文本 To date 和 to_date 都在页面上,因此测试失败,因为它找到了一个元素 endDateParam 但没有找到元素 to_date。
有人可以帮我解决这个问题吗?我需要它,所以如果它在页面上找到文本 to_date,它将使用 to_date 参数,如果找到文本 To date,它将使用 endDateParam,如果找到文本 To date AND to_date,它将使用它找到的任何参数.
我尝试添加一个 try catch,它在被捕获时什么都不做,但仍然失败。
if (PWSHelper.verifyTextPresent("To date", driver))
{
try {
WebElement toDate = driver.findElement(By.name("endDateParam"));
toDate.sendKeys(boHelper.nextWeek());
} catch (NoSuchElementException ex)
{
System.out.println("endDateParam Not Found");
System.out.println();
}
}
if (PWSHelper.verifyTextPresent("to_date", driver))
{
try {
WebElement toDate = driver.findElement(By.name("to_date"));
toDate.sendKeys(boHelper.nextWeek());
} catch (NoSuchElementException ex)
{
System.out.println("to_date Not Found");
System.out.println();
}
}