Учебники

5) Appium Желаемые возможности

Этот учебник поможет вам понять инструмент автоматизации APPIUM. Он будет охватывать желаемые возможности и APPIUM с использованием Maven.

В этом уроке вы узнаете

Что такое желаемые возможности

«Желаемые возможности» помогают нам изменять поведение сервера во время автоматизации. В Appium это тип хэш-карты или пары ключ-значение, используемый для отправки команды на сервер APPIUM. В APPIUM все клиентские команды выполняются в контексте сеанса.

Например, клиент отправил запрос POST / сеанса, содержащий объект JSON, на сервер APPIUM.

Следовательно, для отправки любого желаемого запроса или для поддержания любого желаемого сеанса с сервером используется набор пары ключ и значение. Это известно как «Желаемые возможности».

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");
}

Важная роль желаемой способности

APPIUM supports both Android and iOS. Therefore there are a separate set of Appium server capabilities.

Below table depicts some commonly used Android capabilities and its value to use-

Capabilities Description Values/Uses
appPackage Call desired Java package in android that user want to run Value= com.example.myapp/

Obj.setCapability(«appPackage», «com.whatsapp»);

appActivity Application Activity that user wants to launch from the package. Value= MainActivity, .Settings

Obj.setCapability(«appActivity», «com.whatsapp.Main»);

appWaitPackage Package from which application needs to wait for Value=com.example.android.myapp
appWaitActivity Any Android activity that user need wait time Value= SplashActivity

capabilities.setCapability(«appWaitActivity», «com.example.game.SplashActivity»)

NOTE— Refer this link ‘https://appium.io/docs/en/writing-running-appium/caps/#android-only‘ to view more Android Capabilities

Below table depicts some commonly used iOS capabilities and its value to use-

Capabilities Description Values
LaunchTimeout Total time (in ms) to wait for instrumentation. 2000
UDID To identify unique device number for connected physical device 166aestu4

NOTE- Refer this link ‘http://appium.io/slate/en/master/?java#ios-only ‘ to view more iOS Capabilities

Extracting Packages & Activities information

Packages are related to bundled files or classes. It gives an organized structure to modular programming. In Java, different packages are stored in a single Jar file. The user can easily call the jar file for full execution. Similar concepts followed in Mobile application development world.

In Android operating system, all applications are installed in the form of JAVA packages. Hence, to extract packages path information, Android PackageManager class is used.

It retrieves package and activity information of pre and post installed application. It is installed in Android devices.

Вы можете получить экземпляр класса PackageManager, вызвав getPackageManager ().

Этот метод может обращаться к пакетам и соответствующим разрешениям установленных приложений и манипулировать ими.

Например —

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

Резюме:

  • Требуемая возможность всегда выполняется на паре ключ-значение для отправки команды на сервер APPIUM.
  • Используйте класс PackageManager для извлечения информации о приложении в Android.