能否使用Appium与Python对桌面应用进行UI自动化测试?
Appium Python实现桌面应用UI自动化测试
当然可以用Appium Python Client实现桌面应用的UI自动化测试,Appium配合对应平台的驱动即可完成:Windows平台依赖WinAppDriver,macOS平台依赖Mac2 Driver。以下是具体实现方案和示例代码:
前置准备
- 安装Appium Server(可通过
npm install -g appium安装) - 安装对应平台驱动:
- Windows:下载并安装WinAppDriver,开启系统开发者模式
- macOS:通过
appium driver install mac2安装Mac2 Driver,开启系统开发者模式并授予Appium自动化权限
- 安装Appium Python Client:
pip install Appium-Python-Client
Windows应用自动化示例(记事本)
from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy import time # 配置Desired Capabilities desired_caps = { "platformName": "Windows", "app": "notepad.exe", # 目标应用路径或可执行文件名 "deviceName": "WindowsPC" } # 连接Appium Server driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 等待应用加载,输入测试文本 time.sleep(1) text_input = driver.find_element(AppiumBy.CLASS_NAME, "Edit") text_input.send_keys("Appium Windows桌面自动化测试Demo") # 执行保存操作 driver.find_element(AppiumBy.ID, "MenuBar").click() driver.find_element(AppiumBy.NAME, "文件(F)").click() driver.find_element(AppiumBy.NAME, "保存(S)").click() # 输入文件名并确认保存 time.sleep(1) filename_field = driver.find_element(AppiumBy.CLASS_NAME, "Edit") filename_field.send_keys("appium_test.txt") driver.find_element(AppiumBy.NAME, "保存(S)").click() # 关闭驱动 driver.quit()
macOS应用自动化示例(预览)
from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy import time # 配置Desired Capabilities desired_caps = { "platformName": "Mac", "app": "/System/Applications/Preview.app", # 目标应用路径 "deviceName": "MacBook" } # 连接Appium Server driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 等待应用加载,创建新文档 time.sleep(2) driver.find_element(AppiumBy.NAME, "文件").click() driver.find_element(AppiumBy.NAME, "新建").click() # 使用画笔工具绘制线条 time.sleep(1) draw_tool = driver.find_element(AppiumBy.NAME, "画笔") draw_tool.click() driver.tap([(150, 150), (300, 300)]) # 关闭驱动 driver.quit()
注意事项
- 确保Appium Server已启动(执行
appium命令启动) - Windows下WinAppDriver版本需与系统版本匹配
- macOS下需在「系统设置-隐私与安全性-自动化」中允许Appium控制目标应用
内容的提问来源于stack exchange,提问作者Bornak
相关产品推荐
相关产品推荐

