本教程将帮助理解Appium自动化工具。它将介绍所需的功能和带有Maven使用的Appium。
在本教程中,将了解-
- 期望的功能是什么?
- 提取文件包和活动信息
所需的功能是什么
“设计的功能”帮助我们在自动化时修改服务器的行为。在Appium中,所有客户端命令都在会话上下文中运行。 例如,客户端向Appium服务器发送包含JSON对象的POST/Session请求。
因此,要发送任何所需的求或维护与服务器的任何所需会话,需要使用一组键和值对。这就是所谓的“DesiredCapabilities”。
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");
}
所需功能的重要作用-
- “DesiredCapability”帮助用户控制与服务器的会话请求。对于Android会话,或者如果我们想要Android会话,那么我们可以将功能设置为PlatformName=Android。
- ‘DesiredCapability’用于设置WebDriver实例,例如:FirefoxDriver、ChromeDriver、InternetExplorerDriver等。
- DesiredCapability对Selenium Grid非常有用。例如:它用于在不同的浏览器和不同的操作系统上访问不同的测试用例。在这里,这些节点是使用‘set’属性方法定义的,例如:
java DesiredCapabilities obj = new DesiredCapabilities(); obj.setBrowserName("firefox"); obj.setVersion("18.0.1"); obj.setPlatform(org.openqa.selenium.Platform.WINDOWS);
- 所需的功能是库定义的包。在使用“DesiredCapability”之前,应将其从下面提到的库中导入
org.openqa.selenium.remote.DesiredCapabilities
Appium同时支持Android和iOS。因此,有一组单独的Appium服务器功能。
下表描述了一些常用的Android功能及其使用价值-
功能 | 描述 | 价值/用途 |
---|---|---|
appPackage | 在Android中调用用户想要运行的所需Java包 | value=com.example.myapp/ Obj.setCapability(“appPackage”, “com.whatsapp”) ; |
appActivity | 用户要从包启动的应用程序活动。 | Value=MainActivity,.Settings Obj.setCapability(“appActivity”, “com.whatsapp.Main”) ; |
appWaitPackage | 应用程序需要等待的包 | 值=com.example.android.myapp |
appWaitActivity | 用户需要等待时间的任何Android活动 | 值=SplashActivity capabilities.setCapability(“appWaitActivity”, “com.example.game.SplashActivity”) |
参考链接‘https://appium.io/docs/en/writing-running-appium/caps/#android-only’查看更多安卓功能
下表描述了一些常用的iOS功能及其价值-
功能 | 描述 | 值 |
---|---|---|
LaunchTimeout | 等待检测的总时间(毫秒) | 2000 |
UDID | 识别连接的物理设备的唯一设备号 | 166aestu4 |
注意-参阅此链接‘http://appium.io/slate/en/master/?java#ios-only’查看更多iOS功能
提取安装包和Activity信息
包与捆绑的可执行文件、类、资源相关。它给出了移动应用程序开发领域中类似概念。
在Android操作系统中,所有应用程序都是以Java包的形式安装的。因此,要提取包路径信息,需要使用Android PackageManager类。
PackageManager检索安装前和安装后应用程序的包和活动信息,它安装在Android设备上。 可以通过调用 getPackageManager() 来获取PackageManager类的实例。
此方法可以访问和操作已安装应用程序的包和相关权限。
例如
PackageManager pManager = getPackageManager();
List<ApplicationInfo> list = pManager.getInstalledApplications(PackageManager.GET_META_DATA)
总结:
- 所需的功能始终在键-值对上运行,以便向Appium Server发送命令。
- 使用‘PackageManager’类提取Android中的应用程序信息。