由于工作需要进行 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。


↙↙↙阅读原文可查看相关链接,并与作者交流