Nightwatch E2E 浏览器不适用于 Github 操作
Nightwatch E2E browsers don't work on Github Actions
我使用 create-nuxt-app
命令开始了一个新项目,并选择了 Nightwatch 作为测试框架。
Chrome 和 Geckodriver (firefox) 在本地都工作正常:Nightwatch 启动并进行 OK 测试。
但是在 Github 上,Chrome 和 Geckodriver 都不起作用。
Chrome 抛出此错误:
Error: An error occurred while retrieving a new session: "unknown error: Chrome failed to start: exited abnormally."
Geckodriver 抛出此错误:
Error: An error occurred while retrieving a new session: "Process unexpectedly closed with status 1"
我尝试过的:
- 尝试使用 chrome 或 geckodriver。
- chrome 试过“--no-sandbox”,但运气不好。
- geckodriver 尝试了“--headless”,但运气不佳。
- 尝试了 Chrome 的不同版本,例如 77、87、88。
我已完全按照这些说明进行操作。
https://nightwatchjs.org/gettingstarted/browser-drivers-setup/
所以我没有忘记为每个设置等设置适当的端口
设置绝对是全新的,没有任何额外的配置。
我使用以下配置让它工作:
test_settings: {
default: {
disable_error_log: false,
launch_url: 'https://nightwatchjs.org',
screenshots: {
enabled: false,
path: 'screens',
on_failure: true
},
desiredCapabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--headless', '--no-sandbox']
}
},
webdriver: {
start_process: true,
server_path: require('chromedriver').path,
port: 9515
}
},
.........
密切关注此版块:
desiredCapabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--headless', '--no-sandbox']
}
},
我没有同时使用这两个设置,但它最终起作用了:
args: ['--headless', '--no-sandbox']
主要要求是--headless
配合ChromeDriver使用,我之前没做过。
我使用 create-nuxt-app
命令开始了一个新项目,并选择了 Nightwatch 作为测试框架。
Chrome 和 Geckodriver (firefox) 在本地都工作正常:Nightwatch 启动并进行 OK 测试。
但是在 Github 上,Chrome 和 Geckodriver 都不起作用。
Chrome 抛出此错误:
Error: An error occurred while retrieving a new session: "unknown error: Chrome failed to start: exited abnormally."
Geckodriver 抛出此错误:
Error: An error occurred while retrieving a new session: "Process unexpectedly closed with status 1"
我尝试过的:
- 尝试使用 chrome 或 geckodriver。
- chrome 试过“--no-sandbox”,但运气不好。
- geckodriver 尝试了“--headless”,但运气不佳。
- 尝试了 Chrome 的不同版本,例如 77、87、88。
我已完全按照这些说明进行操作。 https://nightwatchjs.org/gettingstarted/browser-drivers-setup/ 所以我没有忘记为每个设置等设置适当的端口
设置绝对是全新的,没有任何额外的配置。
我使用以下配置让它工作:
test_settings: {
default: {
disable_error_log: false,
launch_url: 'https://nightwatchjs.org',
screenshots: {
enabled: false,
path: 'screens',
on_failure: true
},
desiredCapabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--headless', '--no-sandbox']
}
},
webdriver: {
start_process: true,
server_path: require('chromedriver').path,
port: 9515
}
},
.........
密切关注此版块:
desiredCapabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--headless', '--no-sandbox']
}
},
我没有同时使用这两个设置,但它最终起作用了:
args: ['--headless', '--no-sandbox']
主要要求是--headless
配合ChromeDriver使用,我之前没做过。