Я пытаюсь запустить свои тесты E2E, используя nightwatch, при развертывании в конвейере битбакета. У меня установлены ночные часы, локально установлен chromedriver на моем компьютере с Windows, и все работает.
Когда я запускаю npm nightwatch
в конвейере, я получаю эту ошибку
An error occurred while trying to start ChromeDriver: cannot resolve path: "/opt/atlassian/pipelines/agent/build/node_modules/chromedriver/lib/chromedriver/chromedriver". Please check that the "webdriver.server_path" config property is set correctly.
Это файловая структура пути, который он указывает
Структура файла
node_modules/
chromedriver/
lib/
chromdriver/
chromerdriver.exe
chromedriver_win32.zip
Так что ясно, что node_modules/chromedriver/lib/chromedriver/chromedriver
не существует. Контейнером является Linux, поэтому он не знает, как выполнить файл chromedriver.exe.
Итак, как я могу заставить конвейер битбакета запускать chromedriver.exe? Или как мне указать chromedriver
путь, который он ищет. Я уверен, что кому-то приходилось сталкиваться с этим раньше. Какое-то время боролся с этим и ищу помощи. Спасибо.
файл bitbucket-pipelines.yml
image: rastasheep/alpine-node-chromium
pipelines:
custom:
develop:
- step:
name: Serve and Test
caches:
- node
script:
- apt-get update && apt-get install -yq libnss3
- if [ ! -d "node_modules/nightwatch" ]; then npm install; fi
- npm start
- npm run nightwatch
nightwatch.conf.js
const chrome = require('chromedriver')
module.exports = {
'src_folders': [
'./nightwatch/tests/elements'
],
'output_folder': './nightwatch/reports',
'globals_path': './nightwatch/utils/globals/globals.js',
'webdriver': {
'start_process': true,
'server_path': chrome.path,
'log_path': './nightwatch/reports',
'cli_args': [
'--verbose'
],
'port': 9515
},
'test_settings': {
'default': {
'launch_url': 'http://localhost:3100',
'desiredCapabilities': {
'browserName': 'chrome',
'javascriptEnabled': true,
'chromeOptions': {
'args': [
'no-sandbox',
'headless'
]
}
},
'screenshots': {
'enabled': true,
'on_failure': true,
'on_error': true,
'path': 'nightwatch/screenshots'
}
}
}
}