Appium 2 安装与手机自动化测试环境搭建教程

简介

Appium 是一个开源的移动端自动化测试工具,支持 Android 和 iOS 应用的自动化测试。Appium 2 是 Appium 的最新版本,它带来了许多新特性和改进。在本教程中,我们将学习如何从零开始搭建 Appium 2 的手机自动化测试环境。

1准备工作

在开始之前,请确保您已经安装了以下软件:

  1. Node.js (版本 12 或更高)
  2. npm (随 Node.js 一起安装)
  3. Java JDK (版本 8 或更高)
  4. 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 的版本信息。如果配置正确,您应该能够看到版本号。
  1. 在配置 Node.js、npm、Java JDK 和 Android SDK 的环境变量时,我们需要将它们的安装目录添加到系统的环境变量中,以便能够在命令行中全局访问这些工具。以下是在 Windows 10 系统中配置环境变量的步骤:

    1. 打开环境变量设置

  2. 右键点击电脑左下角的“开始”按钮,选择“系统”。
  3. 在左侧栏选择“高级系统设置”。
  4. 在弹出的系统属性窗口中,点击“环境变量”按钮。
  5. 在“环境变量”窗口中,找到“系统变量”下的 Path 变量,点击“编辑”。
  6. 点击“新建”,然后添加 Node.js 的安装目录(例如 C:\Program Files\nodejs\)。
  7. 点击“新建”,然后添加 Java JDK 的安装目录中的 bin 目录(例如 C:\Program Files\Java\jdk1.8.0_221\bin\)。
  8. 点击“新建”,然后添加 Android SDK 的 tools 目录和 platform-tools 目录(例如 C:\Users\YourName\AppData\Local\Android\Sdk\tools\ 和 C:\Users\YourName\AppData\Local\Android\Sdk\platform-tools\)。
  9. 点击“确定”保存并退出。

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 环境

  1. 解压下载的 Android SDK 压缩包,将其保存到您选择的位置。
  2. 在 Android SDK 安装向导中,选择所需的 SDK 平台和工具,然后安装它们。
  3. 将 Android SDK 的 platform-tools 和 tools 目录添加到系统环境变量的 PATH 中。
  4. 在设备上启用 USB 调试模式。

配置 iOS 环境

  1. 安装 Xcode。
  2. 打开 Xcode,同意许可协议,然后安装命令行工具。
  3. 在设备上启用 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 attached

PS C:\Users\LiHai\Desktop> appium -v
2.11.2

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