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