appium
Pruebas paralelas en Appium
Buscar..
Introducción
Ejecución paralela en appium utilizando concepto GRID de selenio. Por favor encuentre el proceso paso a paso.
Proceso paso a paso
Pruebas paralelas con Appium usando GRID: describiré la forma en que funcionó para mí. Crea Grilla De Selenio Con Appium
- Configure la cuadrícula de selenio Descargue el servidor independiente de Selenium jar en el sistema de archivos local Abra su terminal y navegue al directorio donde colocó el archivo jar y ejecute el siguiente comando:
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.
- Configure los nodos de Appium Aquí tiene que crear los archivos json. Supongamos que desea ejecutar en dos dispositivos y luego crear dos archivos json diferentes. Aquí hay un archivo json, tengo como: {"capacidades": [{"applicationName": "ONEPLUS A3003", "browserName": "ONEPLUS A3003", "platformName": "ANDROID", "maxInstances": 1}] , "configuración": {"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": "your ip address"}} guarde el archivo anterior como jasonFile1.json Aquí applicationName será: > Su Móvil-> configuración-> sobre el teléfono-> Número de modelo Aquí hubHost será su dirección IP Aquí tenga en cuenta que debe ir como ubicación predeterminada de cmd y luego ejecute el siguiente comando
appium --nodeconfig C: /richa/jasonfile1.json -p 4723 -bp 4724 -U xxxx
i) Tenga en cuenta que debe proporcionar el pasaje absoluto del archivo json ubicado ii) puerto como 4723 iii) Bootstrap puerto como 4724 iv) -U, por ejemplo, lo he dado como xxxx
puede encontrar la identificación del dispositivo como -> Su Móvil-> configuraciones-> estado-> Número de serie También puede hacer "adb device" y verificar esta identificación del dispositivo.
Luego creará la cuadrícula de selenio con un dispositivo.
Ahora vuelva a ejecutar el segundo archivo json y obtendrá el inicio de appium. Aquí está el segundo archivo json:
{"capacidades": [{"applicationName": "Lenovo K50a40", "browserName": "Lenovo K50a40", "platformName": "ANDROID", "maxInstances": 1}], "configuración": {"cleanUpCycle": 2000, "timeout": 30000, "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy", "host": "127.0.0.1", "port": 4730, "maxSession": 1, "registro ": true," registerCycle ": 5000," hubPort ": 4444," hubHost ":" your ip address "}} guarda el archivo anterior como jasonFile2.json
Iniciar el segundo nodo con Lenovo móvil. appium --nodeconfig C: / richa / jasonFile2.json -p 4730 -bp 4731 -U xxxx
Selenium Grid se verá así
3) Cree los métodos de ejecución paralelos de TestNG para ejecutar su prueba.
-> Tenga en cuenta que el valor del nombre del dispositivo será el udid que proporcionó anteriormente. Puede obtenerlo ejecutando dispositivos adb en el símbolo del sistema.Ahora cree SearchHotelTestCase.Java como se indica a continuación: package com.trivago.TestCases;
importar java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit;
importar org.openqa.selenium.remote.DesiredCapabilities; importar org.openqa.selenium.remote.RemoteWebDriver; importar org.testng.annotations.BeforeMethod; importar org.testng.annotations.Parameters; importar org.testng.annotations.Test;
import com.trivago.pages.LocaleSelectionPage; import com.trivago.pages.SearchLocation; importar com.trivago.pages.SplashScreenPage;
importar io.appium.java_client.MobileElement; importar io.appium.java_client.android.AndroidDriver;
clase pública SearchHotelTestCase {controlador privado de AndroidDriver;
@Parameters ({"deviceName _", "platformVersion _", "applicationName_"}) @BeforeMethod public void beforeMethod (String deviceName_, String platformVersion_, String applicationName_) lanza MalformedURLException, InterruptedException {
Capacidades de DesiredCapabilities = nuevas DesiredCapabilities (); abilities.setCapability ("deviceName", deviceName_); abilities.setCapability ("platformVersion", platformVersion_); abilities.setCapability ("platformName", "Android"); abilities.setCapability ("applicationName", applicationName_); abilities.setCapability ("app", "/Users/richa.b.shrivastava/Downloads/com.trivago_2017-04-28.apk"); abilities.setCapability ("appPackage", "com.trivago"); abilities.setCapability ("appActivity", "com.trivago.activities.SplashActivity");
URL url = new URL (" http://0.0.0.0:4723/wd/hub/ "); System.out.println ("before webdriver"); controlador = nuevo AndroidDriver (url, capacidades); System.out.println ("after webdriver"); driver.manage (). timeouts (). implitlyWait (10, TimeUnit.SECONDS); Thread.sleep (4000); }
@Test public void SearchHotel () {// Cree los objetos de Page Class LocaleSelectionPage localeSelectionPage = new LocaleSelectionPage (driver); SplashScreenPage splashScreenPage = new SplashScreenPage (controlador); SearchLocation searchLocation = new SearchLocation (controlador);
// Llame a los métodos de la clase de página localeSelectionPage.selectLocale (); splashScreenPage.clickSplashSearchText (); searchLocation.inputSearchText ("París"); searchLocation.selectSuggestions ("Torre Eiffel, París");
}
}