在自动化测试运行时,Chrome浏览器实例会经常弹出

时间:2018-01-03 06:25:01

标签: google-chrome selenium protractor selenium-chromedriver webdriver-manager

我目前的测试套件用于量角器中的e2e测试。

要更新它以无头镀铬运行,我更新了我的量角器版本,后者又更新了我的webdriver-manager,后者又将chromedriver版本更新为最新版本2.34

  1. 无头中运行测试时,测试工作正常。

  2. 在Chrome 本地中运行测试时,测试开始 - >铬 实例启动然后它不断弹出 测试正在进行中。

  3. 由于Chrome自动化浏览器实例经常不断显示,因此不允许执行任何其他操作。

    我尝试将chromedriver版本降级到2.29,但没有运气。

    有人遇到过这个问题吗?

    我在测试套件中的当前版本如下:

    • 量角器:5.2.2
    • webdriver-manager:12.0.6
    • chromedriver:2.34
    • selenium-standalone:3.8.1
    • 正在使用的Chrome浏览器:63.0.3239.108

2 个答案:

答案 0 :(得分:0)

对我来说,使用量角器的无头测试完全按照预期进行。没有窗口弹出,我有完全相同的版本。

确保量角器的配置文件中包含以下参数。

 capabilities: {
        browserName: 'chrome',
        chromeOptions: {
              args: ['--headless', '--disable-gpu'] 
        }
    },

在配置文件中,您可以尝试专门调用chromedriver。

exports.config = {
    seleniumServerJar: '../node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.8.1.jar',
    chromeDriver: '../node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.34',
    directConnect: false, //you can try true.

答案 1 :(得分:0)

您的问题可能是由操作系统的差异引起的;当运行基于* NIX的系统(如Mac OS)时,应将“--no-sandbox”添加到chromeOptions。使用Windows时,添加“--disable-gpu”。使用两者都不会有害。因此,您的protactor配置文件中的功能如下所示:

capabilities: {
    browserName: 'chrome',
    chromeOptions: {
          args: ['--headless', '--disable-gpu', '--no-sandbox'] 
    }
},

我希望这会有所帮助。