0基础学爬虫 | 爬虫基础之自动化工具 Appium 的使用
字数 1786 2025-08-19 12:40:45
Appium自动化测试工具使用详解
1. Appium概述
Appium是一个开源测试自动化框架,用于原生、混合和移动Web应用程序的测试。它具有以下特点:
- 跨平台:支持iOS、Android和Windows应用程序
- 多语言支持:可与Java、Python、PHP、Ruby等多种语言结合使用
- 基于WebDriver协议驱动移动设备
- 可与任何测试框架结合使用
2. Appium工作原理
Appium的工作流程分为以下几个步骤:
- Appium Server启动:监听4723端口,等待客户端连接
- 客户端连接:测试脚本基于Json Wire Protocol发送设备信息给Appium Server
- Session创建:Appium Server创建并返回session id作为唯一标识
- Bootstrap启动:Appium在设备上启动Bootstrap.jar监听4724端口
- 命令转换:Bootstrap将Appium命令转换为uiautomator命令执行
3. 环境安装配置
3.1 JDK安装
- 从Oracle官网下载Java 8或更高版本
- 配置环境变量:
- JAVA_HOME:
C:\Program Files (x86)\Java\jdk1.8.0_144 - CLASSPATH:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; - PATH中添加:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
- JAVA_HOME:
- 验证安装:
java -version
3.2 Android SDK安装
有两种安装方式:
- 通过Android Studio安装(包含完整SDK)
- 直接下载Android SDK包
配置环境变量:
- ANDROID_HOME:
D:\android-sdk-windows - PATH中添加:
%ANDROID_HOME%\platform-tools%ANDROID_HOME%\build-tools%ANDROID_HOME%\tools
验证安装:adb version
3.3 Appium安装
- 下载Appium:https://bitbucket.org/appium/appium.app/downloads/
- 将
Appium\node_modules.bin路径添加到PATH - 验证安装:
appium-doctor
3.4 Appium-Desktop安装
- 下载地址:https://github.com/appium/appium-desktop/releases
- 安装后检查配置:
- 选择"Edit Config"
- 确认环境变量配置正确
3.5 Appium-Python-Client安装
两种安装方式:
- 通过pip安装:
pip install Appium-Python-Client - 下载源码安装:
python setup.py install
4. 实战测试
4.1 测试应用准备
下载测试APK:https://github.com/appium/android-apidemos/releases
安装到设备:adb install ApiDemos-debug.apk
4.2 启动Appium Server
- 启动Appium Desktop
- 保持默认host和port(4723)
- 点击"Start"按钮启动服务
4.3 设备连接
- 通过USB连接设备或启动模拟器
- 验证连接:
adb devices - 应显示设备ID表示连接成功
4.4 测试脚本编写
Python测试代码示例:
from appium import webdriver
class TestApidemos:
def setup(self):
desired_caps = {
'platformName': 'Android',
'platformVersion': '9',
'deviceName': 'emulator-5554',
'appPackage': 'io.appium.android.apis',
'appActivity': '.ApiDemos',
'automationName': 'Uiautomator2',
'newCommandTimeout': 3000
}
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
self.driver.implicitly_wait(5)
def teardown(self):
self.driver.quit()
def test_appium(self):
elem = self.driver.find_element_by_xpath('//*[@text="App"]')
elem.click()
Alarm_exist = self.driver.find_element_by_xpath('//*[@text="Alarm"]').is_displayed()
assert Alarm_exist == True
if __name__ == "__main__":
test = TestApidemos()
try:
test.setup()
test.test_appium()
print("测试通过")
except AssertionError:
print("测试失败")
finally:
test.teardown()
4.5 关键参数获取方法
-
appPackage与appActivity:
adb shell dumpsys activity activities | find "mFocusedActivity" -
deviceName:
adb devices -
platformVersion:
adb shell getprop ro.build.version.release
5. 测试执行
可以使用pytest执行测试:
pytest test_apidemos.py::TestApidemos::test_appium
6. 总结
Appium作为移动应用自动化测试的主流框架,具有跨平台、多语言支持等优势。通过合理配置环境和编写测试脚本,可以实现高效的移动应用自动化测试。关键点包括:
- 正确安装和配置JDK、Android SDK、Appium
- 理解Appium的工作原理和通信机制
- 掌握desired capabilities参数的配置方法
- 熟悉测试脚本的编写和执行流程