app功能测试
移动端测试: 移动应用,特性(功能) 满足 需求(产品文档,隐性需求)
App功能测试: 死活背下来
1.业务逻辑正确性测试: 产品文档,隐性需求- 写成测试用例
2.兼容性测试:
1.系统版本:
android版本:官方版本(5.1 4.3 6.0…) 华为 小米 魅族
iOS版本:官方版本
2.分辨率:480x720 1920x 1080,关注点:图片展示
3.网络情况:2G 3G 4G Wi-Fi
3.异常测试:
1.热启动应用:应用置于后台,应用置于前台过程
2.网络切换&中断恢复
3.电话&信息中断恢复
4.升级&安装卸载测试
1.升级:系统升级,渠道升级,临近版本(1.0->1.1),跨版本(1.0->1.5)
2.安装卸载测试:系统版本,首次安装,覆盖安装,卸载后安装,卸载->安装->卸载
5.健壮性测试:
1.手机资源消耗:cpu,内存
2.流量消耗:图片,传输数据压缩
3.崩溃恢复测试:闪退,报错误
自动化测试:
1.重复的工作交给机器去做,解放初一部分人新功能测试和探索性测试
2.新功能和一些很难通过脚本模拟的业务
ADB:
1.帮助:adb —help
2.启动adb server:adb start-server
3.关闭adb server: adb kill-server
4.设备号:adb devices
5.系统版本号:adb shell getprop ro.build.version.release
6.电脑文件发送到手机:adb push 电脑文件路径/文件 手机存储路径
7.从手机拉取文件: adb pull 手机文件路径 电脑文件存储路径
8.查看手机运行日志:adb logcat 扩展 可以通过过滤报名取到指定app运行日志(mac/linux:| grep 包名 win: | findstr 包名)
9.进入手机shell命令行: adb shell 可以操作类Linux命令 top 过滤app占用资源
10.获取app包名和启动名:
1.mac/linux:adb shell dumpsys window windows | grep mFocusedApp
2.win:adb shell dumpsys window windows | findstr mFocusedApp
11.安装apk到手机:adb install apk文件路径
12.卸载app:adb uninstall 包名
13.获取app 启动时间:adb shell am start -W 包名/启动名
14.指定某台设备:adb -s 设备号
Appium:
appium: 封装android官方自动化工具uiautomator
appium原理图:脚本 <-> appium服务 <-> 手机端 ->uiautomator
appium声明手机驱动对象:webdriver.remote(服务地址,启动参数)
关闭app: close_app() # 关闭当前app 但不关闭driver
关闭驱动对象: quit() # 退出手机驱动对象,同时关闭所有关联窗口
启动新的app:start_activity(包名,启动名)
appium-安装app:install_app(app在电脑端的路径)
appium-卸载app:remove_app(包名)
判断app是否安装:is_app_installed(包名) # 安装返回True, 未安装:返回False
appium-电脑文件发送到手机:push_file(手机存储路径,data) # data:base64编码数据
appium-从手机拉取文件:pull_file(手机存储路径) # 返回是base64编码数据
获取当前屏幕内元素结构:page_source # 返回的是<<当前>>屏幕