我编写了一系列在独立执行时工作的验收测试。我正在使用 ChromeDriver 通过 Codeception 执行此测试。
但是,当我运行测试类中的所有过程时,我会收到一个关于
This page is asking you to confirm that you want to leave - data you have entered may not be saved.
这是一个浏览器模式警报,因此随后的所有测试都失败了,因为浏览器无法离开此页面。
Codeception 或 Chromedriver 中是否有办法接受带有默认键的对话框,以便其他测试可以按顺序执行?或者告诉 Codeception 强制关闭当前窗口并尝试一个新窗口?
谢谢!
玩了一会儿设置后,通过的唯一方法是将restart
属性设置为 true(默认为 false):
WebDriver:
url: 'http://localhost:8080/'
wait: 2
window_size: false # disabled in ChromeDriver
port: 9515
browser: chrome
restart: true
这将关闭浏览器窗口并且不会显示对话框。将打开一个新的浏览器进行下一次测试。
这个解决方案会使验收运行测试变得更慢,所以我很想看看其他人是否有更好的解决方案!
值得注意的是,我尝试使用该unexpectedAlertBehaviour
功能,无论我拥有什么价值,都不会解除警报。