有人可以帮助我使用selenium webdriver测试中使用的以下Java代码吗?我知道可能有更好的方法可以做到这一点,但在我接手之前工作的前一个人就是在工作中学习。
基本上它会到达页面并检查不同的元素,如果它发现它们将某些数据输入到字段中。
问题是这个代码针对不同的站点运行,现在有一个问题,其中一个页面上的文本To date和to_date都在页面上,因此测试失败,因为它找到了一个元素endDateParam但没有元素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();
}
}
答案 0 :(得分:0)
如何使用不同的参数调用函数:
private void doSomething(String textToFind, String target)
if (PWSHelper.verifyTextPresent(textToFind, driver))
{
try {
WebElement toDate = driver.findElement(By.name(target));
toDate.sendKeys(boHelper.nextWeek());
} catch (NoSuchElementException ex)
{
System.out.println(textToFind + " Not Found");
System.out.println();
}
}