Selenium:如何使Web驱动程序在执行另一个测试之前等待页面刷新
2022-09-01 12:01:06
我正在TestNG中使用Selenium Web驱动程序编写测试用例,并且我有一个场景,我正在按顺序运行多个测试(请参阅下文)
@Test(priority =1)
public void Test1(){
}
@Test(priority =2)
public void Test2(){
}
这两个测试都是 AJAX 调用,其中打开一个对话框,执行测试,然后对话框关闭,然后在页面顶部显示一条通知消息,每次测试成功后,页面都会刷新。
问题是:Test2 不等待页面刷新/重新加载。假设当 Test1 成功完成时,Test2 将在页面刷新之前启动(即打开对话框,执行场景等),同时页面刷新(这必然会在 Test1 成功执行后发生)。现在,由于页面刷新,由于 Test2 而打开的 diaog 框不再存在,然后 Test2 将失败。
(另外,我不知道刷新页面需要多长时间。因此,我不想在执行 Test2 之前使用 Thread.sleep(xxxx))
另外,我不认为
driver.navigate().refresh()
通过将它放在Test2之前来解决我的问题,因为在这种情况下,我的页面将被刷新两次。问题是通过代码发生的刷新(这是不确定的,因为它可能需要1秒或3秒或5秒)