Appium2 总结(一)环境搭建以及简单脚本测试
Appium 是一个开源项目和相关软件的生态系统。 软件,旨在促进许多应用程序平台的 UI 自动化,包括移动平台(iOS、 Android、Tizen)、浏览器(Chrome、Firefox、Safari)、桌面(macOS、Windows)、电视(Roku、tvOS、 Android TV、三星)等,它还旨在支持用不同语言(JS、Java、Python 等)编写的自动化代码。
优点:
- 开源
- 支持 Native App(原生应用)、 Web App(移动浏览器应用) 、Hybird App(混合应用)三种 App 类型
- 支持 iOS、 Android、Tizen
- Server 也跨平台,支持 Mac OS、Windows、Linux
- Appium 自动化侧睡不需要重新编译 App
- 支持多语言编写测试脚本,Java、Python、JavaScript 等
1.Appium 环境搭建
(0) Node 安装
已安装,这里不做赘述。
(1) 安装 JDK
由于 jdk 已安装,这里不做赘述。
(2) 安装 Android SDK
Android 开发专用的 IDE 是 Android Studio
,在下载安装 Android Studio
的过程中,会自行下载sdk
,sdk 中会包含adb环境
,所以这里我们先下载一个 Android Studio
,然后找到 sdk
位置 ,配置环境变量。
1️⃣使用 brew --cask
安装 android-studio
1 | brew install --cask android-studio |
2️⃣打开 Android Studio(一路下一步后)→More Actions→Android SDK Location,找到 sdk 位置
3️⃣配置环境变量
1 | vi ~/.zshrc |
在.zshrc
中插入
1 | export ANDROID_HOME=/Users/xxxxx/Library/Android/sdk |
保存退出后,刷新配置文件
1 | source ~/.zshrc |
4️⃣验证是否安装成功
1 | adb --version |
(3) 安装 Appium
Appium 有界面的版本安装:(这个版本是 Appium1 已经不维护了,最新版的都是基于无界面版本的,若要使用则需要降低 Appium 版本)
1 | brew install --cask appium |
Appium 命令版本安装:(版本是 Appium v2.11.2)
1 | brew install appium |
Appium 安装后,安装安卓 uiautomator2 驱动(版本是 uiautomator2@3.7.4)
1 | appium driver install uiautomator2 |
安装 ios xcuitest 驱动(版本是 xcuitest@7.24.3)
1 | appium driver install xcuitest |
(4) 安装模拟器
常用的除了 Android Studio 自带的原生安卓外(有点慢),夜神、mumu 等模拟器也可以。
2.ADB 常见命令(顺手复习总结一下)
ADB 全名是 Android Debug Bridge,是一个手机调试工具。
Client 端:运行在开发机器中,用来发送 adb 命令。
Server 端:运行在开发机器中,用来管理 Client 端和手机的 Daemon 之前的通信。
Daemon 守护进程:运行在调试设备中,手机或模拟器,用来接受并执行 adb 命令。
常用命令
1️⃣获取包名和界面名
- 包名(package):决定程序的唯一性(不是应用的名字)
- 界面名(activity):目前可以理解,一个界面名,对应着一个界面
例如:
首先进入所需要获取的信息的界面,如我们打开计算器:
1 | # mac/linux,包名为:com.huawei.calculator 界面名[启动名]:.Calculator |
1 | # window: |
2️⃣文件传输
- 上传文件
1 | # adb push 电脑的文件路径 手机的文件路径 |
- 下载文件
1 | # adb pull 手机的文件路径 电脑的文件路径 |
3️⃣app 启动时间
测试人员对于 App 的启动速度必须进行测试,测试标准如下:
- 需求有明确的启动时间指标
- 参考同类软件,启动时间不能大于竞争对手的启动时间
1 | # adb shell am start -W 包名/界面名[启动名](先不用启动~) |
4️⃣获取手机日志
当测试过程中发现问题后想获取错误日志信息:
- 打开被测应用程序,进入到出发缺陷的位置
- 使用查看日志命令:adb logcat
- 触发缺陷
- 获取日志信息
- 停止 ctrl+c
1 | adb logcat |
其他指令
No | 命令 | 说明 |
---|---|---|
1 | adb connect ip: 端口号 | 连接手机 / 模拟器,ip 为模拟器的 ip 地址 |
2 | adb disconnect ip: 端口号 | 断开连接手机 / 模拟器 |
3 | adb devices | 获取当前电脑已经连接设备和对应的设备号 |
4 | adb shell | 进入到安卓手机内部的 Linux 系统命令行中 |
5 | adb start-server | 启动 adb 服务端,出 bug 时使用可以重启服务器,先关闭在启动 |
6 | adb kill-server | 停止 adb 服务端,出 bug 时使用可以重启服务器,先关闭在启动 |
7 | adb –help | 查看 adb 帮助,命令记不清楚时有用 |
8 | adb install 路径 /xxx.apk | 安装 app 到手机 |
9 | adb uninstall 包名 | 卸载手机上的 app,需要指定包名 |
10 | adb shell ps | 是显示当前控制台下属于当前用户的进程 |
11 | adb root | 有时报错权限不足时使用 |
12 | adb remount | 将 /system 部分置于可写入的模式,报错是 |
13 | adb reboot | 重启 Android 设备 |
3. 第一个测试 python 测试程序
1️⃣在 pycharm 上新建一个项目
2️⃣在 pycharm 上安装 Appium-Python-Client
Appium Python Client 是官方的 Appium Python 客户端,可通过 pypi 里包名为 Appium-Python-Client 进行安装。 它继承自 Selenium Python Binding, 因此安装 Appium Python 客户端时会包含 selenium 绑定。
1 | (.venv) ➜ StudyAppium pip install Appium-Python-Client |
3️⃣在 pycharm 上新建一个文件 test_appium.py
1 | import unittest |
4️⃣在终端连接安装模拟器
1 | ➜ ~ adb connect 192.168.XX.XX:5555 |
5️⃣在终端启动 Appium
1 | ➜ ~ appium |
6️⃣在 pycharm 上运行 test_appium.py
,测试通过。