#selenium #gruntjs #protractor
#селен #gruntjs #транспортир
Вопрос:
я пытаюсь настроить интеграцию для запуска тестов portractor.
Я использую задачу grunt-protractor-runner
со следующей конфигурацией:
protractor: {
options: {
configFile: "protractor.conf.js", //your protractor config file
keepAlive: true, // If false, the grunt process stops when the test fails.
noColor: false, // If true, protractor will not use colors in its output.
args: {
// Arguments passed to the command
}
},
run: {},
chrome: {
options: {
args: {
browser: "chrome"
}
}
}
}
и вот задача grunt, которую я использую для запуска транспортира после запуска сервера:
grunt.registerTask('prot', [
'connect:test',
'replace:includemocks',//for uncommenting angular-mocks reference
'protractor:run',
'replace:removemocks',//for commenting out angular-mocks reference
]);
Он хорошо работает на моем локальном компьютере, но в codeship я получаю следующую ошибку:
Error: Could not find chromedriver at /home/rof/src/bitbucket.org/myrepo/myFirstRepo/node_modules/grunt-protractor-runner/node_modules/protractor/selenium/chromedriver.exe
Что, я полагаю, является результатом отсутствия этого «chromedriver.exe » на этой тропинке.
Как я могу решить это в среде codeship?
Спасибо за пересылку
Ответ №1:
Добавьте postinstall
в свой файл package.json, и таким образом npm install
вы позаботитесь о размещении двоичных файлов для вас заранее:
"scripts": {
"postinstall": "echo -n $NODE_ENV |
grep -v 'production' amp;amp;
./node_modules/protractor/bin/webdriver-manager update ||
echo 'will skip the webdriver install/update in production'",
...
},
И не забудьте установить NODE_ENV
… если не устанавливать его вообще, это приведет к echo 'will skip the webdriver install/update in production'
запуску части. Установив его в dev
или staging
, вы получите желаемые результаты.
Комментарии:
1. Это помогло с моей настройкой Linux!
Ответ №2:
Короткий ответ (пулкицингал дал оригинальное решение):
./node_modules/grunt-protractor-runner/node_modules/protractor/bin/webdriver-manager update
Комментарии:
1. Это ответ, который мне был нужен. Спасибо.
2. Это помогло с моей настройкой Linux!
Ответ №3:
Я один из основателей Codeship.
Ошибка, по-видимому, связана с тем, что вы пытаетесь использовать exe-файл, но в нашей системе мы используем Linux. Вы жестко закодировали этот исполняемый файл?
Не могли бы вы отправить нам запрос в службу поддержки в приложении, чтобы у нас была ссылка для просмотра и мы могли помочь вам исправить это?