【Python】Python+Appium实现iOS App UI自动化测试

1、安装Node.js(方便安装appium),如果已经安装了Homebrew,可以使用如下命令行(npm会自动包含在内)

brew install node

安装完成后,可以通过以下命令验证是否安装成功:

node -v

npm -v

 

2、安装Appium服务器

可以使用npm全局安装Appium:

npm install -g appium

或者下载安装 Appium Desktop(带GUI管理界面)

 

3、启动Appium服务器(这个终端窗口就不要动了,其他命令再新建一个终端窗口输入)

appium

或者打开 Appium Desktop并点击Start Server

 

4、安装 XCUITest 驱动,用来实现 iOS 自动化测试

appium drive install xcuitest

安装安装后,重启 Appium 服务器。

 

5、在虚拟环境中安装 Appium Python客户端(虚拟环境内容参考【https://www.cnblogs.com/cchHers/p/18762264】)

pip install Appium-Python-Client

 

6、运行456.py iOS UI 自动化测试脚本

from appium.options.ios import XCUITestOptions
from appium import webdriver
import time

# 使用 XCUITestOptions 构造 desired capabilities
options = XCUITestOptions()
options.platform_name = "iOS"                # 平台名称
options.platform_version = "18.0.1"            # iOS 版本,根据设备实际情况调整
options.device_name = "iPhone 12"              # 设备名称(真实设备或模拟器名称)
options.automation_name = "XCUITest"           # iOS 使用 XCUITest 自动化引擎
options.udid = "00008101-001338661420001E"     # 真机的 UDID,可通过 Xcode 或 iTunes 获取
options.bundle_id = "。。。。。。。。。"  # 目标 App 的 bundleId
options.xcode_org_id = "。。。。。。。。。。"            # 开发者团队 ID
# 注意:xcodeSigningId 通常填写 "iPhone Developer",请根据实际情况修改
options.xcode_signing_id = "iPhone Developer"  
options.no_reset = True                        # 不重置 App 状态

# 连接到 Appium 服务器(默认地址为 http://127.0.0.1:4723/wd/hub)
driver = webdriver.Remote("http://127.0.0.1:4723", options=options)

# 等待 App 启动和加载页面
time.sleep(5)

# 示例:定位接收框(需根据 App 内部 UI 元素的属性进行调整)
# 这里假设接收框的 accessibility id 为 "receive_box"
try:
    recv_box = driver.find_element("xpath", "//XCUIElementTypeStaticText[@name='排序']")
    print("接收框中的文本:", recv_box.text)
except Exception as e:
    print("未能定位接收框或读取文本:", e)

# 测试操作结束后,关闭 session
driver.quit()

 

7、建议使用 Appium Inspector工具定位App UI元素,使用xpath路径

 

总体逻辑流程大致如下:

1、环境准备

使用 npm 安装 Appium服务端及相关工具、启动Appium 服务端(通过Appium Desktop GUI启动或者命令行启动)

2、设备与驱动

Appium服务端根据 desired capabilities 调用 XCUITest驱动(XCUITestDrive),启动WebDriverAgent,连接iOS设备

3、自动化脚本执行

将编写的自动化脚本,使用 Appium Python Client 发送命令给 Appium服务器端。

服务端再将命令转化为设备能理解的 UI 操作,并通过 XCUITest 执行这些操作。

4、定位和调试

使用 Appium Inspector 来查看设备上App的UI层级结构,帮助确定合适的定位方法。

自动化脚本中的元素定位、点击、输入等操作均依赖于 Inspector 获取的定位信息。

 

posted @ 2025-03-10 12:00  码出境界  阅读(83)  评论(0)    收藏  举报