移动端自动化测试:Appium
一、Appium
1. Appium介绍
- Appium是一个开源移动端自动化测试的框架,可用于原生,混合和移动Web应用程序测试。他使用
WebDriver协议
驱动iOS,Android和Windows应用程序,使用方式和selenium类似(继承) - 优势
- 可以跨平台同时支持Android,iOS
- 支持多种语言,java,Python,PHP,Ruby等
- 工作流程:Appium-client->Appium-server->移动设备
- C/S框架,Appium核心是一个Web服务器,提供了一套接口。他会接受客户端发送过来的命令,然后再移动设备上运行命令,最后把运行结果通过HTTP响应返回给客户端。
- session,每个client连接到server以后都会创建一个session,自动化始终围绕一个session进行。
- 官网
- 官方中文介绍
- Appium/Python-Client使用文档
2.搭建环境
- 安装JDK(Android SDK依赖)
- 安装软件并配置环境变量
- 终端敲java -version有结果证明安装成功
- 安装Android SDK(Appium)
- android-sdk
-
android-studio
-
安装软件并配置环境变量
-
终端敲
adb
,有结果证明安装成功
-
- 模拟器(手机)安装
- 手机要开开发者模式,开启调试
- 模拟器开手机模式,有网络
- 终端敲adb devices,有结果证明安装成功
- adb连接(Android SDK中的一个工具)
- 连接模拟器(手机)
- Appium安装
- 安装Appium软件(服务器)
- Appium服务器
- 安装Appium-Python-Client(写代码)
pip install Appium-Python-Client
3. ADB调试工具
3.1 ADB介绍
- adb(Android Debug Bridge)一个Android调试工具,使用ADB可以直接操作管理Android模拟器或者手机
- 通过命令操作
*Client端:运行在开发机器(电脑),用于发送adb命令
Damon守护进程:运行在调试设备中,模拟器(手机),用于接收adb命令
Server端:运行在开发机器中,用来范例Client端和手机的Damon之间的通信
3.2 ADB常用命令
AndroidKeyCode键盘值:
https://www.cnblogs.com/yutingliuyl/p/7121668.html
回车键:driver.press_keycode(66)
4. 元素定位工具
- Android SDK自带元素定位工具,通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务
- 工具说明
uiautomatorviewer
monitor
- 工具路径
- Linux: sdk目录下的tools/bin
- Windows: sdk目录下的tools
4.1使用步骤
- 双击
- 通过终端命令行
4.2【掌握】元素定位工具的使用
- 保证手机已经连上,通过adb devices
- 打开元素定位工具
- 定位元素
注意
- 自动打开的命令窗口不要关
- 打开工具闪退,说明jdk版本过高
- 软件报错
monitor: 软件图标找不到,重置
5. 快速入门
5.1【掌握】测试环境是否正常
- 保证手机已经连上(开启开发者调试模式,允许调试),通过adb devices
- 启动服务,服务依赖JDK,AndroidSDK环境变量
- 拷贝验证代码,修改安卓版本
5.2【掌握】快速入门
- 保证手机已经连接,打开需要测试的app
- 通过adb命令找到,启动软件的包名,界面名
- 验证是否能启动这个软件
- 定位元素,操作指定的元素
- 写代码
- 启动软件,包名,界面名
- 包名,界面名放在代码的配置信息
- 自动化代码
- 定位元素,操作元素
- 关闭driver