解决方案

windows桌面应用程序UI自动化工具

seo靠我 2023-09-22 15:34:43

WinApp自动化测试之工具的选择

WinApp测试简介安装与卸载升级更新UI界面业务功能性能交叉事件兼容性安全性硬件环境异常情况 WinApp自动化测试工具AutoItAirtestWSEO靠我inAppDriverPyWinAutoPyAutoGUIpywinauto与pyautogui比较Coded UIUIAutomationTestWriterQTP

WinApp(Windows APSEO靠我P)是运行在Windows操作系统上的应用程序,通常会提供一个可视的界面,用于和用户交互。

例如运行在Windows系统上的Microsoft Office、PyCharm、Visual Studio SEO靠我Code、Chrome,都属于WinApp。常见的WinApp,其扩展名基本都是*.exe,运行后也都会有一个漂亮、易用的UI界面,下面就详细介绍如何通过脚本实现WinApp的UI自动化测试。

WinASEO靠我pp测试简介

Windows系统下开发GUI应用程序有很多方式,常见有基于C++的Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout,基于C#的Winform、WPF,基于CSEO靠我hromium和Node.js的Electron,基于Java的AWT、Swing,基于Pascal的Delphi,基于Go语言的walk,每种技术都有自己的亮点。

但对于测试人员来说,都要全面开展测试SEO靠我,为保障产品质量下足功夫,带给用户好的体验。

WinApp测试涉及面非常广,大方向上可以从安装与卸载、升级更新、UI界面、业务功能、性能、交叉事件、兼容性、安全性、硬件环境、异常情况几个方面开展测试。

SEO靠我装与卸载

验证程序是否可以正确安装、运行、卸载。

升级更新

新版本发布后,存在更新提示,且下载、安装、更新、启动、运行、卸载等功能正常。

UI界面

验证程序界面的布局、风格是否与需求相符,文字、菜单、配色、图片SEO靠我等显示正确,易操作、人性化。

业务功能

验证需求说明书中描述的业务功能模块均已实现,且符合预期。

性能

验证程序的负载能力,对CPU、磁盘、内存、电量等的消耗。

交叉事件

与Windows系统上的其它应用互不影响SEO靠我。例如同时打开被测程序和其它一个程序,两者互不干扰,都可以稳定运行。

兼容性

可以在支持的不同品牌、型号、系统版本上正常运行。

安全性

安全性是非常重要的一项测试,例如用户权限、数据安全、接口安全。

硬件环境

SEO靠我同硬件环境下验证,例如CPU、磁盘、内存、笔记本电量等对程序的影响。

异常情况

各种异常情况下测试程序,例如磁盘不足、网络不佳等情况。

WinApp的功能测试实质上和测试人员测试Web、移动端APP的功能测SEO靠我试是相同的,都是一种黑盒测试。以需求为准,运用各种测试方法设计测试用例,尽可能地思考、全覆盖用户使用场景,实现测试用例,保障产品质量。

WinApp自动化测试工具

WinApp自动化测试工具非常多,但不同SEO靠我的项目实现自动化测试有着不同的目的,因此根据自己需求结合自动化测试工具的优缺点,选择合适的工具尤为重要,对后续的自动化脚本开发及维护都大有裨益。下面整理了一些WinApp自动化测试工具,给大家提供参考SEO靠我

AutoIt

AutoIt当前最新版本是v3,是用以编写并生成具有BASIC语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。

使用AutoIt可以模拟鼠标和SEO靠我键盘实现对窗口/控件的操作,是一款非常优秀的Windows GUI自动化测试软件。

AutoIt有着诸多优点,例如简单易懂的类 BASIC 表达式、操作窗口与进程、直接与窗口的"标准控件"交互、脚本可以SEO靠我编译为标准可执行文件、COM支持、直接调用外部DLL 和 Windows API 函数、高精度和易使用的数学运算。

AutoIt在设计时就尽可能小,且不用依赖外部DLL文件或添加注册表项目即可独立运行,SEO靠我也可以安全的成为服务运行。脚本可以使用Aut2Exe编译为可独立运行的文件。

https://pypi.org/project/PyAutoIt/0.3/

Airtest

Airtest是网易出品的一款基于SEO靠我图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的,SEO靠我计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。另外,Airtest也基于poco这个U控件搜索框架,这个框架也是网易自家的跨平SEO靠我台U测试框架,原理类似于appium,通过控件的名称,id之类的来定位目标控件,然后调用函数方法,例如click(),swip()之类的方法来对目标控件进行点击或者是操作.

http://airtestSEO靠我.netease.com/docs/docs_AirtestIDE-zh_CN/5_airtest_framework/airtest_api_info.html

WinAppDriver

WinAppDSEO靠我river(Windows Application Driver)是微软的一款客户端自动化测试工具,类似Selenium的UI自动化测试服务工具。

支持测试运行在Windows 10或Windows SSEO靠我erver 2016以上系统的UWP、WinForms、WPF、Win32程序。WinAppDriver支持Appium,因此使用 Appium-Python-Client 依赖库可以像测试移动端APSEO靠我P一样,完成Windows桌面程序的自动化脚本的开发。

