gpt4 book ai didi

selenium - Docker selenium/node-chrome - Protractor 找不到 Chrome 二进制文件

转载 作者:IT老高 更新时间:2023-10-28 21:26:17 26 4
gpt4 key购买 nike

我是 Docker 新手,但不是 E2E protractor。我正在尝试使用 docker 容器构建 E2E 集成。

关注 Angular's protractor cookbook using Docker

他们有 Step 2 - Starting Selenium Nodes

docker run -d --link selenium-hub:hub selenium/node-chrome:latest

我了解 Selnium Grid 的作用 - 它允许通过与网格通信来测试不同类型的浏览器。

当我让这个 docker 容器运行 Protactor 时,不会将它用作 chrome 二进制文件,我得到 WebDriverError: unknown error: cannot find Chrome binary

如何让 Protractor 使用这个 node-chrome 容器而不是本地 chrome 二进制文件?

我的 Protractor 配置:

exports.config = {
framework: 'mocha',
directConnect: true,
seleniumAddress: 'http://localhost:4444/wd/hub', // I have this set to the grid docker container from Angular cookbook
specs: ['./stories/*.js'],
onPrepare: function() {
expect = require("chai").use(require("chai-as-promised")).expect;
},
mochaOpts: {
enableTimeouts: false,
reporter: "spec",
slow: 7000
},
capabilities: {
browserName: 'chrome'
}
}

这就是我在 headless 服务器(非 docker)上运行 Protractor 的方式 xvfb-run node_modules/protractor/bin/protractor e2e/protractor.conf.js

最佳答案

我发现了问题...我在 Protractor 配置中删除了 directConnect: true ,这样它就可以在没有本地 chrome 二进制文件的情况下运行。解决方案是使这个 false 或删除它。

来自文档:

directConnect: true - Your test script communicates directly Chrome Driver or Firefox Driver, bypassing any Selenium Server. If this is true, settings for seleniumAddress and seleniumServerJar will be ignored. If you attempt to use a browser other than Chrome or Firefox an error will be thrown

关于selenium - Docker selenium/node-chrome - Protractor 找不到 Chrome 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41352511/

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