目录
- 知识点梳理
- 测试流程
- 知识点练习
- 练习题点评与解析
UI 自动化测试需要哪些技术
- App 自动化测试: Appium、Airtest、ATX 等
Appium 介绍
- 官网: appium.io
- 跨语言 Java、Python、nodejs 等
- 跨平台
- 底层多引擎可切换
- 生态丰富,社区强大
Appium 知识点梳理
环境准备
- MacOS 系统
- Android 模拟器(网易 mumu)
- Appium Server、Appium Client
企业微信实战(添加成员功能)
-
前提条件:
- 1、提前注册企业微信管理员帐号
- 2、手机端安装企业微信
- 3、企业微信 app 处于登录状态
-
通讯录添加成员用例步骤
- 打开【企业微信】应用
- 进入【通讯录】页面
- 点击【添加成员】
- 点击【手动输入添加】
- 输入【姓名】【手机号】并点击【保存】
-
验证点:登录成功提示信息
总结
- pytest 用法(setup/teardown等)
- DesireCapbility的配置
- 元素定位(id,xpath等)
- 交互:click(),send_keys()
- 特殊元素定位:toast 元素 使用xpath
- 等待方式:隐式等待,显式等待
- 获取页面源码:driver.get_pagesource
- 获取元素的属性:get_attribute
企业微信实战(打卡功能)
-
前提条件:
- 1、提前注册企业微信管理员帐号
- 2、手机端安装企业微信
- 3、企业微信 app 处于登录状态
-
实现打卡功能
- 打开【企业微信】应用
- 进入【工作台】页面
- 点击【打卡】
- 选择【外出打卡】tab
- 点击【第 N 次打卡】
-
验证点:提示【外出打卡成功】
总结
- DesireCapbility 高级用法(跳过设备初始化、设置等待时长)
- swipe 封装滑动操作
参考代码 - DesireCapability 配置
caps["noReset"] = "true"
# 等待页面空闲的时间
caps['settings[waitForIdleTimeout]'] = 0
caps['skipServerInstallation'] = ‘true' # 跳过 uiautomator2 server的安装
caps['skipDeviceInitialization'] = ‘true' # 跳过设备初始化
caps['dontStopAppOnReset'] = ‘true' # 启动之前不停止app