appium:是适合于app UI自动化测试框架。thoughtworks公司开发。
app类型:
1、原生app:启动运行快、占用空间大
2、WebApp:启动运行慢,依赖网络,占用空间小
3、混合App:综合以上两种app的优点,将常用功能相关数据文件保留在本地,不常用的数据通过网络加载,兼顾空间和运行速度平衡。
adb(android debug bridge)命令:通过adb命令可以与安卓系统通信,并且进行操作使用。
adb devices :列出当前系统连接到的安卓设备
adb disconnect IP:端口号:断开安卓设备的连接
adb connect IP:端口号:连接安卓设备
adb install xxxx.apk:安装apk
aapt dump badging xxx.apk :解析安卓app安装包
adb uninstall app在android内名称: 卸载app
adb shell :进入android 的底层linux系统
adb push windows系统文件路径 安卓系统目录:将文件从windows系统传入android系统
adb pull 安卓系统文件路径 windows目录:将文件从安装系统拉取到windows系统
adb kill-server :关闭adb服务
adb start-server:启动adb服务
monkey:安卓系统自带的一个工具,可以对安卓系统或app进行稳定性测试。通过发送随机操作指令来测试系统的稳定性
元素定位:id(resource-id) 、class 、xpath、uiautomator定位、Accessibility_id(content-desc)
uiautomator:支持使用元素的id、class、text属性定位
toast元素提示信息获取:
toast元素默认class属性值为:android.widget.Toast。
toast元素出现的时间非常短,必须使用显式等待方式定位。必须使用presence_of_element_located()定位
必须在xpath中使用class属性定位。
context切换(上下文切换):在混合app中,原生app和h5页面切换
当看到android.webkit.WebView时,说明嵌套了H5页面。
当需要实现context切换时,必须在capability中设置: 'chromedriverExecutableDir':'chrome浏览器驱动文件存放路径'
原生APP默认context:NATIVE_APP
h5默认context:WEBVIEW
tap():利用坐标实现按压,最多可以设置5个坐标,可以设置按压时间(毫秒)
传参是有坐标组成的列表及时间:tap([(),(),(),()],100)
利用坐标实现按压操作时,需要使用相对坐标。
屏幕滑动
需要使用TouchAction库。
press():按压一个元素或是坐标点
longpress():按压一个元素或是坐标点,可以设置按压时间,单位是毫秒
tap():对元素或坐标执行点击操作
move_to():将指针移动到某个坐标上
wait():暂停一定时间,单位毫秒
release():释放
perform():执行上述操作
多点滑动:需要使用TouchAction()和MultiAction()两个库下的方法实现
app的常用操作:
1、安装app:install_app()
2、卸载app:remove_app()
3、关闭app:close_app()
4、启动app:launch_app()
5、将app至于后台运行一定时间:background_app()
6、打开系统通知栏:open_notifications()
7、判断app是否安装:is_app_installed()
模拟home键、返回键、搜索键:
使用press_keycode()或keyevent()
W3C actions



