有没有人知道如何在我的selenium代码中等待这些操作,因为当我运行它时,每次都会得到不同的结果,因为浏览器每次都以不同的速度运行。有没有办法使每个moveByOffSet之间我可以让它等待几秒钟?
Actions builder2 = new Actions(driver);
Action moveByOffset = builder2.moveByOffset(100, 200)
.click()
.moveByOffset(-150, 0)
.click()
.moveByOffset(0, -150)
.click()
.moveByOffset(150, 0)
.click()
.moveByOffset(0, 150)
.contextClick()
.build();
moveByOffset.perform();
答案 0 :(得分:0)
您可以从Actions类继承并覆盖click()方法,包括在其体内进行睡眠。
public class MyActions extends Actions {
public MyActions(WebDriver driver) {
super(driver);
}
@Override
public Actions click() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
//do something
}
return super.click();
}
}
然后在测试中使用新类。
Actions actions = new MyActions(driver);
请注意,将睡眠电话放入测试代码并不是一个好习惯。考虑使用WebDriverWait类提供的功能。