Sök…


Introduktion

Parallell exekvering i appium med selen GRID-koncept. Vänligen hitta steg för steg-process.

Steg för steg-process

Parallell testning med Appium med GRID: Jag kommer att beskriva det sätt som fungerade för mig. Skapa selenät med Appium

  1. Konfigurera selenätet Ladda ner selenium fristående serverburk på lokalt filsystem Öppna din terminal och navigera till katalogen där du placerade burkfilen och kör följande kommando:
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. Installera Appium-noderna Här måste du skapa json-filerna. Anta att du vill köra på två enheter och skapa två olika json-filer. Här är en json-fil, jag har som: {"kapacitet": [{"applikationsnamn": "ONEPLUS A3003", "browserName": "ONEPLUS A3003", "platformName": "ANDROID", "maxInstances": 1}] , "konfiguration": {"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": "din ip-adress"}} spara filen ovan som jasonFile1.json Här kommer applikationsnamn att vara - > Din mobil-> inställningar-> om telefon-> Modellnummer Här kommer hubHost att vara din ip-adress. Observera att du måste gå som standard cmd-plats och kör sedan under kommandot

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

i) Observera att du måste ange den absoluta delen av json-filen som ligger ii) port som 4723 iii) Bootstrap-port som 4724 iv) -U till exempel har jag angett som xxxx

du kan hitta enhets-id som -> Din mobil-> inställningar-> status-> Serienummer Du kan också göra "adb-enhet" och kontrollera det här enhets-ID.

Sedan skapar det Selenium Grid med en enhet.

Kör nu den andra json-filen igen så kommer du att börja appium. Här är andra json-fil:

{"features": [{"applicationName": "Lenovo K50a40", "browserName": "Lenovo K50a40", "platformName": "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 ":" din ip-adress "}} spara filen ovan som jasonFile2.json

Starta den andra noden med Lenovo mobile. appium --nodeconfig C: / richa / jasonFile2.json -p 4730 -bp 4731 -U xxxx

Selenium Grid kommer att se ut så här

3) Skapa TestNG-parallella exekveringsmetoder för att köra testet.

-> Observera att värdet på enhetsnamnet är det udid du angav tidigare. Du kan få det genom att köra adb-enheter på din kommandotolk.

Skapa nu SearchHotelTestCase.Java som nedan: paket com.trivago.TestCases;

import java.net.MalformedURLEexception; importera java.net.URL; importera java.util.concurrent.TimeUnit;

import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; importera org.testng.annotations.BeforeMethod; import org.testng.annotations.Parameters; importera 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;

public class SearchHotelTestCase {privat drivrutin för AndroidDriver;

@Parameters ({"deviceName _", "platformVersion _", "applicationName_"}) @BeforeMethod public void beforeMethod (String deviceName_, String platformVersion_, String applicationName_) kastar MalformedURLException, InterruptException {

DesiredCapabilities-funktioner = nya DesiredCapabilities (); features.setCapability ("enhetsnamn", enhetsnamn_); features.setCapability ("platformVersion", platformVersion_); features.setCapability ("platformName", "Android"); features.setCapability ("applikationsnamn", applikationsnamn_); features.setCapability ("app", "/Users/richa.b.shrivastava/Downloads/com.trivago_2017-04-28.apk"); features.setCapability ("appPackage", "com.trivago"); features.setCapability ("appActivity", "com.trivago.activities.SplashActivity");

URL url = ny URL (" http://0.0.0.0:4723/wd/hub/ "); System.out.println ("före webbdrivare"); drivrutin = ny AndroidDriver (url, funktioner); System.out.println ("efter webbdrivare"); driver.manage (). timeouts (). implicit Wait (10, TimeUnit.SECONDS); Thread.sleep (4000); }

@Test offentligt ogiltigt SearchHotel () {// Skapa objekt för Sidklass KlassvalSelektionPas localeSelectionPage = new LocaleSelectionPage (drivrutin); SplashScreenPage splashScreenPage = new SplashScreenPage (drivrutin); SearchLocation searchLocation = ny SearchLocation (drivrutin);

// Ring metoderna för sidklassens språkSelectionPage.selectLocale (); splashScreenPage.clickSplashSearchText (); searchLocation.inputSearchText ( "Paris"); searchLocation.selectSuggestions ("Eiffeltornet, Paris");

}

}



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow