5

Próbuję konfiguracji Nightwatch i używam najnowszą chromedriver który mówi, że supports chrome v52-54. Jednak, gdy próbuję uruchomić testy, to mówi 'Error: Chrome version must be >=52.0.2743.' Oto wszystko, co używam:Chromedriver błąd „wersja Chrome musi być> = 52” za pomocą Nightwatch

struktura projektu

|-- nightwatch.json 
|-- bin/ 
| |-- chromedriver 
| |-- selenium-server-standalone-2.53.1.jar 
|-- tests/ 
| |-- sample.js 
|-- results/ 
|-- screens/ 
|-- node_modules/ 
| |-- (lots of modules here) 

I tu jest moje configuration file dla Nightwatch:

./nightwatch.json

{ 
    "src_folders" : ["tests"], 
    "output_folder" : "results", 
    "custom_commands_path" : "", 
    "custom_assertions_path" : "", 
    "page_objects_path" : "", 
    "globals_path" : "", 

    "selenium" : { 
    "start_process" : true, 
    "server_path" : "bin/selenium-server-standalone-2.53.1.jar", 
    "log_path" : "results", 
    "host" : "127.0.0.1", 
    "port" : 4444, 
    "cli_args" : { 
     "webdriver.chrome.driver" : "bin/chromedriver" 
    } 
    }, 

    "test_settings" : { 
    "default" : { 
     "launch_url" : "http://localhost", 
     "selenium_port" : 4444, 
     "selenium_host" : "localhost", 
     "silent": true, 
     "screenshots" : { 
     "enabled" : true, 
     "path" : "screens/" 
     }, 
     "desiredCapabilities": { 
     "browserName": "chrome", 
     "javascriptEnabled": true, 
     "acceptSslCerts": true 
     } 
    }, 

    "chrome" : { 
     "desiredCapabilities": { 
     "browserName": "chrome", 
     "javascriptEnabled": true, 
     "acceptSslCerts": true 
     } 
    } 
    } 
} 

uruchamiania testów

uruchomić testy lubię to:

nightwatch tests/ 

Błąd

I pojawia się następujący komunikat:

Starting selenium server... started - PID: 3500 

[Sample] Test Suite 
======================= 

Running: Demo test Google 

Error retrieving a new session from the selenium server 

Connection refused! Is selenium server started? 
{ sessionId: null, 
    status: 13, 
    state: 'unhandled error', 
    value: 
    { message: 'unknown error: Chrome version must be >= 52.0.2743.0\n (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 3.2.0-56-generic x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 1.42 seconds\nBuild info: version: \'2.53.1\', revision: \'a36b8b1\', time: \'2016-06-30 17:37:03\'\nSystem info: host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.arch: \'amd64\', os.version: \'3.2.0-56-generic\', java.version: \'1.7.0_111\'\nDriver info: org.openqa.selenium.chrome.ChromeDriver', 
    suppressed: [], 
    localizedMessage: 'unknown error: Chrome version must be >= 52.0.2743.0\n (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 3.2.0-56-generic x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 1.42 seconds\nBuild info: version: \'2.53.1\', revision: \'a36b8b1\', time: \'2016-06-30 17:37:03\'\nSystem info: host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.arch: \'amd64\', os.version: \'3.2.0-56-generic\', java.version: \'1.7.0_111\'\nDriver info: org.openqa.selenium.chrome.ChromeDriver', 
    buildInformation: 
     { releaseLabel: '2.53.1', 
     buildTime: '2016-06-30 17:37:03', 
     class: 'org.openqa.selenium.internal.BuildInfo', 
     buildRevision: 'a36b8b1', 
     hCode: 1900167016 }, 
    cause: null, 
    systemInformation: 'System info: host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.arch: \'amd64\', os.version: \'3.2.0-56-generic\', java.version: \'1.7.0_111\'', 
    supportUrl: null, 
    class: 'org.openqa.selenium.WebDriverException', 
    additionalInformation: '\nDriver info: org.openqa.selenium.chrome.ChromeDriver', 
    hCode: 1299270263, 
    screen: null }, 
    class: 'org.openqa.selenium.remote.Response', 
    hCode: 1144687147 } 

ktoś wie jak rozwiązać ten problem?

Chrome version must be >= 52.0.2743.0

Czy chromedriver korzystać z lokalnej kopii Chrome? Czy muszę zaktualizować mój aktualny chrome?

+0

Tak, chromedriver używa lokalnej kopii Chrome. Jakiej wersji używasz? – elethan

Odpowiedz

10

Czy chromedriver korzysta z mojej lokalnej kopii chromu? Czy muszę zaktualizować mój aktualny chrome?

Tak, ChromeDriver to plik wykonywalny, którego seloven webdriver używa do sterowania chrome.

Więc selenowy webdriver uruchamia zainstalowany chrome z domyślnej lokalizacji lub niestandardowej lokalizacji, którą możesz podać webmasterowi selenu podczas inicjowania ChromeDriver.

Zasadniczo plik wykonywalny służy do rozmawiania między przeglądarką Chrome a selenowym webdriverem, co nie oznacza, że ​​uruchamia własną przeglądarkę Chrome. Korzysta z zainstalowanej przeglądarki Chrome.

Tak, musisz zaktualizować rzeczywisty zainstalowany chrome.

+1

Oh lol! Cóż, to prosta naprawa :) ty – Kayvar

+0

Mam zaktualizowaną Chrome do najnowszej wersji i nadal nie działa. –

+0

@ChesterRivas jakiej wersji chromedriver używasz? I jaki błąd otrzymujesz? –

8

Tak, ChromeDriver korzysta z lokalnej instalacji Chrome. Jeśli nie chcesz uaktualniać swojej instalacji Chrome, możesz określić wersję ChromeDriver, która będzie działać z zainstalowaną wersją Chrome.

Możesz znaleźć kompatybilne wersje Chrome dla różnych wersji ChromeDriver pod numerem https://chromedriver.storage.googleapis.com/2.25/notes.txt (zmień "2.25" na nowszą wersję, jeśli twoja wersja Chrome jest nowsza niż ta na niej wymieniona).

Jeśli system testowania używa node.js webdriver-manager, wystarczy zainstalować odpowiednią wersję ChromeDriver (utrzymując żadnych już zainstalowane wersje) przy użyciu (np wersji 2.20):

webdriver-manager update --chrome --versions.chrome=2.20 

i określić odpowiednią ChromeDriver wersja podczas uruchamiania selen poprzez webdriver-manager:

webdriver-manager start --versions.chrome=2.20 

Jeśli webdriver-manager jest niedostępny, można po prostu pobrać wymaganą wersję ChromeDriver i korzystać z niektórych tech nique zdać następujący parametr do komendy startowej serwera Selen:

-Dwebdriver.chrome.driver=/path/to/the/desired/chromedriver_version 
+0

'Jeśli nie chcesz uaktualnić swojej instalacji Chrome" - lub w przypadku braku uprawnień administratora do uaktualnienia Chrome! Ta odpowiedź zaoszczędziła mi wielu godzin bólu. Dzięki! – user2954463

2

Jeśli używasz Ubuntu 16,04 Ten kod działa:

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 

x64

sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' 

x32

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' 

Instalacja/Aktualizacja

sudo apt-get update 
sudo apt-get install google-chrome-stable 

Source

+0

pomógł mi zainstalować nowszą wersję Chrome :) dzięki! – Nicholas

+0

Bez zmartwień! Pozdrawiam @Nicholas –

Powiązane problemy