由于工作需要进行 Windows 应用程序的 UI 自动化,今天发现 Appium 还真的支持,但 Appium 只支持 Win10 上的应用。 Appium 使用 WinAppDriver 测试 Windows 应用,在安装 Appium 的时候会自动安装 WinAppDriver。WinAppDriver 官网:https://github.com/Microsoft/WinAppDriver。
和移动端 UI 测试没什么区别了,就是调整一些参数而已。下面的例子是打开了印象笔记,并新建一篇笔记。
# -*- coding:utf-8 -*-
from appium import webdriver
class Windows(object):
def __init__(self, app, host='localhost', port=4723):
self.desired_caps = {}
self.desired_caps['platformName'] = 'Windows'
self.desired_caps['app'] = app
self.desired_caps['deviceName'] = 'WindowsPC'
self.host = host
self.port = port
self.appVersion = None
try:
self.driver = webdriver.Remote('http://{}:{}/wd/hub'.format(self.host, self.port), self.desired_caps)
except Exception as e:
raise AssertionError(e)
if __name__ == '__main__':
import time
evernote = 'C:\\Program Files (x86)\\Evernote\\Evernote\\Evernote.exe'
notepad = Windows(evernote)
time.sleep(3)
notepad.driver.find_element_by_name('新建笔记').click()
类似于 Android 的 Uiautomatorviewer,Windows 使用 inspect.exe 查看应用程序的 UI 元素信息。inspect.exe 可以在 Windows SDK 的目录中找到它,例如: C:\Program Files (x86)\Windows Kits\10\bin\x86。