транспортир не смог найти protractor/selenium/chromedriver.exe в codeship

#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. Вы жестко закодировали этот исполняемый файл?

Не могли бы вы отправить нам запрос в службу поддержки в приложении, чтобы у нас была ссылка для просмотра и мы могли помочь вам исправить это?