appium
Parallelltest i Appium
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
- 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.
- 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");
}
}