1

我按照这个SO 帖子 设置了我的Gruntfile. 如果我手动下载 Selenium 独立版并在文件中指定其位置,我的测试将成功运行。由于我想自动化这个过程,我尝试了以下配置:

protractor_webdriver: {
  start: {
    options: {
      path: 'node_modules/grunt-protractor-runner/node_modules/protractor/bin/',
      command: 'webdriver-manager start'
    }
  }
};

grunt.loadNpmTasks('grunt-protractor-webdriver');
grunt.registerTask('test', ['protractor_webdriver:start','protractor:run'])

有没有办法避免手动下载?我尝试了上述方法,但是当我运行它时,我收到了警告:

Running "protractor_webdriver:start" (protractor_webdriver) task
Verifying property protractor_webdriver.start exists in config...OK
File: [no files]
Options: path="node_modules/grunt-protractor-runner/node_modules/protractor/bin/", command="webdriver-manager start", keepAlive=false
Starting Selenium server
>> Selenium Standalone is not present. Install with webdriver-manager update --standalone

所以我还需要手动下载 selenium 独立服务器吗?
或者我在这里错过了一些配置?

4

2 回答 2

1

Protractor 是 WebDriverJS 的包装器。

它是一个nodejs与 Selenium Server 和特定浏览器驱动程序(例如ChromeDriverIEDriver)交互的程序。

因此,如果不使用 selenium 服务器(至少对于 IE),您将无法运行使用量角器编写的测试。测试脚本向 Selenium 服务器发送命令,然后 Selenium 服务器与浏览器驱动程序进行通信。有关架构的描述,请参阅此内容。

简而言之,如果没有事先启动 Selenium 服务器实例,什么都不会发生。

于 2015-01-13T21:09:57.333 回答
1

您可以通过指定在没有 Selenium 的情况下运行 Protractor

directConnect: true

在您各自的量角器配置文件中(例如protractor.conf.js)。

于 2015-03-14T04:22:39.140 回答