appium
Parallele Prüfung in Appium
Suche…
Einführung
Parallele Ausführung in Appium mit Selen-GRID-Konzept. Bitte finden Sie Schritt für Schritt.
Schritt für Schritt
Parallele Tests mit Appium mit GRID: Ich werde den Weg beschreiben, der für mich funktioniert hat. Erstellen Sie mit Appium ein Selen-Gitter
- Selenium-Grid einrichten Selenium Standalone-Server-JAR im lokalen Dateisystem herunterladen Öffnen Sie Ihr Terminal und navigieren Sie zu dem Verzeichnis, in dem Sie die JAR-Datei abgelegt haben, und führen Sie den folgenden Befehl aus:
java -jar selenium-server-standalone-2.53.3.jar -role hub
Open http://localhost:4444/grid/console and you should be able to see GRID console in your browser.
- Appium-Knoten einrichten Hier müssen Sie die Json-Dateien erstellen. Angenommen, Sie möchten auf zwei Geräten laufen und dann zwei verschiedene Json-Dateien erstellen. Hier ist eine Json-Datei, die ich habe: {"Fähigkeiten": [{"Anwendungsname": "ONEPLUS A3003", "Browsername": "ONEPLUS A3003", "Plattformname": "ANDROID", "maxInstances": 1}] , "configuration": {"cleanUpCycle": 2000, "timeout": 30000, "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", "host": "127.0.0.1", "port": 4723, "maxSession": 1, "register": true, "registerCycle": 5000, "hubPort": 4444, "hubHost": "Ihre IP-Adresse"}} Speichern Sie die obige Datei als jasonFile1.json. Hier wird applicationName - > Ihr Handy-> Einstellungen-> Über Telefon-> Modellnummer Hier wird HubHost Ihre IP-Adresse sein. Beachten Sie, dass Sie als Standard-Cmd-Speicherort gehen und dann unter dem Befehl ausführen müssen
appium --nodeconfig C: /richa/jasonfile1.json -p 4723 -bp 4724 -U xxxx
i) Beachten Sie, dass Sie den absoluten Pasth der json-Datei angeben müssen. ii) port als 4723 iii) Bootstrap-Port als 4724 iv) -U zum Beispiel habe ich als xxxx angegeben
Sie finden die Geräte-ID unter -> Ihr Handy-> Einstellungen-> Status-> Seriennummer Sie können auch "ADB-Gerät" ausführen und diese Geräte-ID überprüfen.
Dann wird das Selen-Gitter mit einem Gerät erstellt.
Führen Sie nun erneut die zweite Json-Datei aus, und Sie können Appium starten. Hier ist die zweite Json-Datei:
{"Fähigkeiten": [{"Anwendungsname": "Lenovo K50a40", "Browsername": "Lenovo K50a40", "Plattformname": "ANDROID", "maxInstances": 1}], "Konfiguration": {"cleanUpCycle": 2000, "timeout": 30000, "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", "host": "127.0.0.1", "port": 4730, "maxSession": 1, "register ": true," registerCycle ": 5000," hubPort ": 4444," hubHost ":" Ihre IP-Adresse "}} Speichern Sie die obige Datei als" jasonFile2.json "
Starten Sie den zweiten Knoten mit Lenovo Mobile. appium --nodeconfig C: / richa / jasonFile2.json -p 4730 -bp 4731 -U xxxx
Selen-Gitter wird so aussehen
3) Erstellen Sie parallele TestNG-Ausführungsmethoden, um Ihren Test auszuführen.
-> Bitte beachten Sie, dass der Wert des Gerätenamens das zuvor angegebene udid ist. Sie können es erhalten, indem Sie Adb-Geräte an der Eingabeaufforderung ausführen.Erstellen Sie nun SearchHotelTestCase.Java wie folgt: package com.trivago.TestCases;
import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit;
import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Parameters; import org.testng.annotations.Test;
import com.trivago.pages.LocaleSelectionPage; import com.trivago.pages.SearchLocation; import com.trivago.pages.SplashScreenPage;
import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver;
öffentliche Klasse SearchHotelTestCase {privater AndroidDriver-Treiber;
@Parameters ({"deviceName _", "platformVersion _", "applicationName_"}) @BeforeMethod public void beforeMethod (String deviceName_, String platformVersion_, String applicationName_) löst MalformedURLException, InterruptedException
DesiredCapabilities-Fähigkeiten = new DesiredCapabilities (); Capabilities.setCapability ("Gerätename", Gerätename_); Capabilities.setCapability ("Plattformversion", Plattformversion_); Capabilities.setCapability ("Plattformname", "Android"); Capabilities.setCapability ("applicationName", applicationName_); Capabilities.setCapability ("app", "/Users/richa.b.shrivastava/Downloads/com.trivago_2017-04-28.apk"); Capabilities.setCapability ("appPackage", "com.trivago"); Fähigkeiten.setCapability ("appActivity", "com.trivago.activities.SplashActivity");
URL-URL = neue URL (" http://0.0.0.0:4723/wd/hub/ "); System.out.println ("before webdriver"); Treiber = neuer AndroidDriver (URL, Fähigkeiten); System.out.println ("after webdriver"); driver.manage (). timeouts (). implicitWait (10, TimeUnit.SECONDS); Fadenschlaf (4000); }
@Test public void SearchHotel () {// Objekte der Seitenklasse LocaleSelectionPage erstellen localeSelectionPage = new LocaleSelectionPage (Treiber); SplashScreenPage splashScreenPage = new SplashScreenPage (Treiber); SearchLocation searchLocation = neuer SearchLocation (Treiber);
// Aufruf der Methoden der Seitenklasse localeSelectionPage.selectLocale (); splashScreenPage.clickSplashSearchText (); searchLocation.inputSearchText ("Paris"); searchLocation.selectSuggestions ("Eiffelturm, Paris");
}
}