1、常用框架介绍
-Robtium
基于android的一款自动化测试框架,支持JAVA原因,不支持跨平台
-macaca
由阿里巴巴公开发布的一套开源自动化解决方案
使用平台:PC端 android IOS
支持语言:JAVA python nodejs
-Appium
一款国外的开源自动化测试框架
适用平台:android IOS
支持的语言:java python php ruby
社区活跃、资料丰富
-appium的特点
-开源
-支持Native app(全部由android SDK的java代码生成的,原生的app如果页面有变更,就得发一次版本,提交到应用商城去审核)
-webapp (由HTML5 生成) 访问速度慢。H5的代码 以及元素的加载都需要时间
-Hybird app 混合app 是当前使用最多的app
-支持android IOS 两个平台
-支持跨平台 windows linux macos
-支持多语言 java python ruby
2、appium 自动化测试框架的原理
通过此图可以知道 app自动化环境需要使用以下工具
-appium服务器
-基于python的appium客户端
-adb adb工具继承在android-sdk中
-JDK
自动化测试环境的安装
略 从网上搜一下就可以,主要是环境变量的配置
1、JDK的安装及环境变量的配置
2、android sdk的安装及环境变量的配置
3、appium服务端的配置及 jdk android-sdk安装目录的配置
4、appium-client-python的安装 在pycharm中安装即可
二、adb工具
-adb工具 包含了三个部分
-adb客户端,用来下发adb的指令工具
-server服务端 adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行通信
-adb守护进程会伴随着android系统的启动而启动,当android系统关闭后它才会关闭
2.adb常用命令
2.1 adb常用命令(常看设备、启动关闭adb服务)
如果是真机,不要使用一带多的数据线,否则找不到手机设备
-adb devices 查看手机的设备ID名称及状态
emulator-5554 device 中 emulator-5554表示的是手机设备的ID名称,device表示设备处于在线状态
如果不在线是offline,如果adb服务没有启动,下发该命令时会自动启动adb的服务
-adb start-server 启动adb服务
-adb kill-server 关闭adb服务
安装app命令 adb install app路径
2.2 获取包名和界面名
-包名:app报名,通过app的包名来区分不同的app,app包名是唯一的
-界面名(启动名):相当于web页面中的连接地址,在app当中,每个界面都有一个名字
原因:自动化过程中,需要通过app的包名和界面名来启动app。
操作步骤:
-在手机或模拟器上打开app
-windows命令一:>adb shell dumpsys window windows | findstr mFocusedApp
-windows命令二: adb shell dumpsys window windows | findstr "usedApp"
linux/macos 命令一:adb shell dumpsys window windows | grep mFocusedApp
linux/macos 命令二:adb shell dumpsys window windows | grep "usedApp"
-通过aapt获取app的包名和界面名
-aapt dump badging
2.3 安装卸载app
-app安装 adb install 路径/app安装包名称
-app卸载 adb uninstall 包名
2.4 上传下载文件
-上传 将电脑上的文件上传到手机
adb push 电脑上的文件路径 手机的路径
eg: adb push ./mokey.txt /sdcard
-下载文件,从手机上下载文件到本地
adb pull 手机的文件路径 电脑的文件夹路径
eg: adb pull /sdcard/monkey.txt D:\opt
2.5 查看日志信息
为什么要获取日志信息:用来分析问题存在的原因,首先要自己分析日志信息,同时给开发看
adb logcat 来查看相关的日志信息
2.6 测试app的启动速度(性能测试)
-测试app启动速度的命令
adb shell am start -W 包名/界面名
需要关注 total time 的时间指值,在实际测测试过程中,会测试多次并取平均时间
3、稳定性测试(8小时)
- monkey 继承在adb工具中,主要用来做稳定性测试用的,monkey是通过java语言编写的一种稳定性测试工具
主要用来测试app会不会出现crash 崩溃的情况
相当于让一只猴子来随机操作app,所有的操作都可能出现,长时间的操作来测试app会不会出现问题
-monkey常用参数
-p 参数 对指定的app进行随机操作
adb shell monkey -p com.baidu.homework 100
adb shell monkey -p com.bjcsxq.chat.carfriend 100