2016-11-04 4 views
1

Ich versuche, Nightwatch.js zum ersten Mal einzurichten. Ich folge dem folgenden Tutorial: https://github.com/dwyl/learn-nightwatchFehler beim Abrufen einer neuen Sitzung vom Selenserver

Leider habe ich einen Roadblock getroffen, und ich brauche Hilfe, um es zu lösen.

Fehler beim Abrufen einer neuen Sitzung vom Selenserver. Verbindung abgelehnt! Wird Selenserver gestartet?

enter image description here

nightwatch.conf.js

module.exports = { 
    "src_folders": [ 
    "test"// Where you are storing your Nightwatch e2e/UAT tests 
    ], 
    "output_folder": "./reports", // reports (test outcome) output by nightwatch 
    "selenium": { 
    "start_process": true, // tells nightwatch to start/stop the selenium process 
    "server_path": "./node_modules/nightwatch/bin/selenium.jar", 
    "host": "127.0.0.1", 
    "port": 4444, // standard selenium port 
    "cli_args": { 
     "webdriver.chrome.driver" : "./node_modules/nightwatch/bin/chromedriver" 
    } 
    }, 
    "test_settings": { 
    "default": { 
     "screenshots": { 
     "enabled": true, // if you want to keep screenshots 
     "path": './screenshots' // save screenshots here 
     }, 
     "globals": { 
     "waitForConditionTimeout": 5000 // sometimes internet is slow so wait. 
     }, 
     "desiredCapabilities": { // use Chrome as the default browser for tests 
     "browserName": "chrome" 
     } 
    }, 
    "chrome": { 
     "desiredCapabilities": { 
     "browserName": "chrome", 
     "javascriptEnabled": true // set to false to test progressive enhancement 
     } 
    } 
    } 
} 

guinea-pig.js

module.exports = { // addapted from: https://git.io/vodU0 
    'Guinea Pig Assert Title': function(browser) { 
    browser 
     .url('https://saucelabs.com/test/guinea-pig') 
     .waitForElementVisible('body') 
     .assert.title('I am a page title - Sauce Labs') 
     .saveScreenshot('ginea-pig-test.png') 
     .end(); 
    } 
}; 

Basierend auf den Konfigurationseinstellungen. Ich habe es so einfach wie möglich gehalten. Ich kann die Quelle nicht lokalisieren, wo es andeuten würde, dass ein anderer Selen-Server gestartet wurde. Irgendwelche Ideen?

EDIT: Timeout-Fehler

enter image description here

+0

Ihre fehlerhaften Screenshots scheinen etwas in Chrome (oder) oder sogar ChromeDriver anzudeuten. Aber da Sie den vollständigen Fehler nicht korrekt eingegeben haben, ist es schwer zu sagen. Ich würde vorschlagen, dass Sie zuerst den Fehler ein wenig näher betrachten (oder) den kompletten Fehlerinhalt in Ihrer Frage teilen, so dass es einfach ist herauszufinden, was passiert ist. –

+0

@KrishnanMahadevan hier ist meine Frage mit dem vollständigen Fehler Inhalte, können Sie helfen? http: // Stapelüberlauf.com/questions/40454321/Fehler-wenn-läuft-Selen-Server-via-Nightwatch –

Antwort

1

Die Lösung bestand darin, meine Instanz von Chrome zu löschen (obwohl es die neueste Version war) und den Browser einfach erneut zu installieren.

Ich ermutige alle mit den gleichen Problemen, zuerst die QualiT-Antwort oben zu betrachten, da es die konventionellere Fehlersuchstrategie ist.

1

In Ihrer nightwatch.json Datei, in "Selen"

Stellen Sie sicher, dass Server-Pfad korrekt ist. Stellen Sie sicher, dass Ihr webdriver.chrome.driver-Pfad korrekt ist.

Diese sind spezifisch für Ihre Maschine. Wenn diese sich nicht auf die richtige Datei am richtigen Speicherort beziehen, werden Probleme beim Starten des Selenservers auftreten.

Danach möchten Sie sicherstellen, dass die Version des Selenium-Servers, die Sie haben, mit der Version des Chrome-Treibers arbeiten, die Sie haben und die mit der Version des Chrome-Browsers funktioniert.

Aber wie Krishnan Mahadevan angezeigt, ohne die ganze Fehlermeldung, können wir nicht viel mehr Hilfe sein.

+0

Danke, sie sind in der Tat in die richtige Richtung gerichtet. Das Problem war, dass ich die neueste Version des Selenium-Standalone-Servers benötigte. Wenn ich nun versuche, einen Test auszuführen (guinea-pig.js), erhalte ich jedoch regelmäßig einen Timeout-Fehler. Ich habe sogar einfache Tests ausprobiert, die nur nach einem Seitentitel suchen, und alle scheitern ... Ich habe den letzten Screenshot oben eingefügt, jede Idee, warum das passiert? Das guinea-pig.js ist so konzipiert, dass es ein einfacher Test ist, um sicherzustellen, dass es richtig läuft. Kein Grund, der scheitern sollte! –

+0

Wenn Sie einen neuen Selenium-Server installiert haben, müssen Sie ihn wahrscheinlich stoppen und neu starten. Hier zwei Möglichkeiten: Starten Sie Ihren Rechner neu, gehen Sie online und schauen Sie nach, wie es im Terminal funktioniert. Ich musste das vorher tun, als ich eine neue Version installierte, also wäre das meine erste Vermutung. – QualiT

+0

Leider gleiche Ergebnis immer eine Zeitüberschreitung Fehler zu erhalten :( –

1

Ich hatte das gleiche Problem, wenn ich vue-cli init auf meinem Projekt verwendet. Nachdem ich auf Java 9 aktualisiert habe, wurde dieses Problem behoben.

Verwandte Themen