0
有人可以帮助我在硒webdriver测试中使用以下Java代码?我知道可能有更好的方法去做,但我接手之前从事这项工作的人是在工作中学习。如何简化此硒/ java代码以使其正常工作?
基本上,它会进入一个页面并检查不同的元素,如果它发现它将某些数据输入到字段中。
问题是此代码针对不同的网站运行,现在有一个问题,其中一个页面上的文本To date和to_date都在页面上,所以测试失败,因为它找到了一个元素endDateParam,但没有元素to_date。
有人能帮我解决这个问题吗?我需要它,所以如果它在页面上找到文本to_date,它将使用to_date参数,如果它发现文本到目前为止它将使用endDateParam,如果它发现文本到日期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();
}
}
你为什么要运行针对不同网站上使用相同的测试?你应该把代码分开 - 你的问题比这个要深得多,你应该为站点A进行一系列测试,对站点B进行一系列测试。如果他们有相似之处,你就会开始思考继承和不同方面的问题。 Java语言可以帮助您在一个地方提供通用代码 - 但您目前正在将两个*完全不同的*测试混为一谈。 – Arran