2017-02-23 53 views
7

Obecnie mam Kątomierz v.5.1.1, node.js v.6.10.0kątomierz w STS IDE -> Nie można znaleźć update-config.json

Wszystkie testy kątomierz działa w oknie konsoli, ale gdy próbuję aby uruchomić je z STS IDE dostaję poniżej błędu. Oczywiście zrobiłem "aktualizację webdriver-manager", ale to wcale nie pomaga. Czy ktoś ma pomysł, jak rozwiązać ten problem?

Poniżej błędu odpowiednio kiedy używać lub nie '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 

lub

[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 

Moi conf.js wygląda następująco:

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() {}, 
}, 

nie wiem mieć folder selenu w ścieżce node_modules/protractor/node_modules/webdriver-manager ale mam package.json gdzie dodałem "webdrive r-update ":" aktualizacja webdriver-manager ". To wyjście 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 
+0

Jaki jest twój skrypt na 'npm uruchom webdriver-update'? Głównym problemem jest to, że nie pobierasz plików binarnych. – cnishina

+0

Właśnie zaczęłam to widzieć. Czy rozwiązałeś? –

+0

BTW Rozwiązałem mój problem. Okazuje się, że jeśli dodaję: 'npm set dangerous-perm = true' działa mój scenariusz. Nie wiem, czy to ten sam scenariusz, co twój. daj mi znać, a jeśli tak, opublikuję odpowiedź. –

Odpowiedz

17

Wygląda na to są albo za pomocą directConnect lub uruchomienie z dostawcą local kierowcy (nie mającego seleniumAddress lub directConnect) w pliku konfiguracyjnym. Musisz uruchomić webdriver-manager update.

Poprzednio miałem dodatkowe flagi, aby nie pobierać wersji autonomicznej lub gecko z webdriver-manager update --standalone false --gecko false. Nie dzieje się tak już w przypadku, gdy zaczynasz od lokalnego operatora. Będziesz potrzebował samodzielnego pliku jar selenu.

Można uruchomić to za pomocą skryptu w pliku package.json. Coś jak:

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

Następnie wykonaj to za pomocą: npm run webdriver-update. Jak sprawdzić, czy istnieją pliki binarne? W swoim projekcie przejdź do node_modules/protractor/node_modules/webdriver-manager/selenium/. Tutaj znajduje się update-config.json i pobrane pliki binarne.

+0

-> niestety nie jest to mój problem. Nie używam directConnect. Zresztą wypróbowany Twój pomysł, ale nadal robi help :( – EdXX

+0

Używasz Direct Connect, ponieważ tak mówi w swoim dzienniku błędów. Być może należy dodać plik konfiguracyjny do Twojego pytania – cnishina

+0

okej, przepraszam mój błąd, ponieważ po raz użyłem i nie " directConnection”, ale mimo to wciąż pojawia się błąd :( I aktualizowane na moje pytanie? -. można zapoznać się z nim, proszę – EdXX

0

Wystarczy uruchomić to polecenie i naprawi je - "npm uruchom aktualizację Webdriver" aktualizuje webdriver w sekcji node_modules w node_modules/angleractor.

Te 2 linie są głównymi winowajcami. Po prostu spróbuj uruchomić to polecenie i powinno to naprawić twój problem.

[22:21:48] E/direct - Komunikat o błędzie: Nie można znaleźć aktualizacji-config.json. Uruchom "aktualizację programu webdriver-manager", aby pobrać pliki binarne. [22:21:48] E/direct - Błąd: Nie można znaleźć aktualizacji-config.json. Uruchom "aktualizację programu webdriver-manager", aby pobrać pliki binarne.

Nadzieję, że pomaga!

0

Na MacOS, postanowiłem ten błąd dodając seleniumAddress do mojego pliku konfiguracyjnym Kątomierz (I był wcześniej przy użyciu DirectConnect, więc stwierdził, że na zewnątrz):

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

I teraz uruchomić serwer Kątomierz uruchamiając: $ webdriver-manager start

a w innym oknie terminala, zacznę testy z: $ ng e2e

0

można spróbować go zaktualizować tak, to na pewno go zaktualizować w node_modules/kątomierz:

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