—
前言
大家好,我是移动测试君。做移动端测试6年,Appium是最常用的移动端自动化工具。Appium 2.0是一次重大更新,今天分享新架构和使用技巧。
—
一、Appium 2.0变化
架构变化
Appium 2.0架构改进:
- Driver独立:Driver不再内置,按需安装
- Plugin系统:插件化扩展
- 更好的协议支持:W3C WebDriver标准
Driver管理
bash
安装Driver
appium driver install uiautomator2
appium driver install xcuitest
查看已安装Driver
appium driver list
—
二、元素定位
定位策略
| 策略 | 说明 |
|---|---|
| id | resource-id |
| accessibility_id | content-desc |
| xpath | XML路径 |
| class_name | 控件类名 |
定位示例
python
from appium import webdriver
driver = webdriver.Remote(‘http://localhost:4723’, {
‘platformName’: ‘Android’,
‘deviceName’: ’emulator-5554′,
‘appPackage’: ‘com.example.app’,
‘appActivity’: ‘.MainActivity’
})
通过ID定位
element = driver.find_element(‘id’, ‘com.example.app:id/username’)
通过XPath定位
element = driver.find_element(‘xpath’, ‘//android.widget.EditText[@text=”用户名”]’)
—
三、常用操作
基础操作
python
点击
driver.find_element(‘id’, ‘btn_login’).click()
输入
driver.find_element(‘id’, ‘username’).send_keys(‘testuser’)
滑动
driver.swipe(100, 500, 100, 200)
等待元素
from appium.webdriver.common.appiumby import AppiumBy
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((AppiumBy.ID, ‘btn_login’))
)
—
四、RunnerGo移动端测试
RunnerGo支持移动端接口测试:
- 配置移动端API
- 测试移动端服务接口
- 自动化场景编排
—
总结
Appium 2.0要点:
| 要点 | 内容 |
|---|---|
| Driver独立 | 按需安装 |
| 元素定位 | id、xpath、accessibility_id |
| 常用操作 | click、send_keys、swipe |
—
下期预告:测试左移实践指南 – 如何在需求阶段就开始质量保障