手机自动化Appium 2 的安装使用
Appium 是一个开源的移动端自动化测试工具,支持 Android 和 iOS 应用的自动化测试。Appium 2 是 Appium 的最新版本,它带来了许多新特性和改进。在本教程中,我们将学习如何从零开始搭建 Appium 2 的手机自动化测试环境。
Appium 2 安装与手机自动化测试环境搭建教程
简介
Appium 是一个开源的移动端自动化测试工具,支持 Android 和 iOS 应用的自动化测试。Appium 2 是 Appium 的最新版本,它带来了许多新特性和改进。在本教程中,我们将学习如何从零开始搭建 Appium 2 的手机自动化测试环境。
1准备工作
在开始之前,请确保您已经安装了以下软件:
- Node.js (版本 12 或更高)
- npm (随 Node.js 一起安装)
- Java JDK (版本 8 或更高)
- Android SDK
2. 验证环境变量配置
打开cmd命令行窗口,输入以下命令并按回车键:
java -verbose
python --version
node -v
npm -v
java -version
adb devices
3. 配置 Path
环境变量
这些命令将分别显示 Node.js、npm、Java JDK 和 Android SDK 的版本信息。如果配置正确,您应该能够看到版本号。
-
在配置 Node.js、npm、Java JDK 和 Android SDK 的环境变量时,我们需要将它们的安装目录添加到系统的环境变量中,以便能够在命令行中全局访问这些工具。以下是在 Windows 10 系统中配置环境变量的步骤:
1. 打开环境变量设置
- 右键点击电脑左下角的“开始”按钮,选择“系统”。
- 在左侧栏选择“高级系统设置”。
- 在弹出的系统属性窗口中,点击“环境变量”按钮。
- 在“环境变量”窗口中,找到“系统变量”下的
Path
变量,点击“编辑”。 - 点击“新建”,然后添加 Node.js 的安装目录(例如
C:\Program Files\nodejs\
)。 - 点击“新建”,然后添加 Java JDK 的安装目录中的
bin
目录(例如C:\Program Files\Java\jdk1.8.0_221\bin\
)。 - 点击“新建”,然后添加 Android SDK 的
tools
目录和platform-tools
目录(例如C:\Users\YourName\AppData\Local\Android\Sdk\tools\
和C:\Users\YourName\AppData\Local\Android\Sdk\platform-tools\
)。 - 点击“确定”保存并退出。
java -verbose
python --version
node -v
npm -v
java -version
adb devices
安装 Appium 2
Appium 2 可以通过 npm 安装。打开命令行窗口,运行以下命令:
npm install -g appium
这将全局安装 Appium 2。安装完成后,您可以通过运行 appium --version
命令来检查 Appium 2 的版本。
安装 Appium 客户端
Appium 客户端是用于编写测试脚本的语言库。您可以根据您的编程语言选择合适的客户端。例如,如果您使用 Python,您可以安装 Appium-Python-Client:
pip install Appium-Python-Client
bash复制代码
配置 Android 环境
- 解压下载的 Android SDK 压缩包,将其保存到您选择的位置。
- 在 Android SDK 安装向导中,选择所需的 SDK 平台和工具,然后安装它们。
- 将 Android SDK 的
platform-tools
和tools
目录添加到系统环境变量的PATH
中。 - 在设备上启用 USB 调试模式。
配置 iOS 环境
- 安装 Xcode。
- 打开 Xcode,同意许可协议,然后安装命令行工具。
- 在设备上启用 USB 调试模式。
启动 Appium 服务器
在命令行窗口中,运行以下命令:如果还没启动服务器就启动,标记的客户端要用到
npm install -g appium-driver
appium driver install uiautomator2
appium driver list --installed
appium --base-path=/wd/hub
下载桌面客户端
https://github.com/appium/appium-inspector/releases
下载zip少折磨,其他自行探索
解压后运行appium-inspector.exe
设置中文填写客户端连接服务端的地址
json复制到json表示,之后保存
{
"platformName": "Android",
"appium:deviceName": "5xcafqbacypz",
"appium:appPackage": "com.miui.home",
"appium:appActivity": ".activity.SplashActivity",
"appium:automationName": "UiAutomator2",
"appium:noReset": true,
"appium:fullReset": false
}
这段 JSON 代码是一个用于配置 Appium 自动化会话的 Desired Capabilities 示例。Desired Capabilities 是一个用于指定 Appium 会话的键值对集合,它们告诉 Appium 服务器您希望如何启动和配置会话。下面是每个键值对的解释:
-
platformName
: "Android" -
这个 capability 指定您想要测试的平台类型。在这个例子中,它是 "Android",表示您想要在 Android 设备上运行自动化测试。
-
adb devices
-
List of devices attached
5xcafqbacypz device -
appium:deviceName
: "5xcafqbacypz" -
这个 capability 指定您想要使用的设备名称。在这个例子中,"5xcafqbacypznzge" 是一个设备 ID,它用于唯一标识一个 Android 设备。这可以是一个物理设备的 ID 或者是一个模拟器的名称。cmd查询安装包包名,随便搞一个 也可以不要
-
adb shell pm list packages #安装包名
-
appium:appPackage
: "com.miui.home" -
这个 capability 指定您想要自动化的 Android 应用的包名。在这个例子中,"com.miui.home" 是小米手机上 MIUI 系统的桌面应用包名。
-
appium:appActivity
: ".activity.SplashActivity" -
这个 capability 指定您想要启动的 Android 应用的主活动(Activity)。在这个例子中,".activity.SplashActivity" 是应用启动时显示的闪屏页面的活动。
-
appium:automationName
: "UiAutomator2" -
这个 capability 指定您想要使用的自动化引擎。在这个例子中,"UiAutomator2" 是 Android 的一个自动化框架,由 Google 提供。
-
appium:noReset
: true -
这个 capability 指定在每次会话开始时是否重置应用的状态。在这个例子中,
true
表示不重置应用的状态,即保留应用的数据和状态。 -
appium:fullReset
: false -
这个 capability 指定在每次会话开始时是否执行完全重置。在这个例子中,
false
表示不执行完全重置,即不卸载和重新安装应用。
{ "platformName": "Android", "appium:deviceName": "5xcafqbacypz", "appium:automationName": "UiAutomator2" }
上面三个必须要写,主要手机id:5xcafqbacypz ,或者模拟器id
点击启动会话后进来,就可以在应用源获取所有元素了
PS C:\Users\LiHai\Desktop> python --version
Python 3.11.3
PS C:\Users\LiHai\Desktop> java -version
openjdk version "21.0.1" 2023-10-17 LTS
OpenJDK Runtime Environment Zulu21.30+15-CA (build 21.0.1+12-LTS)
OpenJDK 64-Bit Server VM Zulu21.30+15-CA (build 21.0.1+12-LTS, mixed mode, sharing)
PS C:\Users\LiHai\Desktop> node -v
v20.15.0
PS C:\Users\LiHai\Desktop> npm -v
10.7.0
PS C:\Users\LiHai\Desktop> adb devices
List of devices attachedPS C:\Users\LiHai\Desktop> appium -v
2.11.2
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)