一、基于 appium 的UI自动化流程
1. 测试人员编写python 脚本
2. 通过 http协议传输给 appium 服务器 (phpstudy)
3. appium 服务器接收到脚本之后会进行转化,交给不同的操作系统
如果是 ios 的那么就自动调用 bootstrap.js
如果是android 调用 bootstrap.jar
4. 脚本执行完成之后 消息原路返回,测试人员添加断言
那么appium 如何做到跨平台呢?
1. 开源 、免费
2. 跨平台:可以在测试人员的客户端去安装对应的 api 包,例如 appium-python-client
二、自动化需要用到的软件
1. pycharm + python解析器 + appium-python-client
2. 模拟器
3. uiautomator—->android sdk—–> JDK
4. appium服务器 ---》Node JS
三、雷电模拟器安装
安装
1. 启动安装程序
2. 自定义安装目录,不停下一步【 不要有中文、记住安装目录 】
3. 会自动生成 启动图标
配置
1. 在设置中将平板模式切为手机版,同时选择一个较低的分辨率【重启】
2. 进入手机版之后: 打开 USB 调式,显示指针位
打开开发者模式
点击设置下拉最后
点击关于平板,下拉最后
连续多次点击 版本号,直到提交进入开发者选项
回退上级目录,下拉,看到开发者选项
点击开发者选项
3. 打开 USB 调试
4. 打开指针位置
四、安装 android SDK
01 作用
可以帮助我们实现自动化测试
02 安装步骤
1. 将下载好的压缩包,进行解压【 相当于之前的点击exe进行安装 】
2. 将它解压到自定义的安装目录【 路径不要有中文、记住安装在哪 】
03 配置
配置三个 tools 目录所在的路径到系统环境变量
- platform-tools
- tools
- build-tools/25.0.0
五、安装 appium
01 安装步骤
- 启动安装程序
- 可以设置为自已或者为所有安装
- 等待安装成功,桌面上会生成启动图标
02 配置
- 启动 appium服务
- 编辑配置
- 进入具体的配置页,配置二个选项
- JAVA_HOME:
- ANDROID_HOME: 找到本机的 sdk 所在目录(三个tools的父级)
- 配置完成之后执行重启【 NOW 】
- 点击 start server ,看到的界面只要没有红色的叉就OK
六、安装 appium-python-client
01 作用
默认 appium 服务器不认识 python 代码,通过这个包可以让 appium 认识python
02 步骤
在线: pip install appium-python-client==0.28
离线:pip install 压缩包路径
03 验证
pip list 查看是否存在 appium-python-client
七、adb 基本介绍
01 adb 组成
- 客户端:对于我们来讲就是 命令行工具,书写 adb 命令
- 服务端:开启在电脑上进程
- 守护进程:开启在手机上的进程
- 工作过程: 在客户端书写具体命令,服务端接收后发送到手机,守护进程执行命令
02 细节问题
在使用 adb 连接模拟器时有可能出现 版本不匹配。
解决方法:找到更高的那个版本,去替换低的版本。
八、常见ADB命令
01 作用
日后实现 app 自动化时需要通过 adb 命令来获取一些前置信息
02服务管理类
- adb start-server 开启服务
- adb kill-server 关闭服务
03文件操作类
- adb push 本地路径 远端路径
- adb pull 远端路径 本地路径
获取类
- adb devices 获取当前PC机已连接的手机设备
- aapt dump badging 安装包路径 【在只有安装的情况下获取包名与启动】
- adb shell dumpsys window windows |findstr “mFocusedApp”
- adb shell am start -W 包名/启动名
其它
- adb install 安装包路径
- adb uninstall 包名
- adb logcat>自定义名称 【将日志输出到指定位置】
**注意**
1. 进入手机文件管理系统----点击左下角设置-—-点击常规设置–-—-用户访问方式——-超级管理员
2. 在推送和拉取时需要注意不同操作系统路径分割符
3. 包名: 用于唯一标识某一个 APP 【package】
4. 启动名: 用于唯一标识某一个APP内,具体的界面 【activity】
5. 冷启动:后台没有运行,直接第一次打开APP
九、自动化脚本连接手机
- platformName: 设置平台(操作系统) 名称
- platformVersion: 设置平台版本
- deviceName : 设备名称
- appPackage: 定义app包名
- appActivity: 定义 app 启动名
**细节**
1. 保证手机和电脑通过 adb 建立了连接
2. 保证 appium 服务已经开启