Appium 原理与安装
理解 Appium 的工作原理与架构
完成 Appium 自动化环境搭建
能连接手机并启动 APP
核心讲解
Appium 是最主流的移动 APP 自动化测试工具,跨平台、支持 Android/iOS,和 SeleniumAPI 一致,学习成本低。
(1)工作原理采用 Client-Server 架构,和 Selenium 一脉相承:
客户端:Python 脚本,发送操作指令
服务端:Appium Server,接收指令,调用驱动
设备端:手机 / 模拟器,通过 UIAutomator2(Android)、XCUITest(iOS)执行操作
跨平台:一套脚本 Android、iOS 都能用
跨语言:支持 Python、Java 等多种语言
原生 APP、混合 APP、小程序都支持
不需要修改 APP,非侵入式测试
Android 环境依赖:
JDK:Java 环境,1.8 版本
Android SDK:安卓开发工具包,adb、aapt 等工具
Appium Server:服务端,桌面版或命令行版
Appium Inspector:元素定位工具
Python 客户端:
pip install Appium-Python-Client手机 / 模拟器:开启开发者选项、USB 调试
告诉 Appium 要启动什么设备、什么 APP 的配置参数。 核心参数:
platformName:平台,Android/iOSplatformVersion:系统版本deviceName:设备名appPackage:APP 包名appActivity:启动页 ActivitynoReset:不重置 APP 状态,保留登录信息
代码示例
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
import time
# 配置参数
desired_caps = {
"platformName": "Android",
"platformVersion": "12",
"deviceName": "127.0.0.1:62001", # 模拟器设备
"appPackage": "com.android.settings", # 设置APP包名
"appActivity": ".Settings", # 启动页
"noReset": True,
"unicodeKeyboard": True, # 支持中文输入
"resetKeyboard": True
}
# 连接Appium Server,启动APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
print("APP启动成功")
print("当前包名:", driver.current_package)
print("当前Activity:", driver.current_activity)
time.sleep(3)
# 退出
driver.quit()
常见误区
环境变量没配置:JAVA_HOME、ANDROID_HOME 必须配置,否则 adb、aapt 用不了
手机没开 USB 调试:开发者选项里开启 USB 调试,连接后允许调试
参数写错:包名、Activity 名错误会启动失败,要用 aapt 查准确
Appium Server 没启动:脚本运行前要先启动 Appium 服务
版本不兼容:Appium 版本、系统版本、驱动版本要匹配
课后练习
独立完成 Appium 环境搭建
连接手机 / 模拟器,启动系统设置 APP
获取并记录你手机上常用 APP 的包名和启动 Activity

