APP测试背景

面临的问题

❖ 按⽉发布->按周发布->按⼩时发布

❖ 多端发布: Android iOS 微信⼩程序 h5

❖ 多环境发布: 联调环境 测试环境 预发布环境 线上环境

❖ 多机型发布: 众多设备型号 众多系统版本

❖ 多版本共存: ⽤户群体中存在多个不同的版本

❖ 历史回归测试任务: 成百上千条业务⽤例如何回归

总结: 背锅+加班

如何应对

测试体系梳理

  • 业务测试
  • 专项测试
  • 回归测试

测试分层

UI分层测试

APP测试工具体系

Appium自动化测试_回归测试

什么样的项目不适合做UI⾃动化

❖ 公司节奏慢:⼈⼯测试就可以满⾜公司需求

❖ 初创团队:业务未定型,重构频繁,⽆回归测试压⼒

❖ 业务⽆积累:⼤量⼩功能频繁上线

❖ 测试体系完备:单测、集成测试⾮常完备,完美⾦字塔

自动化测试框架的选择

Appium自动化测试_回归测试_02

Appium自动化测试_webview_03

一、认识Appium

设计理念

Appium自动化测试_回归测试_04

Appium自动化测试_webview_05


二、自动化环境搭建

安装JDK

推荐安装jdk1.8版本,不然使用uiautomatorviewer定位元素时可能会有问题。

安装Android Studio

1.使用Android Studio的模拟器。

当然,还可以使用其他模拟器,如网易木木、夜神模拟器。

2.使用uiautomatorviewer定位。

安装Appium Desktop

安装Nodejs

安装Appium server

三、adb相关命令

  • 安装apk

    ​adb install -r apk路径​

    ​adb install -r /C/Users/huang/Downloads/com.xueqiu.android_12.4.6_254.apk​

    Appium自动化测试_回归测试_06

  • 启动app

    ​adb shell am start -W -n com.xueqiu.android/.view.WelcomeActivityAlias -S​

  • 获取app入口

    ​adb logcat |grep -i displayed​

    打开app,出现的第一个就是app入口。

    Appium自动化测试_android_07

    雪球app入口:com.xueqiu.android/.view.WelcomeActivityAlias

  • 显示模拟器

    ​adb devices​


四、Appium Desktop录制


五、用例编写

1.导⼊依赖

2.设置capabilities

3.初始化driver

4.元素定位与操作find+action

5.断⾔ assert

六、元素定位

xpath定位

单属性定位

逻辑运算符定位

空间关系定位,如先找到共同的父节点,再找同一父节点的其他节点

Appium自动化测试_回归测试_08

Appium自动化测试_回归测试_09

Appium自动化测试_webview_10

id定位

UIAutomator selector定位

比xpath定位要快,但是只能时android使用,一般很少使用,其表达式非常复杂。

定位参考文章



七、常用API


八、Toast控件


九、Webview

Webview是什么

怎么判断时Webview元素

怎么定位Webview元素


十、PO


十一、数据驱动


十二、排查错误

Appium log分析

分析界面数据

脚本外调试

curl命令


十三、python装饰器


十四、微信小程序测试