作者:移动测试君
---
前言
大家好,我是移动测试君。做移动端测试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 |
---
下期预告:测试左移实践指南 - 如何在需求阶段就开始质量保障
作者:移动测试君,6年移动端测试经验