2016-04-14 9 views
0

Ich benutze Winkelmesser für einige meiner End-to-End-Tests. Wir möchten eine Reihe von Aktionen ausführen, basierend auf dem Selenium-Knoten, auf dem wir laufen, so dass wir vermeiden, dass sich einige Tests gegenseitig stören, wenn sie gleichzeitig laufen. Wie könnte ich den Selenknoten erhalten, den mein Selen-Hub für meinen Test zulässt?Winkelmesser - Get selen Knoten der Test läuft auf

Mit der möglichen Lösung der doppelten Frage habe ich versucht, die folgenden zu sehen, welche Testfahrten api mir

browser.getSession().then(function (session) { 
    var hub = "http://localhost:4444"; //IP or hostname of GRID 

    var url = hub + "/grid/api/testsession?session=" + session.getId(); 
    console.log(url); 
}); 

geben würde und dann während meines Test ich läuft dann die URL aus dem Browser manuell treffen würde, die bekamen ausgedruckt

http://localhost:4444/grid/api/testsession?session=17e14d0e-38da-4269-b23c-3b2d52569383

jedoch die Antwort bekomme ich zurück ist

{"success":false,"msg":"Cannot find test slot running session 8ca57382-d7d8-44ae-b3bc-8c1223c86805 in the registry."} 

Sollte ich die Sitzung jetzt anders bekommen?

+0

ich Ihre Frage nicht nach unten stimmen Sie zu finden, aber es ist ein Duplikat von [dieser] (http://stackoverflow.com/questions/6898735/Selen-2-Grid-Wissen-welche-Node-your-test-is-using). Google ** Selen Grid bekommen Knoten ID ** – MikeJRamsey56

+0

@ MikeJRamsey56 aus irgendeinem Grund hat das nicht funktioniert. Wird meine Frage mit dem, was ich bisher getan habe, aktualisiert – user3626708

+0

Haben Sie die 2. Antwort angesehen? – MikeJRamsey56

Antwort

2

Also mein Code-Schnipsel Setzung andere die Lösung als auch

browser.driver.getCapabilities().then(function (capabilities) { 
     var hub = "http://localhost:4444"; //IP or hostname of GRID 

     var url = hub + "/grid/api/testsession?session=" + capabilities.caps_['webdriver.remote.sessionid']; 

     var res = request('GET', url); 
     var testSession = JSON.parse(res.getBody().toString()); 
     var URL = new urlParse(testSession.proxyId); 
     console.log(URL.host); 
    });