Appium Gewenste mogelijkheden voor Android-emulator (voorbeeld)

Inhoudsopgave:

Anonim

Deze tutorial zal u helpen om de APPIUM-automatiseringstool te begrijpen. Het behandelt de gewenste mogelijkheden en APPIUM met Maven-toepassingen.

In deze tutorial leer je-

  • Wat zijn de gewenste mogelijkheden?
  • Informatie over pakketten en activiteiten extraheren

Wat zijn de gewenste mogelijkheden

'Gewenste mogelijkheden' helpen ons om het gedrag van de server tijdens automatisering aan te passen. In Appium is het een type hashmap of sleutel / waarde-paar, dat wordt gebruikt om een ​​commando naar de APPIUM-server te sturen. In APPIUM worden alle clientopdrachten uitgevoerd in de context van een sessie.

Een client heeft bijvoorbeeld een POST- / sessieverzoek met een JSON-object verzonden naar de APPIUM-server.

Om elk gewenst verzoek te verzenden of om elke gewenste sessie met de server te onderhouden, wordt daarom een ​​set van sleutel- en waardeparen gebruikt. Dit staat bekend als 'gewenste mogelijkheden'.

importeer io.appium.java_client.AppiumDriver;importeer org.openqa.selenium.remote.DesiredCapabilities;​DesiredCapabilities-mogelijkheden = nieuwe DesiredCapabilities ();capaciteiten.setCapability ("deviceName", "Android Emulator");capaciteiten.setCapability ("platformVersion", "4.4");​

Belangrijke rol van gewenste capaciteit

  • 'DesiredCapabilities' helpen de gebruiker om het sessieverzoek met de server te beheren. Als we bijvoorbeeld een iOS-sessie willen, kunnen we Capability instellen als PlatformName = iOS. Of als we een Android-sessie willen, kunnen we Capability instellen als PlatformName = Android.
  • 'DesiredCapabilities' worden gebruikt om de Webdriver-instantie in te stellen, bijvoorbeeld: FirefoxDriver, ChromeDriver, InternetExplorerDriver enz.
  • DesiredCapability is erg handig voor Selenium Grid. Bijv .: het wordt gebruikt om toegang te krijgen tot verschillende testgevallen in een andere browser en een ander besturingssysteem. Op basis van het genoemde DesiredCapability Grid, zal de hub naar het overeenkomstige knooppunt verwijzen. Hier worden deze knooppunten gedefinieerd met behulp van de 'set'-eigenschapsmethode, bijvoorbeeld: -
    DesiredCapabilities obj = nieuwe DesiredCapabilities ();obj.setBrowserName ("firefox");obj.setVersion ("18.0.1");obj.setPlatform (org.openqa.selenium.Platform.WINDOWS);
  • Een gewenste mogelijkheid is een door een bibliotheek gedefinieerd pakket. Voordat u 'DesiredCapabilities' gebruikt, moet het worden geïmporteerd uit de onderstaande bibliotheek
    Org.openqa.selenium.remote.DesiredCapabilities

APPIUM ondersteunt zowel Android als iOS. Daarom is er een aparte set Appium-servermogelijkheden.

Onderstaande tabel toont enkele veelgebruikte Android-mogelijkheden en de waarde ervan om te gebruiken-

Mogelijkheden Omschrijving Waarden / toepassingen
appPackage Bel het gewenste Java-pakket in Android dat de gebruiker wil uitvoeren Waarde = com.example.myapp /
Obj.setCapability ("appPackage", "com.whatsapp");
appActivity Toepassingsactiviteit die de gebruiker wil starten vanuit het pakket. Waarde = MainActivity, .Settings
Obj.setCapability ("appActivity", "com.whatsapp.Main");
appWaitPackage Pakket waarvan de applicatie moet wachten Waarde = com.example.android.myapp
appWaitActivity Elke Android-activiteit waarvoor de gebruiker wachttijd nodig heeft Waarde = SplashActivity
mogelijkheden.setCapability ("appWaitActivity", "com.example.game.SplashActivity")

OPMERKING - Raadpleeg deze link 'https://appium.io/docs/en/writing-running-appium/caps/#android-only' om meer Android-mogelijkheden te bekijken

Onderstaande tabel toont enkele veelgebruikte iOS-mogelijkheden en de waarde ervan om te gebruiken-

Mogelijkheden Omschrijving Waarden
LaunchTimeout Totale tijd (in ms) om op instrumentatie te wachten. 2000
U DEED Om een ​​uniek apparaatnummer te identificeren voor het aangesloten fysieke apparaat 166aestu4

OPMERKING - Verwijs naar deze link 'http://appium.io/slate/en/master/?java#ios-only' om meer iOS-mogelijkheden te bekijken

Informatie over pakketten en activiteiten extraheren

Pakketten zijn gerelateerd aan gebundelde bestanden of klassen. Het geeft een georganiseerde structuur aan modulair programmeren. In Java worden verschillende pakketten opgeslagen in één Jar-bestand. De gebruiker kan het jar-bestand gemakkelijk aanroepen voor volledige uitvoering. Soortgelijke concepten volgden in de wereld van de ontwikkeling van mobiele applicaties.

In het Android-besturingssysteem worden alle applicaties geïnstalleerd in de vorm van JAVA-pakketten. Om de padinformatie van het pakket te extraheren, wordt de klasse Android PackageManager gebruikt.

Het haalt pakket- en activiteitsinformatie op van de pre- en post-geïnstalleerde applicatie. Het is geïnstalleerd op Android-apparaten.

U kunt een exemplaar van de klasse PackageManager krijgen door getPackageManager () aan te roepen.

Deze methode kan de pakketten en gerelateerde toestemming van de geïnstalleerde applicaties openen en manipuleren.

Bijvoorbeeld -

PackageManager pManager = getPackageManager ();Lijst  lijst = pManager.getInstalledApplications (PackageManager.GET_META_DATA) 

Overzicht:

  • Gewenste mogelijkheid draait altijd op sleutel / waarde-paar om een ​​commando naar APPIUM Server te sturen.
  • Gebruik de klasse 'PackageManager' om applicatie-informatie in Android te extraheren.