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。
* 注:本文来自网络投稿,不代表本站立场,如若侵犯版权,请及时知会删除