Appium: Windows系统桌面应用自动化测试(一)

一、方案调研

1、windows桌面应用自动化测试方案

(1)WinAppDriver是微软开发的自动化测试工具,而windows是微软开发的,兼容性应该极好。

(2)WinAppDriver也可以是appium的一个自动化框架,而Appium 支持python语言。

(3)Appium 是一个开源工具,用于自动化 iOS 手机、 Android 手机和 Windows 桌面平台上的原生、移动 Web 和混合应用。它把这些系统本身提供的框架包装进一套 API —— WebDriver API 中。WebDriver,即Selenium WebDriver。

(4)Pytest是自动化测试工具,基于Unittest的封装,没那么灵活,但插件丰富。

基于这些原因,windows桌面应用的自动化测试方案采用Python+Appium+WinAppDriver+Pytest

(5)当我写完“Appium: Windows系统桌面应用自动化测试(二)”的时候,我决定弃用上述方案,当然,对于想要坚持的同志,本文依然是入门win桌面应用UI自动化的最佳选择!

https://blog.csdn.net/weixin_43431593/article/details/124299851https://blog.csdn.net/weixin_43431593/article/details/124299851

二、环境搭建

1、WinAppDriver环境搭建

(1)开启开发者选项中的“开发人员模式”

(2)windows sdk下载安装

①下载地址:

https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

 ②选择路径安装即可

(3)WinAppDriver下载安装

①点击下载链接,并任选一个版本,打开如下图,接着根据需求选择合适自己的安装包下载即可

下载地址:https://github.com/microsoft/WinAppDriver/releases

 ②一键安装

③搜索一下安装路径

如图,默认路径为:C:\Program Files\Windows Application Driver

 ④双击打开出现以下画面则安装成功

2、appium环境搭建

(1)appium的官方文档

http://appium.io/docs/cn/about-appium/intro/

(2)根据官方文档,采用Appium的桌面方式进行安装,而且是一键安装

下载地址:https://github.com/appium/appium-desktop/releases

(3)打开如图界面则安装成功

 3、使用Appium连接WinAppDriver

(1)操作步骤

 

 (2)json配置,参数如下

{
        "app": "C:\\Program Files\\XMind\\XMind.exe",
        "deviceName": "WindowsPC",
        "platformName": "Windows"
}

 (3)Appium桌面版提供的功能

①可作为客户端或服务器使用

②提供元素查找功能

③提供脚本录制功能

④其他

三、简单使用

1、查找元素

(1)windows sdk安装路径中,有一个查找元素的组件,叫 inspect.exe,可通过搜索找到,并双击运行。打开如图界面,可以查看元素的名称,和元素支持的点击等操作。

(2)inspect.exe查找到的元素的键值对,与python语言使用方法的对应关系,如下表:

inspect.exe查找到的键值对 python查找元素的方法
AutomationId
driver.find_element_by_accessibility_id()
ClassName
driver.find_element_by_class_name()
RuntimeId (decimal)
driver.find_element_by_id()
Name
driver.find_element_by_name()
LocalizedControlType (upper camel case)
driver.find_element_by_tag_name()
Any
driver.find_element_by_xpath()

2、编写脚本

前面,我们已经使用Appium作为客户端成功连接了服务端WinAppDriver;现在,我们通过python脚本连接WinAppDriver。

(1)打开pycharm创建虚拟环境,并打开虚拟环境的cmd对话窗口,安装如下:

pip install Appium-Python-Client Selenium

 (2)编写脚本,实现连接,代码如下

from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait


# appium服务监听地址(WinAppDriver地址)
server='http://127.0.0.1:4723'
# app启动参数
desired_caps={
        "app": "C:\\Program Files\\XMind\\XMind.exe",
        "deviceName": "WindowsPC",
        "platformName": "Windows"
}
# 连接
driver = webdriver.Remote(server, desired_caps)
wait = WebDriverWait(driver, 30)

来源:Lion King

物联沃分享整理
物联沃-IOTWORD物联网 » Appium: Windows系统桌面应用自动化测试(一)

发表评论