appium介绍
自动化原理
app自动化环境需要的工具:
- appium服务器
- 基于python的appium客户端(appium-client-python)
- adb(adb集成在android-sdk中)
- JDK
adb工具
adb工具构成及原理
- adb 包含了三个部分
- adb客户端用来下发adb的指令工具
- Server服务器adb.exe执行之后的进行,表示adb的服务端,通过服务端与手机的adb守护进程进行通信
- adb守护进程随着android系统的启动而启动,当android系统关闭之后他才会关闭
开启链接
adb connect 127.0.0.1:7555
adb devices
查看当前软件
windows
命令:adb shell dumpsys window windows | findstr mFocusedApp 显示当前app
结果:mFocusedApp=AppWindowToken{596356b token=Token{816f2ba ActivityRecord{2c027e5 u0 com.bjcsxq.chat.carfriend/.module_main.activity.MainActivity t42}}}
com.bjcsxq.chat.carfriend 是包名
.module_main.activity.MainActivity t42 当前页面
adb shell dumpsys window | grep "usedApp" 显示之前还当前打开的的app
查看包的名字
aapt dump badging 地址/安装包的名字
安装卸载app
-
app安装 adb install路径/app安装包名称
-
app卸载 adb uninstall 包名
上传下载文件
- 上传 将电脑的文件上传到手机
adb push 电脑上的文件路径 手机的路径
- 下载文件 从手机上下载文件到本地
adb pull 手机的文件路径 电脑的文件夹路径
查看日志信息
adb logcat
测试app的启动速度(性能测试)
adb shell am start -W 包名/界面名
稳定新测试
- monkey 常用的参数
- -p参数 对指定的app进行随机操作
adb shell monkey -p com.baidu.homework -v 100
adb shell monkey -p com.baidu.homework -v-v 100 打印出信息比较详细
adb shell monkey -p com.baidu.homework -v-v-v 100 打印出信息更详细
-s用于指定伪随机数。如果两次的伪随机数相同,那么两次的操作步骤、流程、操作时间完全一致
主要的作用,就是用来复现上次的问题
adb shell monkey -p com.baidu.homework -v-v-s 10 100
-throttle用于指定随机时间的间隔时间,单位是毫秒
adb shell monkey -p com.baidu.homework -v-v --throttle 100
adb 收拾操作
手势操作命令模拟点击事件
adb shell input tap x y # x y表示的是坐标点 参数之间用空格隔开
模拟滑屏事件(参数之间用空格隔开)
adb shell input swipe startx starty endx endy # startx starty起始点 , endx endy是终点
模拟键盘操作
adb shell input keyevent 键值(3 表示的HOME键 4 代表的返回键 66 表示的回车键)
模拟输入操作
adb shell input text 内容 内容不能是中文