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 ();Lijstlijst = 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.