Warm tip: This article is reproduced from serverfault.com, please click

其他-使用 Chromedriver (Codeception) 自动关闭离开页面对话框

(其他 - Dismiss leave page dialogs automatically using Chromedriver (Codeception))

发布于 2020-12-31 01:43:31

我编写了一系列在独立执行时工作的验收测试。我正在使用 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 强制关闭当前窗口并尝试一个新窗口?

谢谢!

Questioner
csaborio
Viewed
0
csaborio 2021-01-03 07:46:31

玩了一会儿设置后,通过的唯一方法是将restart属性设置为 true(默认为 false):

        WebDriver:
            url: 'http://localhost:8080/'
            wait: 2
            window_size: false # disabled in ChromeDriver
            port: 9515
            browser: chrome
            restart: true

这将关闭浏览器窗口并且不会显示对话框。将打开一个新的浏览器进行下一次测试。

这个解决方案会使验收运行测试变得更慢,所以我很想看看其他人是否有更好的解决方案!

值得注意的是,我尝试使用该unexpectedAlertBehaviour 功能,无论我拥有什么价值,都不会解除警报。