gpt4 book ai didi

angularjs - Protractor 无法使用 directConnect 运行

转载 作者:行者123 更新时间:2023-12-04 20:39:53 27 4
gpt4 key购买 nike

我试图通过直接连接到 Chrome 来运行 Protractor ,而不是运行 Selenium。正如文档所说,这可以通过设置 directConnect 来实现至 true在配置文件中。

当我用 directConnect: true 运行 Protractor 时,我得到:

Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver Error: spawn ENOENT at errnoException (child_process.js:1001:11) at Process.ChildProcess._handle.onexit (child_process.js:792:34) [launcher] Process exited with error code 1



如果我在没有 directConnect 的情况下运行 Protractor 而是指定我的 selenium url,一切运行正常。

我正在运行 Protractor 版本 1.6.1、Chrome 版本 41.0.2272.35 beta-m(64 位)和 Chromedriver 版本 2.13.0。

最佳答案

更新:虽然下面的解决方案对我有用,但在与 Protractor 开发人员交谈后,我意识到如果我运行 webdriver-manager update安装本地chromedriver,那么我不需要设置chromeDriver在我的 Protractor 配置中设置。

我遇到了同样的问题并通过改变 chromeDriver 解决了它protractor-conf.js 中的路径设置取决于我使用的是 Windows 还是 OSX/Linux。

下面的解决方案和文章假设您使用的是 npm install chromedriver 提供的 chromedriver .此解决方案也适用于 Protractor 3.2.2和 chromedriver 2.21.2 .

Protractor+chromedriver 在 OSX 和 Linux 上工作,但我在 Windows 上遇到了 ENOENT 错误。我已提交问题 here并且还记录了一个解决方法。

问题(我认为)是 childProcess.spawn 在 Windows 上有问题(请参阅问题列表 here )和 node_modules/chromedriver/bin/chromedriver通过 childProcess.spawn 调用时,文件将无法正确运行- 可能是因为此文件不可执行且 Windows 不知道使用 node二进制文件来解释文件。

解决方法是在 Windows 上运行时提供 Windows 可执行文件的路径。改变 chromeDriver 很容易——虽然有点骇人听闻—— arg in protractor-conf.js 如下所示:

所有三个操作系统的 protractor-conf.js:

var chromeDriverPath = process.platform === 'win32' ? 'node_modules/chromedriver/lib/chromedriver/chromedriver.exe' : 'node_modules/chromedriver/bin/chromedriver';

exports.config = {
directConnect: true,
chromeDriver: chromeDriverPath,
specs: [
'features/*.feature'
],
capabilities: {
browserName: 'chrome',
platform: 'ANY',
chromeOptions: {
args: ['--test-type']
}
}
}

希望这可以帮助。

关于angularjs - Protractor 无法使用 directConnect 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28291853/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com