Appium Windows APP UI 自动化

本帖已被设为精华帖!,

由于工作需要进行Windows应用程序的UI自动化,今天发现Appium还真的支持,但Appium只支持Win10上的应用。 Appium使用WinAppDriver测试Windows应用,在安装Appium的时候会自动安装WinAppDriver。WinAppDriver官网:https://github.com/Microsoft/WinAppDriver。

环境准备

  • 需要Win10环境,并且开启开发人员模式(设置-》更新和安全-》针对开发人员-》开发人员模式)
  • 安装Windows SDK https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk
  • 安装Appium1.6或以上版本,目前发布的最新版本是1.6.3

脚本示例

和移动端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()

参数说明

  • paltformName:被测应用所在的平台,支持Android、iOS、Windows和Mac,这里需要设置为Windows。
  • app:用于设置需要测试的应用程序的ID或路径。对于UWP应用需要设置ID,例如计算器的ID为Microsoft.WindowsCalculator_8wekyb3d8bbwe!App(ID是如何得到的?哪位大神了解吗?);对于Win32应用需要设置路径,例如印象笔记C:\Program Files (x86)\Evernote\Evernote\Evernote.exe。

元素查找

类似于Android的Uiautomatorviewer,Windows使用inspect.exe查看应用程序的UI元素信息。inspect.exe可以在Windows SDK的目录中找到它,例如: C:\Program Files (x86)\Windows Kits\10\bin\x86。

* 注:本文来自网络投稿,不代表本站立场,如若侵犯版权,请及时知会删除