Транскаватор в STS IDE → Не удалось найти update-config.json

В настоящее время у меня есть Protractor v.5.1.1, Node.js v.6.10.0

Все тесты утяжелителей работают в оконной консоли, но когда я пытаюсь запустить их из STS IDE, я становлюсь ниже ошибки. Конечно, я сделал обновление webdriver-manager, но это совсем не помогает. Кто-нибудь знает, как решить эту проблему?

Ниже ошибки, соответственно, когда я использую или не 'directConnect'

[22:21:48] I/launcher - Running 1 instances of WebDriver
[22:21:48] I/direct - Using ChromeDriver directly...
[22:21:48] E/direct - Error code: 135
[22:21:48] E/direct - Error message: Could not find update-config.json. Run    'webdriver-manager update' to download binaries.
[22:21:48] E/direct - Error: Could not find update-config.json. Run 'webdriver-manager update' to download binaries.
at IError  (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:5:1)
at ProtractorError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:10:9)
at BrowserError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:51:9)
at Direct.getNewDriver (D:\STS_workspace\jgh\node_modules\protractor\built\driverProviders\direct.js:62:31)
at Runner.createBrowser (D:\STS_workspace\jgh\node_modules\protractor\built\runner.js:194:43)
at q.then.then (D:\STS_workspace\jgh\node_modules\protractor\built\runner.js:338:29)
at _fulfilled (D:\STS_workspace\jgh\node_modules\q\q.js:834:54)
at self.promiseDispatch.done (D:\STS_workspace\jgh\node_modules\q\q.js:863:30)
at Promise.promise.promiseDispatch (D:\STS_workspace\jgh\node_modules\q\q.js:796:13)
at D:\STS_workspace\jgh\node_modules\q\q.js:556:49
[22:21:48] E/launcher - Process exited with error code 135

или

[21:19:23] I/launcher - Running 1 instances of WebDriver
[21:19:23] E/local - Error code: 135
[21:19:23] E/local - Error message: No update-config.json found. Run    'webdriver-manager update' to download binaries.
[21:19:23] E/local - Error: No update-config.json found. Run 'webdriver- manager update' to download binaries.
   at IError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:5:1)
   at ProtractorError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:10:9)
   at BrowserError (D:\STS_workspace\jgh\node_modules\protractor\built\exitCodes.js:51:9)
   at Local.addDefaultBinaryLocs_ (D:\STS_workspace\jgh\node_modules\protractor\built\driverProviders\local.js:40:23)
   at Local.setupDriverEnv (D:\STS_workspace\jgh\node_modules\protractor\built\driverProviders\local.js:81:14)
   at Local.setupEnv  (D:\STS_workspace\jgh\node_modules\protractor\built\driverProviders\driverProvider.js:110:34)
   at q.then (D:\STS_workspace\jgh\node_modules\protractor\built\runner.js:334:41)
   at _fulfilled (D:\STS_workspace\jgh\node_modules\q\q.js:834:54)
   at self.promiseDispatch.done    (D:\STS_workspace\jgh\node_modules\q\q.js:863:30)
   at Promise.promise.promiseDispatch     (D:\STS_workspace\jgh\node_modules\q\q.js:796:13)
[21:19:23] E/launcher - Process exited with error code 135

Мой conf.js выглядит так:

var SpecReporter = require('jasmine-spec-reporter').SpecReporter;

exports.config = {
  //    directConnect:true,
  specs: ['spec4.js'],
 framework: 'jasmine2' ,

 onPrepare: function () {
  jasmine.getEnv().addReporter(new SpecReporter({
  spec: {
    displayStacktrace: true,
    displaySuccessesSummary: true,
    displayFailuresSummary: true,  
    displayPendingSummary: true,
    displaySpecDuration: true,     
      },

    }));
  },

  jasmineNodeOpts: {
    defaultTimeoutInterval: 25000,
    print: function () {},
},

У меня нет папки selenium на пути node_modules/protractor/node_modules/webdriver-manager, но у меня есть package.json, где я добавил "webdriver-update": "Обновление webdriver-manager".                                                                                       Это вывод npm run webdriver-update:

    D:\STS_workspace\jgh>npm run webdriver-update
    npm WARN invalid config proxy="http:"  
    npm WARN invalid config Must be a full url with 'http://'
    npm WARN invalid config proxy="http:"
    npm WARN invalid config Must be a full url with 'http://'
    npm ERR! Windows_NT 10.0.14393
    npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program     Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "webdriver-update"
    npm ERR! node v6.10.0
    npm ERR! npm  v3.10.10
    npm ERR! path D:\STS_workspace\jgh\package.json
    npm ERR! code ENOENT
    npm ERR! errno -4058
    npm ERR! syscall open
    npm ERR! enoent ENOENT: no such file or directory, open 'D:\STS_workspace\jgh\package.json'
    npm ERR! enoent ENOENT: no such file or directory, open 'D:\STS_workspace\jgh\package.json'
    npm ERR! enoent This is most likely not a problem with npm itself
    npm ERR! enoent and is related to npm not being able to find a file.
    npm ERR! enoent

npm ERR! Please include the following file with any support request:
npm ERR!     D:\STS_workspace\jgh\npm-debug.log

Ответ 1

Похоже, вы либо используете directConnect, либо запускаетесь с поставщиком драйверов local (не имея seleniumAddress или directConnect) в своем файле конфигурации. Вам нужно запустить webdriver-manager update.

Раньше у меня были дополнительные флаги, чтобы не загружать автономные или gecko с webdriver-manager update --standalone false --gecko false. Это уже не так, если вы начинаете с локального поставщика драйверов. Вам понадобится отдельный файл jar selenium.

Вы можете запустить это с помощью script в package.json. Что-то вроде:

"scripts": {
  "webdriver-update": "webdriver-manager update"
}

Затем выполните следующее: npm run webdriver-update. Как вы проверяете, существуют ли двоичные файлы? В своем проекте перейдите к node_modules/protractor/node_modules/webdriver-manager/selenium/. Здесь находятся update-config.json и загруженные исполняемые файлы.

Ответ 2

Вы можете попробовать обновить его таким образом, он обязательно обновит его в node_modules/транспортир:

$ ./node_modules/protractor/bin/webdriver-manager update

Ответ 3

Просто выполните webdriver-manager с помощью команды npx в папке проекта;

npx webdriver-manager update

Ответ 4

В MacOS я разрешил эту ошибку, добавив seleniumAddress в мой конфигурационный файл Protractor (ранее я использовал directConnect, поэтому прокомментировал это):

// directConnect: true,
// baseUrl: 'http://localhost:4000/',
seleniumAddress: 'http://localhost:4444/wd/hub/',

Теперь я запускаю сервер Protractor, запустив: $ webdriver-manager start

И в другом окне терминала я запускаю тесты с помощью: $ ng e2e

Ответ 5

Вам просто нужно запустить эту команду, и она исправит ее - npm run webdriver-update обновляет ваш веб-драйвер в разделе node_modules под node_modules/protractor.

Эти 2 строки являются основными виновниками. Просто попробуйте выполнить эту команду, и она должна решить вашу проблему.

[22:21:48] E/direct - Error message: Could not find update-config.json. Run 'webdriver-manager update' to download binaries.
[22:21:48] E/direct - Error: Could not find update-config.json. Run 'webdriver-manager update' to download binaries.

Надеюсь, это поможет!