2016-04-27 4 views
1

Ich kann Nightwatch nicht laufen, um Tests auf Chrom durchzuführen.Nightwatch Chromedriver

Hier ist meine modifizierte nightwatch.json, die ich von der Nachtwache Beispiel heruntergeladen

{ 
    "src_folders" : ["./examples/tests"], 
    "output_folder" : "./examples/reports", 
    "custom_commands_path" : "./examples/custom-commands", 
    "custom_assertions_path" : "", 
    "globals_path" : "./examples/globals.json", 
    "live_output" : false, 

    "selenium" : { 
    "start_process" : false, 
    "server_path" : "/lib/sel-serv.jar", 
    "log_path" : "", 
    "host" : "127.0.0.1", 
    "port" : 4444, 
    "cli_args" : { 
     "webdriver.chrome.driver" : "/lib/chromedriver/chromedriver.exe", 
     "webdriver.ie.driver" : "", 
     "webdriver.firefox.profile" : "" 
    } 
    }, 

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


     "desiredCapabilities": { 
     "name" : "test-example", 
     "browserName": "chrome" 
     }, 
     "globals" : { 
     "myGlobal" : "some_sauce_global" 
     }, 
     "selenium" : { 
     "start_process" : false 
     } 
    } 
} 

Und ich bekomme diese Fehlermeldung:

ERROR There was an error while starting the test runner: 


Error: Invalid testing environment specified: chrome 
    at Object.CliRunner.parseTestSettings (/usr/local/lib/node_modules/nightwatch/lib/runner/cli/clirunner.js:448:15) 
    at Object.CliRunner.init (/usr/local/lib/node_modules/nightwatch/lib/runner/cli/clirunner.js:49:8) 
    at module.exports.runner.runner (/usr/local/lib/node_modules/nightwatch/lib/index.js:546:17) 
    at /usr/local/lib/node_modules/nightwatch/bin/runner.js:9:16 
    at module.exports.cli.cli (/usr/local/lib/node_modules/nightwatch/lib/index.js:504:5) 
    at Object.<anonymous> (/usr/local/lib/node_modules/nightwatch/bin/runner.js:8:14) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 

Ich fand auch einen älteren Beitrag, der sagt, Sie haben um neue Datei im root-Verzeichnis zu erstellen, so versuchen Sie es und nichts passierte

+0

Können Sie versuchen, relative Verzeichnisse anstelle von absoluten zu verwenden? Meine Vermutung ist, dass der Pfad, den Sie in Ihre Konfigurationsdatei einfügen, nicht der Pfad ist, in dem sich Ihr Chrome-Treiber befindet. –

+0

Dies ist der Pfad zum Chrome-Treiber.Ich lege es dort – Andrew

+0

Zweite Vermutung ist, dass Nachtwache absolute Pfade nicht unterstützt. Wenn Sie einen relativen Pfad ausführen, funktioniert das? –

Antwort

3

Ich denke, Sie brauchen einen Punkt vor der lib:

"webdriver.chrome.driver" : "./lib/chromedriver/chromedriver.exe", 

auch die selenium.jar:

"server_path" : "./lib/sel-serv.jar", 
0

Wenn Ihr chromedriver und Selen Standalone-Glas in den Dateien sind auf Sie gerichtet sind, dann denke ich nur die Config fehlen den Server, bevor Tests zu starten Lauf. Siehe die Linie ...

"start_process" : false, 

Sie müssen, dass wie so auf true setzen ...

"start_process" : true, 

Es sei denn, Sie planen, den Server manuell zu starten, bevor Sie die Tests ausführen. Sobald dies geschehen ist, berücksichtigen Sie die oben genannten Pfade. Abhängig davon, ob es unter Windows, Mac oder Linux läuft; dies kann die . vor der / erfordern.

2

Selenium-Server-JAR-Pfad und Chrome-Treiberpfad (.exe) ist nicht korrekt eingestellt. Verwenden Sie Punkt ("."), Um Ihr Arbeitsverzeichnis vor dem Festlegen des Pfads darzustellen. Oder entfernen Sie den Schrägstrich ("/") vor dem chrome-Dateipfad für chrome driver und selen server.

Sie müssen Selenium-Server-Standalone-JAR-Datei manuell ausführen, da Sie "start_process" nicht auf "true" festgelegt haben. Überprüfen Sie die Selenium-Konfiguration hier: http://nightwatchjs.org/gettingstarted/

Sie haben die Eigenschaft start_process zweimal auf false gesetzt. Entfernen Sie das letzte Element aus der JSON-Datei. („Selen“: { „start_process“: false })..

Überprüfen Sie auch Browser-Version und Treiber sind kompatibel oder nicht, bevor Sie die Ausführung starten (Überprüfen Sie die Readme-Datei, von wo aus Sie den Treiber heruntergeladen haben Top line in der readMe-Datei wird Browser-Kompatibilität Versionen haben).

0

überprüfen Sie die Konfigurationsdatei und setzen Sie das Chrom-Objekt aus aus dem Standardobjekt wie,

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

    like this....have a blast 
0

Wir werden diese als Nachtschwärmer-Konfigurationseinstellung.

{ 
    "src_folders" : ["tests"], 
    "output_folder" : "reports", 
    "page_objects_path": "./pages", 
    "selenium" : { 
    "start_process" : true, 
    "server_path" : "./bin/selenium-server-standalone-3.4.0.jar", 
    "log_path" : "", 
    "port" : 4444, 
    "cli_args" : { 
     "webdriver.chrome.driver" : "./bin/chromedriver" 
    } 
    }, 
    "test_settings" : { 
    "default" : { 
     "launch_url" : "http://localhost", 
     "selenium_port" : 4444, 
     "selenium_host" : "localhost", 
     "desiredCapabilities": { 
     "browserName": "chrome", 
     "javascriptEnabled": true, 
     "acceptSslCerts": true 
     } 
    } 
    } 
} 

Hier wurde Chrom als Standardbrower eingestellt.