节前最后一天上班,办公室里已经空了一半还多,没什么具体的工作要做,就想把前些阵用做 UI 测试遇到的一些问题与解决方案总结一下,以 android 平台为主,在这里与大家分享。

Android 手机不能识别

在测试过程中,我们经常遇到手机不能识别的情况 (USB 调试都已经打开,adb server 都工作正常的情况下),特别是在 Linux/MAC

MAC: system_profiler SPUSBDataType 查看 USB 设备

获得第三方应用包名与启动 Activity

我们有时需要与第三方应用交互在 UI 测试过程中,这时需要知道包名与 Activity, 我们可以通过 logcat 获取,但有时第三方应的包名与 activity 名还真是怪异,我们不能完全确定,这时我们可以用 aapt, 它是在 Android-SDK 中 build-tool 目录下

关于中文输入

在 Appium capabilities 里面有两个参数,我们只需设置它们为 TRUE, 但这两个参数只对 ANDROID 平台生效。

webelement.send_keys(u"中国“)

截屏

get_screenshot_as_file(filename)
get_screenshot_as_png(filename)
get_screenshot_as_base64(filename)

长按操作

代码如下(python)

contexts

现在大多数应用都是 Hybird 应用,需要在 Native 与 Webview 之间切换

通过第一条命令获得所有 contexts, 通过第二条命令转换

driver.contexts
driver.switch_to.context(name)


↙↙↙阅读原文可查看相关链接,并与作者交流