1

我有我当前的测试套件,用于量角器中的 e2e 测试。

为了更新它以在无头 chrome 中运行,我更新了我的量角器版本,这反过来又更新了我的 webdriver-manager,它又将 chromedriver 版本更新到了最新的 ie 2.34

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

  2. 本地chrome 中运行测试时,测试开始 -> chrome 实例启动,然后在测试运行期间不断弹出。

它不允许做任何其他事情,因为 chrome 自动化浏览器实例经常出现。

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

有没有人遇到过这个问题?

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

  • 量角器:5.2.2
  • 网络驱动程序管理器:12.0.6
  • 铬驱动程序:2.34
  • 硒独立:3.8.1
  • 正在使用的 Chrome 浏览器:63.0.3239.108
4

2 回答 2

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.
于 2018-01-03T06:36:55.650 回答
0

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

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

我希望这有帮助。

于 2018-01-16T16:39:06.540 回答