Recherche…


Introduction

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

Processus pas à pas

Tests parallèles avec Appium en utilisant GRID: Je décrirai la manière dont cela a fonctionné pour moi. Créer une grille de sélénium avec Appium

  1. Configurer la grille de sélénium Télécharger le fichier de serveur autonome de sélénium sur le système de fichiers local Ouvrez votre terminal et accédez au répertoire où 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.
  1. Configurer les nœuds Appium Ici, vous devez créer les fichiers json. Supposons que vous voulez exécuter sur deux appareils, puis créez deux fichiers json différents. Voici un fichier json, j'ai comme: {"capacités": [{"applicationName": "ONEPLUS A3003", "browserName": "ONEPLUS A3003", "platformName": "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": "votre adresse IP"}} enregistrez le fichier ci-dessus en tant que jasonFile1.json > Votre mobile-> paramètres-> à propos de téléphone-> numéro de modèle Ici, hubHost sera votre adresse IP Notez ici que vous devez vous rendre par défaut à l'emplacement de cmd, 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 pas absolu du fichier json situé ii) port sous le numéro 4723 iii) Port Bootstrap sous la forme 4724 iv) -U par exemple j'ai donné comme xxxx

Vous pouvez trouver l'identifiant de l'appareil comme -> Votre Mobile-> Paramètres-> Status-> Numéro de série Vous pouvez également faire “adb device” et vérifier cet identifiant d'appareil.

Ensuite, il créera la grille Selenium avec un seul appareil.

Maintenant, exécutez à nouveau le deuxième fichier json et vous obtiendrez l'application lancée. Voici le deuxième fichier json:

{"capabilities": [{"applicationName": "Lenovo K50a40", "browserName": "Lenovo K50a40", "platformName": "ANDROID", "maxInstances": 1}], "configuration": {"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 ":" votre adresse IP "}} enregistrez le fichier ci-dessus en tant que jasonFile2.json

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

Selenium Grid ressemblera à ceci

3) Créez des méthodes d’exécution parallèle TestNG pour exécuter votre test.

-> S'il vous plaît noter la valeur du nom de périphérique sera le udid que vous avez fourni plus tôt. Vous pouvez l'obtenir en exécutant des périphériques adb sur votre invite de commande.

Maintenant, créez SearchHotelTestCase.Java comme ci-dessous: 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;

classe publique SearchHotelTestCase {pilote AndroidDriver privé;

@Parameters ({"deviceName _", "platformVersion _", "applicationName_"}) @BeforeMethod public void beforeMethod (String deviceName_, String platformVersion_, String nomApplication_) déclenche MalformedURLException, InterruptedException {

DesiredCapabilities capacités = new DesiredCapabilities (); capabilities.setCapability ("deviceName", deviceName_); capabilities.setCapability ("platformVersion", platformVersion_); capabilities.setCapability ("platformName", "Android"); capabilities.setCapability ("nom_application", nom_application_); capabilities.setCapability ("app", "/Users/richa.b.shrivastava/Downloads/com.trivago_2017-04-28.apk"); capabilities.setCapability ("appPackage", "com.trivago"); capabilities.setCapability ("appActivity", "com.trivago.activities.SplashActivity");

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

@Test public void SearchHotel () {// Crée les objets de la classe de page LocaleSelectionPage localeSelectionPage = new LocaleSelectionPage (pilote); SplashScreenPage splashScreenPage = new SplashScreenPage (pilote); SearchLocation searchLocation = new SearchLocation (pilote);

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

}

}



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow