我正在Selenium中创建一个Junit测试,该测试调用一种方法,该方法定义了在自动化过程中需要选择的WebElement。
运行Junit测试时,它只会启动浏览器,转到网页,而不选择WebElement。在Selenium中作为常规Java应用程序运行时,此方法确实起作用。
@Test
public void downTimeTestCase() {
System.out.println("Running test 'Down Time'");
defineWebElements();
downTime.click();
dateSelector.click();
}
public void defineWebElements() {
downTime = driver.findElement(By.xpath("//*. [@id=\"root\"]/div/div/div[2]/ul/li[1]/a"));
uph = driver.findElement(By.xpath("//*[@id=\"root\"]/div/div/div[2]/ul/li[2]/a"));
}
我希望测试通过xpath选择网页WebElements,但是启动了网页却没有任何反应。没有选择任何WebElement。
答案 0 :(得分:-1)
我看不到你的意思,但这应该可行:
@Test
public void downTimeTestCase() {
System.out.println("Running test 'Down Time'");
defineWebElements().get(0).click();
defineWebElements().get(1).click();
}
public List<WebElement> defineWebElements() {
WebElement downTime = driver.findElement(By.xpath("//*. [@id=\"root\"]/div/div/div[2]/ul/li[1]/a"));
WebElement uph = driver.findElement(By.xpath("//*[@id=\"root\"]/div/div/div[2]/ul/li[2]/a"));
List<WebElement> elements = new ArrayList<WebElement>();
elements.add(downTime);
elements.add(uph);
return elements;
}
或
@Test
public void downTimeTestCase() {
System.out.println("Running test 'Down Time'");
defineWebElements();
}
public void defineAndClickWebElements() {
WebElement downTime = driver.findElement(By.xpath("//*. [@id=\"root\"]/div/div/div[2]/ul/li[1]/a"));
WebElement uph = driver.findElement(By.xpath("//*[@id=\"root\"]/div/div/div[2]/ul/li[2]/a"));
downTime.click();
uph.click();
}