使用指南
Appium 测试

Appium 自动化测试

使用 Appium 在 PandaTest 上执行自动化测试

什么是 Appium?

Appium 是一个开源的跨平台自动化测试框架,支持 Android 和 iOS 应用的 UI 自动化测试。

支持的语言

PandaTest 支持多种编程语言编写 Appium 测试脚本:

  • Python
  • Java
  • JavaScript
  • Ruby

快速开始

安装依赖

Python:

pip install Appium-Python-Client

Java (Maven):

<dependency>
  <groupId>io.appium</groupId>
  <artifactId>java-client</artifactId>
  <version>8.5.1</version>
</dependency>

JavaScript:

npm install webdriverio

配置 Capabilities

连接 PandaTest 云端设备需要配置以下 Capabilities:

Python 示例:

from appium import webdriver
from appium.options.android import UiAutomator2Options
 
options = UiAutomator2Options()
options.platform_name = 'Android'
options.device_name = 'PandaTest Device'
options.app = '/path/to/your/app.apk'
 
# PandaTest 服务器地址
driver = webdriver.Remote(
    'https://appium.pandatest.net/wd/hub',
    options=options
)

Java 示例:

UiAutomator2Options options = new UiAutomator2Options()
    .setPlatformName("Android")
    .setDeviceName("PandaTest Device")
    .setApp("/path/to/your/app.apk");
 
AndroidDriver driver = new AndroidDriver(
    new URL("https://appium.pandatest.net/wd/hub"),
    options
);

编写测试用例

# 示例:登录测试
def test_login():
    # 找到用户名输入框并输入
    username = driver.find_element(by='id', value='com.example:id/username')
    username.send_keys('testuser')
    
    # 找到密码输入框并输入
    password = driver.find_element(by='id', value='com.example:id/password')
    password.send_keys('password123')
    
    # 点击登录按钮
    login_btn = driver.find_element(by='id', value='com.example:id/login_btn')
    login_btn.click()
    
    # 验证登录成功
    welcome = driver.find_element(by='id', value='com.example:id/welcome')
    assert '欢迎' in welcome.text

在 PandaTest 上运行

方式一:控制台上传

  1. 进入「自动化测试」页面
  2. 点击「新建测试」
  3. 上传测试脚本和 APK
  4. 选择目标设备
  5. 点击「开始测试」

方式二:API 调用

curl -X POST https://api.pandatest.net/v1/tests \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "script=@test_login.py" \
  -F "app=@app.apk" \
  -F "device=xiaomi-13"

查看测试报告

测试完成后,可以查看:

  • 测试用例执行结果
  • 每个步骤的截图
  • 失败用例的错误日志
  • 设备日志(logcat)
  • 测试视频录制

最佳实践

提高测试稳定性的建议:

  • 使用显式等待而非固定等待
  • 为元素定位添加多种备选策略
  • 测试前清理应用数据
  • 合理设置超时时间

常见问题

元素定位失败

  • 使用 Appium Inspector 确认元素属性
  • 检查元素是否在可见区域
  • 添加适当的等待时间

测试执行超时

  • 检查网络连接
  • 增加命令超时时间
  • 优化测试脚本逻辑