Appium Gewenste capaciteiten voor Android Emulator [Voorbeeld]

Deze tutorial helpt u om APPIUM automation tool te begrijpen. Het behandelt de gewenste mogelijkheden en APPIUM met Maven toepassingen.

In deze tutorial leer je-

Wat zijn gewenste capaciteiten

'Gewenste mogelijkheden' helpen ons het gedrag van de server tijdens automatisering te wijzigen. In Appium, het is een type hashmap of sleutel-waardepaar, dat wordt gebruikt om een ​​commando naar de APPIUM-server te sturen. In APPIUM worden alle clientcommando's uitgevoerd in de context van een sessie.

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

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

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
{
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","Android Emulator");
        capabilities.setCapability("platformVersion", "4.4");
}

Belangrijke rol van gewenst vermogen-

  • 'DesiredCapabilities' helpen de gebruiker het sessieverzoek met de server te beheren. Als we bijvoorbeeld een iOS-sessie willen, kunnen we Capability instellen als PlatformName = iOS. Of als we dat willen Android sessie, dan kunnen we Capability instellen als PlatformName = Android.
  • 'DesiredCapabilities' worden gebruikt om de Webdriver-instantie in te stellen, bijvoorbeeld: FirefoxStuurprogramma, ChromeDriver, InternetExplorerDriver enz.
  • DesiredCapability is erg handig voor Selenium Grid. Bijvoorbeeld: Dit wordt gebruikt om toegang te krijgen tot verschillende testcases op een andere browser en een ander besturingssysteem. Gebaseerd op het genoemde DesiredCapability Grid, zal hub naar het corresponderende knooppunt wijzen. Hier worden deze knooppunten gedefinieerd met behulp van de 'set'-eigenschapsmethode, bijvoorbeeld:
    DesiredCapabilities obj = new 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 beide Android en iOS. Daarom zijn er een aparte set Appium servermogelijkheden.

Onderstaande tabel toont enkele veelgebruikte Android mogelijkheden en de waarde ervan voor gebruik

Mogelijkheden Technische Beschrijving Waarden/gebruik
appPakket Bel gewenst Java pakket in Android dat de gebruiker wil uitvoeren Waarde= com.voorbeeld.mijnapp/

Obj.setCapability(“appPakket”, “com.whatsapp”);

appActiviteit Applicatieactiviteit die de gebruiker vanuit het pakket wil starten. Waarde= Hoofdactiviteit, .Instellingen

Obj.setCapability(“appActivity”, “com.whatsapp.Main”);

appWachtPakket Pakket waarop de applicatie moet wachten Waarde=com.example.android.myapp
appWachtActiviteit Elke Android activiteit waarvoor de gebruiker wachttijd nodig heeft Waarde= SplashActiviteit

mogelijkheden.setCapability ("appWaitActivity", "com.example.game.SplashActivity")

NOTITIE– Raadpleeg deze link 'https://appium.io/docs/en/2.0/' om meer te bekijken Android Mogelijkheden

Onderstaande tabel toont enkele veelgebruikte iOS-mogelijkheden en de gebruikswaarde ervan:

Mogelijkheden Technische Beschrijving Waarden
LaunchTime-out Totale tijd (in ms) die moet worden gewacht op instrumentatie. 2000
U DEED Om het unieke apparaatnummer voor het aangesloten fysieke apparaat te identificeren 166aestu4

NOTITIE- Raadpleeg deze link 'https://appium.io/docs/en/2.0/guides/caps/' 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, verschillende pakketten worden opgeslagen in één enkel Jar-bestand. De gebruiker kan het jar-bestand eenvoudig aanroepen voor volledige uitvoering. Vergelijkbare concepten worden gevolgd in de wereld van mobiele applicatieontwikkeling.

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

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

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

Deze methode heeft toegang tot de pakketten en de bijbehorende toestemming van de geïnstalleerde applicaties en kan deze manipuleren.

Bijvoorbeeld -

PackageManager pManager = getPackageManager();
List<ApplicationInfo> list = pManager.getInstalledApplications(PackageManager.GET_META_DATA)

Samenvatting

  • Desired Capability wordt altijd uitgevoerd op een sleutel-waardepaar om een ​​opdracht naar APPIUM Server te sturen.
  • Gebruik de klasse 'PackageManager' om toepassingsinformatie te extraheren Android.