Tests parallèles dans Appium

Exécution parallèle dans appium en utilisant le concept GRID de sélénium. Veuillez trouver le processus étape par étape.

Processus étape par étape

Tests parallèles avec Appium à l’aide de GRID : Je vais décrire la manière qui a fonctionné pour moi. Créer une grille de sélénium avec Appium

  1. Configurer la grille de sélénium Téléchargez le fichier jar du serveur autonome Selenium sur le système de fichiers local Ouvrez votre terminal et accédez au répertoire dans lequel vous avez placé le fichier jar et exécutez la commande suivante :

    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.

  2. Configurer les nœuds Appium Ici, vous devez créer les fichiers json. Supposons que vous souhaitiez exécuter sur deux appareils, puis créez deux fichiers json différents. Voici un fichier json, j’ai comme: { “capacités”: [ { “nomApplication”: “ONEPLUS A3003”, “browserName”: “ONEPLUS A3003”, “nomPlateforme”: “ANDROID”, “maxInstances”: 1 } ], “configuration”: { “cleanUpCycle”: 2000, “timeout”: 30000, “proxy”: “org.openqa.grid.selenium.proxy.DefaultRemoteProxy”, “hôte”: “127.0.0.1”, “port”: 4723, “maxSession”: 1, “s’inscrire”: vrai, “registerCycle”: 5000, “hubPort”: 4444, “hubHost”: “votre adresse IP” } } enregistrez le fichier ci-dessus sous jasonFile1.json Ici, le nom de l’application sera -> Votre mobile-> Paramètres-> À propos du téléphone-> Numéro de modèle Ici hubHost sera votre adresse IP Notez ici que vous devez aller comme emplacement cmd par défaut, puis exécuter la commande ci-dessous

appium –nodeconfig C:/richa/jasonfile1.json -p 4723 -bp 4724 -U xxxx

i) Notez que vous devez fournir le passé absolu du fichier json situé ii) port comme 4723 iii) Port d’amorçage en tant que 4724 iv) -U par exemple j’ai donné comme xxxx

vous pouvez trouver l’identifiant de l’appareil sous -> Votre mobile-> paramètres-> statut-> numéro de série Vous pouvez également faire “appareil adb” et vérifier cet identifiant d’appareil.

Ensuite, il créera la grille de sélénium avec un seul appareil.

Maintenant, exécutez à nouveau le deuxième fichier json et vous lancerez Appium Voici le deuxième fichier json :

{ “capacités”: [ { “applicationName”: “Lenovo K50a40”, “browserName”: “Lenovo K50a40”, “nomPlateforme”: “ANDROID”, “maxInstances”: 1 } ], “configuration”: { “cleanUpCycle”: 2000, “timeout”: 30000, “proxy”: “org.openqa.grid.selenium.proxy.DefaultRemoteProxy”, “hôte”: “127.0.0.1”, “port”: 4730, “maxSession”: 1, “s’inscrire”: vrai, “registerCycle”: 5000, “hubPort”: 4444, “hubHost”: “votre adresse IP” } } enregistrez le fichier ci-dessus sous jasonFile2.json

Démarrez le deuxième nœud avec Lenovo mobile. appium –nodeconfig C:/richa/ jasonFile2.json -p 4730 -bp 4731 -U xxxx

La grille de sélénium ressemblera à ceci

  1. Créez des méthodes d’exécution parallèle TestNG pour exécuter votre test.
Veuillez noter que la valeur du nom de l'appareil sera l'udid que vous avez fourni précédemment. Vous pouvez l'obtenir en exécutant des appareils adb sur votre invite de commande.

import java.net.MalformedURLException ; importer java.net.URL ; import java.util.concurrent.TimeUnit ;

importer org.openqa.selenium.remote.DesiredCapabilities ; importer org.openqa.selenium.remote.RemoteWebDriver ; importer org.testng.annotations.BeforeMethod ; importer org.testng.annotations.Parameters ; importer org.testng.annotations.Test ;

importer com.trivago.pages.LocaleSelectionPage ; importer com.trivago.pages.SearchLocation ; importer com.trivago.pages.SplashScreenPage ;

importer io.appium.java_client.MobileElement ; importer io.appium.java_client.android.AndroidDriver ;

classe publique SearchHotelTestCase { pilote privé AndroidDriver ;

@Parameters({ “deviceName_”,“platformVersion_”,“applicationName_” }) @BeforeMethod public void beforeMethod(String deviceName_,String platformVersion_,String applicationName_) lance MalformedURLException, InterruptedException {

Capacités DesiredCapabilities = new DesiredCapabilities(); capacity.setCapability(“deviceName”, deviceName_); capacity.setCapability(“platformVersion”, platformVersion_); capacity.setCapability(“nomPlateforme”, “Android”); capacites.setCapability(“nom_application”, nom_application_); capacity.setCapability(“app”, “/Users/richa.b.shrivastava/Downloads/com.trivago_2017-04-28.apk”); capacity.setCapability(“appPackage”, “com.trivago”); abilities.setCapability(“appActivity”, “com.trivago.activities.SplashActivity”);

URL URL = nouvelle URL(“http://0.0.0.0:4723/wd/hub/”); System.out.println(“avant le pilote Web”); pilote = nouveau AndroidDriver (url, capacités); System.out.println(“après le pilote Web”); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); Thread.sleep(4000); }

@Test public void SearchHotel() { //Créer les objets de Page Class LocaleSelectionPage localeSelectionPage = new LocaleSelectionPage(driver); SplashScreenPage splashScreenPage = nouvelle SplashScreenPage (pilote); SearchLocation searchLocation = new SearchLocation(driver);

//Appelle les méthodes de la classe de page localeSelectionPage.selectLocale(); splashScreenPage.clickSplashSearchText(); searchLocation.inputSearchText(“Paris”); searchLocation.selectSuggestions(“Tour Eiffel, Paris”);

}

}