原文地址:windows桌面应用程序UI自动化工具 - anobscureretreat - 博客园

最近在研究针对windows桌面应用程序的自动化工具,查找了网上相关资料,UI自动化工具很多,但是想同时支持windows桌面应用程序、web端以及APP段的工具少的可怜,以下是一些工具的总结:

pyautogui

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

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

Keyboard Control Functions — PyAutoGUI documentation

TestWriter

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

QTP

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

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

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

并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。

pywinauto

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

pywinauto.keyboard — pywinauto 0.6.8 documentation

pywinauto与pyautogui比较

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

Airtest

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

欢迎使用 - Airtest Project Docs

codeui

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

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

renorex

Ranorex Studio为测试人员提供了完整的解决方案,可在一个许可证中对台式机,Web和移动应用程序进行端到端测试。在Windows桌面上自动化测试,然后在真实的iOS或Android移动设备或模拟器/模拟器上本地或远程执行它们。并行运行测试以获得快速结果。内置的Selenium WebDriver可以加速针对Chrome,Firefox,Safari,Microsoft Edge等的跨浏览器测试。让Ranorex Studio花费更少的时间来解决不稳定测试中的问题,

而将更多的时间用于评估应用程序的质量。

官网:https://www.ranorex.com/

pyautoit

PyAutoIt是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作,它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。

PyAutoIt · PyPI

TestComple

TestComplete是AutomatedQA公司开发的一套支持自动测试软件的工具。在当今的软件开发中,自动测试非常重要,大型软件开发公司很久以来就已经将其作为软件开发的一项重要环节。然而,自动测试软件一般成本较高而且不易使用,很难在小型公司内推广。TestComplete为Windows、.NET、Java和Web应用程序提供了一个特性全面的自动测试环境。将开发人员和QA部门人员从繁琐耗时的人工测试中解脱出来。TestComplete测试具有系统化、自动化和结构化特性,支持.NET,Java,Visual C++, Visual Basic, Delphi, C++Builder和web应用程序。

TestComplete就是一款自动化测试工具,可以测试传统的windows桌面程序,web应用,webservice,wince程序(这个就算了吧),http负载测试等功能。

windows桌面应用程序UI自动化工具(转载)相关推荐

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

    WinApp自动化测试之工具的选择 WinApp测试简介 安装与卸载 升级更新 UI界面 业务功能 性能 交叉事件 兼容性 安全性 硬件环境 异常情况 WinApp自动化测试工具 AutoIt Air ...

  2. C#【自动化测试】对Windows桌面应用程序进行UI自动化测试

    文章目录 1.文章一: 题记 UI自动化测试 参考 2.文章二: 3.重要资源[实例]: 1)已验证可用[非常好的例子,便于理解] 关键代码 2)未验证 1.文章一: 题记 本文简述如何利用appiu ...

  3. 对Windows桌面应用程序进行UI自动化测试

    所谓UI自动化测试,就是模拟一个用户,对应用程序的UI进行操作,以完成特定场景的功能性集成测试. 要对Windows桌面应用程序进行UI自动化测试,目前可选的技术主要是两种:VS自带的CodedUI ...

  4. python 桌面程序自动化测试_对Windows桌面应用程序进行UI自动化测试

    题记:本文简述如何利用appium对Windows桌面应用程序进行UI自动化测试. 所谓UI自动化测试,就是模拟一个用户,对应用程序的UI进行操作,以完成特定场景的功能性集成测试. 要对Windows ...

  5. Windows下UI自动化工具Inspect

    windows系统下的UI自动化工具Inspect是包含在WindowsSDK包里的,所以需要先下载SDK包,然后在SDK包路径下找到Inspect工具并打开使用就可以了. 官网下载链接:https: ...

  6. 桌面应用程序UI框架有哪些

    Electron 是一种基于Node.js和Chromium的跨平台框架,可以用于构建桌面应用程序.Electron使用HTML.CSS和JavaScript编写,可以使开发人员使用Web技术开发桌面 ...

  7. 微信小程序UI自动化实践:python+minium+PO模式(超详细教程附源码供下载)

    文章目录 前言 一.minium介绍 二.安装环境 1. 安装minium doc 2. 安装minium 3. 启动小程序 三.准备知识 1. 启动 2. 配置 3. 命令行运行 4. 元素定位 5 ...

  8. Flutter教程之Windows桌面应用程序开发

    Flutter教程之Windows桌面应用程序开发 一.前言 二.环境安装 三.创建项目 四.已有项目添加其他平台支持 一.前言 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过 ...

  9. C#基于.Net框架的学生信息管理系统(Windows桌面应用程序)

    简介 自己用C#编写了一个学生信息管理系统的Windows桌面应用程序,第一次实践,某些地方可能还不够完善,但其中有些函数.方法等的使用可以参考. 工具 我用的集成开发环境是Visual Studio ...

最新文章

  1. Laya 位图字体制作(失败...)
  2. Python:Python语言编程软件安装的几大姿势之详细攻略
  3. 基于VC的OPC客户端软件研究与实现
  4. C++笔记——.和::和:和-的区别
  5. 在windows下编译ffmpeg
  6. 学会“量体裁衣”去赚钱
  7. perlretut - Perl regular expressions tutorial ---- 中文版
  8. ASCII码表以及字符和数字转换
  9. 2021年高压电工新版试题及高压电工模拟考试题
  10. 深度卷积神经网络是什么,卷积神经网络结构设计
  11. 方程求全微分结果和法向量、切向量的关系
  12. MATLAB的m文件
  13. yudian温控表a1温度怎么补偿_yudian温控表a1说明书
  14. php汉字转为拼音方法一
  15. Office基础操作:Word 使用交叉引用的超链接后,如何一步操作返回至引用处
  16. adb通过无线wifi连接安卓手机
  17. 【078期】java.util.* 并发包下 LongAdder 和 AtomicLong 哪个性能更好,为什么?
  18. 调用小程序OCR插件识别身份证信息
  19. hbase-default.xml file seems to be for an older version of HBase ,this version is 1.2.0
  20. Substance Painter入门

热门文章

  1. 传真机常见故障中英文说明
  2. 如何进行APP兼容性测试
  3. Ambiguous handler methods mapped 模棱两可的方法
  4. 区块链术语中英对照表
  5. R语言使用epiDisplay包的alpha函数计算dataframe数据中指定数据列之间的信度分析、克朗巴哈系数、、每剔除某一条目后系数的变化、alphaBest函数获取最高alpha值对应的项目集
  6. python画流程图-画Python代码的数据流程图
  7. 希望计算机专业同学都知道这些宝藏老师
  8. PHP保存数组到文件中的方法
  9. [双语阅读]“西红柿大战”染红西班牙小镇
  10. 续集来啦!小白必读:什么是TCP?