PyWinAuto

PyWinAuto是Python的一个库,用于测试Windows系统上的GUI应用程序,允许发送鼠标和键盘操作到窗口对话框和控件SEO靠我。PyWinAuto提供的API是对Windows标准控件的行为处理,例如指定窗口、鼠标操作、键盘操作、获取窗口或控件属性,使用方便,且对中文也有很好的支持。

Pywinauto是实现Windows窗口SEO靠我程序自动化的一把利器,它主要操作于Windows标准图形界面。Pywinauto基于Pywin32,其最主要功能为对Windows标准控件的一系列动作可编程处理,包括对窗口的指定、鼠标或键盘操作、获得SEO靠我控件属性等等。相比起Pywin32,Pywinauto使用起来更方便稳定,对中文的支持度也更好。

https://pywinauto.readthedocs.io/en/latest/code/pywiSEO靠我nauto.keyboard.html#

PyAutoGUI

PyAutoGUI是Python的一个第三方库,可对GUI程序实现自动化测试。主要通过控制鼠标和键盘,与其他应用程序交互。PyAutoGUI可SEO靠我以在Windows、macOS和Linux系统上工作,支持Python2和Python3。

Pyautogui对鼠标的移动、点击、拖拽,键盘按键输入、按住操作,以及鼠标+键盘的热键同时按住等操作都能准确SEO靠我模拟,可以说手能动的都可以,并且简单方便。但由于控件的定位依赖于图像匹配,所以得事先保存好控件的截图,然后在操作时自动截取屏幕,利用图像匹配找到控件在屏幕的像素位置,再将鼠标自动移至控件处点击。

PyaSEO靠我utogui自带的图像匹配函数精度不是很高,可以加入opencv中的匹配函数来代替,更加准确方便。

链接: Keyboard Control Functions — PyAutoGUI documentSEO靠我ation

pywinauto与pyautogui比较

Pyautogui是另一个常用的基于Python的GUI自动化工具,能够支持多个平台。Pyautogui主要是利用程序自动控制鼠标和键盘操作。虽然PSEO靠我yautogui和Pywinauto都是实现GUI 的自动操作,但两者的侧重点不同。Pyautogui侧重于鼠标、键盘、截图等功能,且是基于图像匹配进行定位的,而Pywinauto侧重于对C/S系统的SEO靠我操作,虽然也有键盘和鼠标的模拟操作,但核心上还是软件上的操作更多。

Coded UI

Coded UI Test是Visual Studio 2010对于Testing Project(测试工程)提供的关SEO靠我于UI自动化测试的框架,支持Win32、Web、WPF等UI自动化测试,是一个非常强大的测试工具。它的原理是获取到Windows窗口上的控件,然后针对控件的部分属性进行获取和对比,模拟对控件点击、双击SEO靠我、右键点击等事件。Coded UI不但支持手动编写,还支持自动录制。

CodeUI Test是微软自动化测试的一个比较好的项目,它的原理是获取到Windows窗口上的控件,然后针对控件的部分属性进行获取SEO靠我和对比,模拟对控件进行点击、双击、右键点击等事件。这样可以录制用户测试用例的动作,一次录制完动作,以后只需要运行测试用例程序,即可自动化测试。

注意:Code UI Test只能针对Window 程序。SEO靠我如果是C#编写的将会更加有效。

UIAutomation

UIAutomation封装了微软的UIAutomation API,支持测试Win32、MFC、WPF、Modern UI(Metro UI)、SEO靠我Qt、Firefox等UI框架程序,它提供许多好用的功能,例如获取窗口对象、窗口属性调整、截图、全局热键注册、剪切板操作和管理员权限提权。是一款非常优秀的自动化测试工具。

TestWriter

TestWSEO靠我riter是一款0编码自动化测试工具,用户可以通过统一图形化界面轻松创建测试计划,并驱动执行引擎完成自动化测试任务,有效降低了测试人员能力要求及脚本维护工作量,让自动化测试更简单,更专注于业务。可测wSEO靠我eb、andriod、ios平台应用。通过图形化界面,对测试对象、测试步骤、用例等层层封装映射,清晰理清业务关系。业务变动、界面调整时仅需修改相应业务库内容。支持分布式测试,通过拟定计划,自动匹配测试SEO靠我环境并分配执行机器,无需测试人员干预,轻松实现自动定期回归。引入了中间语言,让自动化测试的开发工作脱离具体引擎的限制,降低Selenium和QTP等自动化工具的使用难度。实时查看执行情况,自动记录测试SEO靠我结果,并对错误步骤进行问题分析及错误时UI截图。

QTP

全名HP QuickTest Professional software ,2012年12月6日发布11.5版本,并更名为Unified FuncSEO靠我tional TestingQTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是利用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。

因此SEO靠我你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等

QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以越来越流行的Web应用。SEO靠我它可以覆盖绝大多数的软件开发技术,简单高效,

并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。
“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2