与天地兮比寿,与日月兮齐光。这篇文章主要讲述appium自动化 - android相关的知识,希望能为你提供帮助。
1. 获取driver
appium通过生成driver来识别和操作app的UI元素。生成driver时,需要给出被测设备的相关信息。appium官方上的例子如下:
https://github.com/appium-boneyard/sample-code/blob/master/sample-code/examples/java/appium-generic-test/src/test/java/AndoridBrowserLocalTest.java
public static androidDriver< ?> mobiledriver; @BeforeTest public void beforeTest( ) throws MalformedURLException { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(MobileCapabilityType.APPIUM_VERSION, "1.7.2"); capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "4.4"); capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android"); capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,"Appium"); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator"); capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Browser"); capabilities.setCapability("newCommandTimeout", 2000); mobiledriver = new AndroidDriver< > (new URL("http://127.0.0.1:4723/wd/hub"), capabilities); }
Android 第三方被测app举例:
public static AndroidDriver< ?> driver1; public static void main(String[] args) {//set up Appium DesiredCapabilities capabilities1 = new DesiredCapabilities(); capabilities1.setCapability(MobileCapabilityType.AUTOMATION_NAME, "uiautomator2"); capabilities1.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); capabilities1.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9.0.0"); capabilities1.setCapability(MobileCapabilityType.DEVICE_NAME, "PCT-AL10"); capabilities1.setCapability(MobileCapabilityType.UDID, "xxxx"); capabilities1.setCapability("appPackage", "com.xxxx.xxx.demo"); capabilities1.setCapability("appActivity", ".MainActivity"); //for input Chinese capabilities1.setCapability("unicodeKeyboard", true); capabilities1.setCapability("resetKeyboard", true); try { driver1 = new AndroidDriver< > (new URL("http://127.0.0.1:4723/wd/hub"), capabilities1); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); }
}
【appium自动化 - android】如何获取以上信息呢?
- MobileCapabilityType.APPIUM_VERSION: appium服务器的版本。可通过命令行appium -version 或 安装的appium server客户端查看。
- MobileCapabilityType.PLATFORM_VERSION: 操作系统版本。Android可通过命令行 adb -s xxxx(欲连接的deviceID) shell getprop ro.build.version.release来查看。
- MobileCapabilityType.PLATFORM_NAME: Android 或 ios。
- MobileCapabilityType.DEVICE_NAME: 被测设备名。Android可通过命令 adb -s xxxx shell getprop ro.product.model 查看。
- appPackage: 被测app包名。Android可通过命令 adb shell pm list packages | grep xxxx来查看。
- appActivity: 被测app activity名。可通过sdk里带的uiautomatorviewer查看。
- MobileCapabilityType.UDID: 被测设备id。Android可通过命令 adb devices获得。
推荐阅读
- 客户端相关知识学习之Android H5交互Webview实现localStorage数据存储
- "Can’t be opened because Apple cannot check it for malicious software" 解决方案
- AutoMapper 的简单使用
- The "web.xml" is called web application deployment descriptor
- 小程序分享链接功能 - onShareAppMessage
- 使用ADB命令写Android自动化测试脚本
- springboot打包后静态资源webapp文件夹无法打包进去
- AndroidStudio下载安装教程(图文教程)
- app性能测试