2017-12-06 2 views
0

Ich verwende das Selenium Grid mit einem Hub auf dem Server. Um das Debuggen einfacher zu machen, möchte ich den Test auf meinem speziellen PC ausführen und nicht auf anderen Knoten. (alle Knoten sind immer online) gibt es so etwas wie eine IP-Fähigkeit? (Alle Knoten laufen mit demselben Browser und derselben Plattform usw.) Ansonsten muss ich eine Grid-Execution.java und eine Local-Execution.java machen? Wenn Sie eine andere Idee haben, wie das geht, lassen Sie es mich wissen! Grüße ArnoSelen: Setzen Sie den Knoten, der durch ip (oder etwas anderes) ausgeführt wird

+0

Erstellen Sie lokale Raster auf Ihrem Computer mit 'Selen-Server-Standalone'. Machen Sie Ihren Computer zu einem Hub und Knoten mit 3-4 Browserinstanzen. Verwenden Sie dann eine Art von Parameter, um IP für einen Hub zu übergeben, um Tests auf einem Remote- oder lokalen Hub auszuführen. –

Antwort

0

In unserem Framework gibt es eine Systemeigenschaft "IsLocal" und es ist immer wahr. Wir setzen es auf false und übergeben zusätzliche Parameter wie hub ip und port number, wenn wir im Grid ausführen wollen.

Auch dieser Wert können wir es übergeben von maven Befehlszeile, wenn wir von IDE dann ausführen, ist der Wert null, wenn es null ist, nimmt es den Standardwert, dh wahr. Es wird also immer lokal ausgeführt. Wenn wir es auf dem Gitter testen müssen, übergeben wir den IsLocal-Systemwert von maven oder der Befehlszeile.

In unserem Treiber Factory starten Browser-Methode. Wir überprüfen diese Eigenschaft immer, wenn es wahr ist, starten wir den Browser mit lokalem Treiber, ansonsten Remote-Web-Treiber. etwas wie unten Code.

boolean IsLocal=true; 
if(System.getProperty("IsLocal")!=null){ 
     IsLocal=System.getProperty("IsLocal"); 
} 

if(IsLocal){ 
    driver=new FirefoxDriver(); 
} 
else{ 
    driver= new RemoteWebDriver(HUBURL, DesiredCap); 
} 
+0

Danke Murthi das funktioniert ganz gut. Akzeptierte Antwort! –

Verwandte Themen