Appium 所需能力 Android 模拟器 [示例]

本教程将帮助您了解 APPIUM 自动化工具。它将涵盖所需的功能以及 APPIUM 与 Maven 的用途。

在本教程中,您将学习-

什么是所需能力

“所需功能”帮助我们在自动化过程中修改服务器的行为。 Appium,它是一种哈希表或键值对,用于向 APPIUM 服务器发送命令。在 APPIUM 中,所有客户端命令都在会话上下文中运行。

例如,客户端向 APPIUM 服务器发送包含 JSON 对象的 POST/session 请求。

因此,要发送任何所需的请求或与服务器维持任何所需的会话,需要使用一组键和值对。这被称为 “所需能力。”

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

所需能力的重要作用-

  • “DesiredCapabilities” 可帮助用户控制与服务器的会话请求。例如,如果我们想要 iOS 会话,那么我们可以将 Capability 设置为 PlatformName = iOS。或者如果我们想要 Android 会话那么我们可以将 Capability 设置为 PlatformName = Android.
  • 'DesiredCapabilities' 用于设置 Webdriver 实例,例如: Firefox驱动程序、ChromeDriver、InternetExplorerDriver 等。
  • DesiredCapability 对于 Selenium 网格。例如:它用于访问不同浏览器和不同操作系统上的不同测试用例。根据提到的 DesiredCapability 网格,集线器将指向相应的节点。在这里,这些节点是使用“set”属性方法定义的,例如:-
    DesiredCapabilities obj = new DesiredCapabilities(); 
    obj.setBrowserName("firefox"); 
    obj.setVersion("18.0.1"); 
    obj.setPlatform(org.openqa.selenium.Platform.WINDOWS);					
    
  • 所需功能是库定义的包。在使用“DesiredCapabilities”之前,应从下面提到的库中导入它
    Org.openqa.selenium.remote.DesiredCapabilities

APPIUM 支持 Android 和 iOS。因此有一组单独的 Appium 服务器功能。

下表列出了一些常用的 Android 能力及其使用价值

能力 描述 价值/用途
应用程序包 需要拨打电话 Java 用户想要运行的 android 包 值 = com.example.myapp/

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

应用活动 用户想要从包中启动的应用程序活动。 值= MainActivity,.Settings

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

appWaitPackage 应用程序需要等待的包 值=com.example.android.myapp
appWaitActivity 不限 Android 用户需要等待时间的活动 值= SplashActivity

功能.setCapability(“appWaitActivity”,“com.example.game.SplashActivity”)

注意– 请参阅此链接'https://appium.io/docs/en/2.0/' 查看更多 Android 能力

下表列出了一些常用的 iOS 功能及其使用价值:

能力 描述 理念
启动超时 等待检测的总时间(以毫秒为单位)。 2000
你做了 识别所连接物理设备的唯一设备号 166aestu4

注意- 请参阅此链接'https://appium.io/docs/en/2.0/guides/caps/' 查看更多 iOS 功能

提取包和活动信息

包与捆绑的文件或类相关。它为模块化编程提供了有组织的结构。在 Java,不同的包存储在单个 Jar 文件中。用户可以轻松调用 jar 文件进行完整执行。移动应用程序开发领域也遵循类似的概念。

In Android 操作系统中,所有应用程序都以 JAVA 包的形式安装。因此,为了提取包路径信息, Android 使用了 PackageManager 类。

它检索安装前和安装后应用程序的包和活动信息。它安装在 Android 设备。

您可以通过调用 getPackageManager() 获取 PackageManager 类的实例。

该方法可以访问并操作已安装应用程序的包和相关权限。

例如 -

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

总结

  • 所需功能始终以键值对运行,以将命令发送到 APPIUM 服务器。
  • 使用“PackageManager”类提取应用程序信息 Android.