Mink和Behat:有没有办法在后台推出硒(Chrome)?

时间:2017-04-20 17:47:53

标签: behat mink

运行测试时,每次Behat推出需要Chrome的方案时,我都不会被Chrome弹出打扰。

我知道maximizeWindow()对象有一个session方法,但没有像"最小化"。

4 个答案:

答案 0 :(得分:1)

您可以使用虚拟帧缓冲区运行Chrome,以便窗口显示在虚拟屏幕上而不是真实屏幕上。

这也允许在无头机器上轻松运行测试,例如构建服务器。

在Linux上,我们为此特定目的使用xvfb。更多信息:How To Run Your Tests Headlessly with Xvfb

对于Windows,请参阅Is there anything like xvfb or xnest for Windows?

答案 1 :(得分:1)

如今,您可以将Chrome设置为无头模式(behat.yml):

default:
    extensions:
        Behat\MinkExtension:
            javascript_session: browser
            sessions:
                browser:
                    selenium2:
                        browser: chrome
                        capabilities:
                            chrome:
                                switches:
                                    - "--headless"

答案 2 :(得分:0)

似乎没有在后台启动的方法。 maximizeWindow用于设置分辨率。

您应该尝试在虚拟机或其他PC上运行,以避免此类问题,弹出窗口以及错误地与运行自动化的窗口进行交互。

在编写新测试和调试时,应该在同一台机器上运行。

答案 3 :(得分:0)

我找到了一个可接受的解决方案,不需要我运行Chrome无头或虚拟机。

只需使用本地计算机上的辅助用户帐户登录,然后在该帐户上运行selenium。然后,切换回主用户帐户并运行测试。 Chrome浏览器将在运行selenium的用户下创建,您将永远不会看到弹出的Chrome窗口。