2017-12-22 6 views
0

ich auf realen Geräten einige Tests an Automatisierung mit Appium und Gurke und im Moment versuche ich, 2 Appium Sitzungen eines einzelner Test laufen zu lassen, so etwas wie:mehrere Appium Sitzungen in einem einzigen Testlauf

  • Neues Instanz des Treibers
  • einige Aufgaben Sie
  • Beenden Sie den Treiber
  • eine neue Instanz des Treibers erstellen mit unterschiedlichen Fähigkeiten
  • einige Aufgaben ausführen
  • Beenden Sie den Treiber

Ich frage mich, was der richtige Weg wäre dies in Rubin zu implementieren.

Jeder mit Erfahrung hat irgendwelche Tipps/Ratschläge oder einige Codebeispiele? Oder leiten Sie mich einfach zu einer guten Dokumentation oder einem guten Code weiter.

+0

Warum müssen Sie mehrere Sitzung in einzelnen Test? – Manidroid

Antwort

0
  1. Wenn Sie wollen, die gleichzeitig ausgeführt werden können, müssen Sie X "Knoten appium" Ausführungen mit verschiedenen Häfen schaffen ...

Beispiel:

node appium -p 4723 -bp 4724 -U "Device1_identifier" 
node appium -p 4725 -bp 4726 -U "Device2_identifier" 

Und danach müssen Sie zwei Treiber erstellen

Java-Code

DesiredCapabilities capabilities1 = new DesiredCapabilities(); 
capabilities1.setCapability(...); 
driver= new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities1); 

DesiredCapabilities capabilities2 = new DesiredCapabilities(); 
capabilities2.setCapability(...); 
driver2= new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4725/wd/hub"), capabilities2); 
  1. Mit diesem Argument nur ein appium Server erstellen konnte Sitzungen außer Kraft zu setzen:

Beispiel:

node appium --session-override 

Und dann erstellen ein zweiter Treiber mit anderen Fähigkeiten nach dem Sie mit dem ersten fertig ...

Java-Code

DesiredCapabilities capabilities1 = new DesiredCapabilities(); 
capabilities1.setCapability("udid", "Device1_identifier"); //Not necessary if execution is at the same device 
capabilities1.setCapability(...); 
driver= new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities1); 
//DO THINGS WITH DRIVER HERE 
driver.findElement... 
driver.something... 
//////////////////////////// 

DesiredCapabilities capabilities2 = new DesiredCapabilities(); 
capabilities2.setCapability("udid", "Device2_identifier"); //Not necessary if execution is at the same device 
capabilities2.setCapability(...); 
driver= new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities2); //This will override your first Appium driver 
+0

@Tiago Mateus mi Antwort funktionierte? – barbudito

+0

Entschuldigung für solch eine späte Antwort, war in letzter Zeit so beschäftigt :(aber ja, es hat funktioniert! Danke :) @barbudito –

Verwandte Themen