0

Ich habe einen einfachen Test, um die Launch_url in Chrome zu öffnen. Aber ich erhalte einen Fehler, da ich keine neue Sitzung abrufen kann.Nightwatch: Fehler beim Abrufen einer neuen Sitzung vom Selenserver

Auch würde ich gerne wissen, wie kann ich die Nachtwache verwenden, ohne im Raster zu laufen. Nur eine eigenständige Instanz.

Unten ist die Konfiguration, die ich verwendet habe.

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

    "selenium" : { 
    "start_process" : false, 
    "server_path" : "./bin/selenium-server-standalone-3.4.0.jar", 
    "log_path" : "", 
    "port" : 4444, 
    "cli_args" : { 
     "webdriver.chrome.driver" : "./bin/chromedriver.exe", 
     "webdriver.gecko.driver" : "", 
     "webdriver.edge.driver" : "" 
    } 
    }, 

    "test_settings" : { 
    "default" : { 
     "launch_url" : "http://127.0.0.1", 
     "selenium_port" : 4444, 
     "selenium_host" : "127.0.0.1", 
     "silent": true, 
     "screenshots" : { 
     "enabled" : false, 
     "path" : "" 
     }, 
     "desiredCapabilities": { 
     "browserName": "firefox", 
     "marionette": true 
     } 
    }, 

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

    "edge" : { 
     "desiredCapabilities": { 
     "browserName": "MicrosoftEdge" 
     } 
    } 
    } 
} 

Wenn ich Nachtwache mit dem Befehl Nachtschwärmer --env Chrom oder einfach Nachtwache laufen, gibt es mir die folgenden Fehler

[Test1] Test Suite 
====================== 

Running: Demo test 
http://127.0.0.1 

Error retrieving a new session from the selenium server 

Connection refused! Is selenium server started? 
{ status: 13, 
    value: 
    { message: 'Error forwarding the new session Empty pool of VM for setup Capabilities [{acceptSslCerts=true, marionette=true, name=Test1, browserName=chrome, javascriptEnabled=true, platform=ANY}]', 
    class: 'org.openqa.grid.common.exception.GridException' } } 

My Test etwas wie

module.exports = { 
    'Demo test' : function (browser) { 
    console.log(browser.launchUrl); 
    browser 
     .url(browser.launchUrl) 
     .end(); 
    } 
}; 

sieht ich kann Beachten Sie, dass die Start-URL in der Konsole angemeldet ist, der Browser jedoch nicht gestartet wird. Ich benutze die neueste JAR-Datei und die Chromedriver-Binärdatei.

+0

Haben Sie versucht, "start_process" zu setzen: false, "start_process": true,? – QualiT

Antwort

1

Ich habe gerade dies einen Versuch und hier ist das, was ich aus

In Ihrem selenium Konfigurationsabschnitt

Ich sehe herausgefunden haben, dass Sie start_process als false gesetzt haben.

"selenium" : { 
    "start_process" : false, 
    "server_path" : "./bin/selenium-server-standalone-3.4.0.jar", 
    "log_path" : "", 
    "port" : 4444, 
    "cli_args" : { 
     "webdriver.chrome.driver" : "./bin/chromedriver.exe", 
     "webdriver.gecko.driver" : "", 
     "webdriver.edge.driver" : "" 
    } 
}, 

Wenn Sie den Wert als false haben, können Sie im Wesentlichen die Befreiung von diesem Abschnitt erhalten selbst (weil es nicht überhaupt pro Konfiguration verwendet werden soll)

Sie sind im Wesentlichen sagen, Nachtwache, dass es sollte kein Selen-Server selbst versuchen und starten, aber es sollte nur an den Selen-Server auf Port 4444 (Diese Werte werden erhalten aus default Abschnitt Ihrer test_settings Abschnitt

"default" : { 
    "launch_url" : "http://www.google.com", 
    "selenium_port" : 4444, 
    "selenium_host" : "127.0.0.1", 
    "silent": false, 
    "screenshots" : { 
    "enabled" : false, 
    "path" : "" 
    }, 
    "desiredCapabilities": { 
    "browserName": "firefox", 
    "marionette": true 
    } 
}, 
läuft verbinden

Bis jetzt sind wir gut. Bevor du also nightwatch rate hast ratetest du den Selenserver aber im falschen Modus.

java -jar selenium-server-standalone-3.4.0.jar -role hub

Dies bewirkt, dass ein Hub gestartet werden

Ich glaube, Sie den Server mit dem folgenden Befehl gestartet. Ein Hub ist wie ein manager. Es kann die Arbeit (das Starten von Browsern, das Öffnen von URLs, das Schreiben von Texten, das Klicken von Links usw.) nicht alleine erledigen. Es muss node verfügbar sein, damit es alle seine Arbeit an den Knoten weiterleiten kann.

Der Fehler Error forwarding the new session Empty pool of VM for setup Capabilities [{acceptSslCerts=true, marionette=true, name=Nightwatchtest, browserName=firefox, javascriptEnabled=true, platform=ANY}]' ist im Wesentlichen die Art des Selenium Grid, Ihnen zu sagen, dass Sie in keine Knoten verdrahtet sind, damit es den Datenverkehr zu leiten.

Also, um das Problem zu beheben, können Sie eine der folgenden Aktionen:

  1. den Selen-Server im Standalone-Modus starten [weder als Hub oder als Knoten], mit dem Befehl java -jar selenium-server-standalone-3.4.0.jar (oder)
  2. Flip die Flagge start_process zu true in Ihrer Konfigurationsdatei, die Nachtwächter zu starten und stoppen den Server selbst verursacht.
Verwandte Themen