Appium 入门操作指南

Appium 入门操作指南

Appium 是一个开源的移动端自动化测试框架,支持 Android 和 iOS 原生、混合和 Web 应用测试。它基于 Selenium WebDriver 协议扩展,可以使用多种编程语言(Python、Java、JavaScript 等)编写测试脚本。

1. Appium 环境搭建

(1) 安装 Node.js

Appium 是基于 Node.js 开发的,需要先安装 Node.js:

官网下载:Node.js 官网

安装后验证:

node -v

npm -v

(2) 安装 Appium

方式 1:通过 npm 安装(推荐)

npm install -g appium

安装完成后,运行:

appium -v # 查看版本

方式 2:安装 Appium Desktop(GUI 版本)

下载地址:Appium Desktop

适合新手可视化操作,但运行效率较低。

(3) 安装 Appium 客户端库

根据你的编程语言选择对应的客户端库:

Python:

pip install Appium-Python-Client

Java:

io.appium

java-client

8.3.0

运行 HTML

(4) 安装移动端依赖

Android 环境

安装 Android Studio(含 SDK):

Android Studio 官网

配置 ANDROID_HOME 环境变量:

export ANDROID_HOME=/Users/yourname/Library/Android/sdk

export PATH=$PATH:$ANDROID_HOME/platform-tools

export PATH=$PATH:$ANDROID_HOME/tools

安装 adb(Android Debug Bridge):

adb devices # 查看连接的设备

安装 uiautomator2(Android UI 自动化引擎):

npm install -g appium-uiautomator2-driver

iOS 环境(需 Mac)

安装 Xcode(App Store 下载)

安装 Carthage(依赖管理工具):

brew install carthage

安装 WebDriverAgent:

npm install -g appium-webdriveragent

2. 第一个 Appium 测试脚本

Python 示例(Android 测试)

from appium import webdriver

from appium.webdriver.common.appiumby import AppiumBy

# Appium 服务器地址

APPIUM_SERVER = 'http://127.0.0.1:4723'

# 设备配置

desired_caps = {

'platformName': 'Android', # 平台(Android/iOS)

'deviceName': 'Pixel_4', # 设备名称(adb devices 查看)

'appPackage': 'com.android.calculator2', # 被测 App 包名

'appActivity': '.Calculator', # 启动 Activity

'automationName': 'UiAutomator2', # Android 自动化引擎

}

# 连接 Appium 服务器

driver = webdriver.Remote(APPIUM_SERVER, desired_caps)

# 定位计算器按钮并点击

driver.find_element(AppiumBy.ID, 'com.android.calculator2:id/digit_5').click()

driver.find_element(AppiumBy.ID, 'com.android.calculator2:id/op_add').click()

driver.find_element(AppiumBy.ID, 'com.android.calculator2:id/digit_3').click()

driver.find_element(AppiumBy.ID, 'com.android.calculator2:id/eq').click()

# 获取计算结果

result = driver.find_element(AppiumBy.ID, 'com.android.calculator2:id/result').text

print("计算结果:", result)

# 关闭会话

driver.quit()

Java 示例(iOS 测试)

import io.appium.java_client.ios.IOSDriver;

import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.URL;

public class FirstAppiumTest {

public static void main(String[] args) throws Exception {

DesiredCapabilities caps = new DesiredCapabilities();

caps.setCapability("platformName", "iOS");

caps.setCapability("deviceName", "iPhone 13");

caps.setCapability("app", "/path/to/your/app.app");

caps.setCapability("automationName", "XCUITest");

IOSDriver driver = new IOSDriver(new URL("http://127.0.0.1:4723"), caps);

// 测试操作...

driver.findElement(AppiumBy.accessibilityId("LoginButton")).click();

driver.quit();

}

}

3. Appium 核心概念

(1) Desired Capabilities

用于配置设备信息和 App 信息,常见参数:

参数说明platformNameAndroid / iOSdeviceName设备名称(adb devices 查看)appPackageAndroid App 包名appActivityAndroid 启动 ActivityappiOS/Android App 安装包路径automationNameUiAutomator2 (Android) / XCUITest (iOS)

(2) 元素定位方式

Android:

AppiumBy.ID(resource-id)

AppiumBy.ACCESSIBILITY_ID(content-desc)

AppiumBy.XPATH

iOS:

AppiumBy.ACCESSIBILITY_ID(推荐)

AppiumBy.XPATH

(3) 常用操作

click():点击元素

send_keys("text"):输入文本

swipe():滑动屏幕

back():返回键

press_keycode(4)(Android 按键码)

4. Appium 进阶

(1) 使用 Appium Inspector

类似 Selenium IDE,用于查看 App 元素:

下载 Appium Inspector

连接设备后,输入 Desired Capabilities 进行元素定位。

(2) 并行测试(Appium Grid)

# 多设备配置

devices = [

{'deviceName': 'Pixel_4', 'udid': 'emulator-5554'},

{'deviceName': 'iPhone_13', 'udid': 'A1B2C3D4'}

]

for device in devices:

driver = webdriver.Remote(APPIUM_SERVER, device)

# 测试逻辑...

(3) 结合 Pytest 框架

import pytest

@pytest.fixture

def appium_driver():

driver = webdriver.Remote(APPIUM_SERVER, desired_caps)

yield driver

driver.quit()

def test_calculator(appium_driver):

appium_driver.find_element(AppiumBy.ID, 'digit_1').click()

assert appium_driver.find_element(AppiumBy.ID, 'result').text == "1"

5. 学习资源

官方文档:Appium Docs

书籍:

《移动App测试实战》

《Appium 自动化测试实战》

在线课程:

Udemy: "Appium Mobile Automation Testing"

B站/YouTube 搜索 "Appium 教程"

总结

安装 Node.js + Appium

配置 Android/iOS 环境

编写 Desired Capabilities

使用 AppiumBy 定位元素

结合 Pytest/TestNG 管理测试

现在你可以开始自动化测试 Android 和 iOS 应用了!

相关推荐

【联想G510参数】联想G510系列笔记本电脑参数
365bet体育365bet官网

【联想G510参数】联想G510系列笔记本电脑参数

📅 09-17 👁️ 7860
平凡之路什么时候播出
365bet手机app下载

平凡之路什么时候播出

📅 07-26 👁️ 3344
第十届国际灸法大会圆满闭幕!规模再创新高、产业迸发活力、艾灸迅速破圈