ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## UI自动化测试方案(UIAutomator) ### 优点 1. Google自家推出,其稳定性和后续的维护更新可以得到保障,运行也有更多的权限。 2. 可以跨进程操作,这点比起其他基于instrumention框架的自动化工具如Robotium是无法直接做到的。 3. 运行速度快。 ### 缺点: 1. 不支持Android4.1以下的版本。 2. 不支持Webview,所以一般无法对浏览器应用进行测试。 ## 原理: Google的UIAutomator参考微软的UIAutomation提供的一套用在Android上的自动化测试框架。 基于Android AccessilibilityService。 在这里简单介绍一下:AccessilibilityService是一个可访问服务,它是一个为增强用户界面并帮助残疾用户的应用程序,或者用户可能无法完全与设备交互。 ## 使用 ### 获取app界面元素 使用 uiautomatorviewer 工具可以查看UI元素 uiautomatorviewer 位于 {android\_sdk}/tools/bin/uiautomatorviewer ### 常用的API ~~~ //UiDevice用于操作设备以及范围设备属性以及界面元素 UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation(); // 模拟点击home键 device.pressHome(); // 模拟点击back键 device.pressBack(); //查找界面中的元素 UiObject2 title = device.findObject(By.res(TestConstant.PACKAGE_NAME, "dialogTitle")); //断言 Assert.assertEquals("服务协议和隐私政策", title.getText()); ~~~