GUI 自动测试工具[2021清单]

GUI 自动测试工具[2021清单]

原文:https://www.softwaretestinghelp.com/best-gui-testing-tools/

水平有限,百度翻译

 

任何用户友好且易于管理的应用程序或网站都可以被认为是优秀的。但是引起用户注意的第一件事通常是应用程序的外观,即GUI(图形用户界面)。

因此,GUI测试对于消除设计中的漏洞和获得系统对用户的吸引力显得非常重要。在当今的数字化时代,GUI测试不仅仅局限于台式电脑,在智能手机和平板电脑等电子产品上逐步拓展自己的优势。

本文中将会带领大家进一步了解GUI测试。我们将学习什么是GUI测试,以及与之相关的一些其他概念。重点将放在如何使用GUI测试工具进行自动化GUI测试上。

 什么是GUI测试?

GUI测试是在设计阶段对应用程序的GUI进行测试以识别其中出现的缺陷的过程

它的执行是为了按照规范验证GUI的功能,并取决于所使用的技术

GUI测试还评估诸如菜单、按钮、图标、文本框、列表、对话框、布局、颜色、字体大小、文本格式等控件

GUI测试可以在第三方公司(而不是开发人员或用户)执行的工具的帮助下手动或自动执行

它用于执行每个GUI对象的属性值,并执行诸如按键或鼠标单击之类的GUI事件

1.1 GUI测试内容

下面建议了在执行GUI测试时应该检查哪些内容;
屏幕验证,GUI元素的大小和位置,清晰且对齐的图像,导航(链接),字体和文本对齐方式,日期和数字字段,可用性条件和数据完整性,错误消息,必填字段,缩写不一致,进度条,快捷方式

1.2 GUI测试方法


- 手动测试:
测试人员应用他们的知识并根据业务需求测试图形屏幕。
- 录制和回放:
这是通过使用自动化工具及其录制和回放操作实现的。在录制过程中,测试步骤在自动化工具中捕获,然后在回放/回放过程中,在被测应用程序上执行录制的步骤。
- 基于模型的测试:
根据系统行为进行基于模型的测试。这些模型可以分为三种类型,如;
基于事件的模型:基于至少发生一次的GUI事件
基于状态的模型:基于至少执行一次的GUI状态
域模型:基于应用程序的域和功能
对于上述3种型号,还需要遵循以下要求;
建立模型
指定模型的输入
确定预期产出
执行测试
比较实际结果和预期结果
决定未来要采取的行动

 

二 GUI测试工具(2021年)

移动应用程序测试可以是手动的,也可以是自动的。有几种工具可供使用,但不是所有的,但下面根据流行程度和用法列出了一些。

2.1 RAPISE by Inflectra

Rapise提供了一个一体化的测试自动化解决方案。它可以测试桌面、移动设备、web(包括Selenium支持)、Java应用程序,甚至api(REST和SOAP)。它的学习和跟踪工具非常强大,设计用于处理跨多种连接类型的最复杂的应用程序。
Rapise使用标准JavaScript和易于使用的库,使其快速、简单地跟上速度。它还包括一组不断增长的自定义库,用于测试许多流行应用程序,包括Microsoft Dynamics。最新版本甚至包括一个无脚本的关键字驱动框架。
Rapise–测试人员的终极IDE!

http://www.inflectra.com/Rapise/

2.2 Abbot Java GUI Test Framework

abbot java gui测试框架是用来测试java gui的
这个框架与脚本和编译代码一起使用
它由GUI引用组成,并对GUI组件执行用户操作
为AWT和SWING提供单元测试和功能测试
这是一个开放源码框架,可以免费使用,并具有录制和回放等功能

http://abbot.sourceforge.net/doc/download.shtml

2.3 AutoIt UI testing

AutoIt是一种免费的脚本语言,其基本结构用于自动化Windows GUI和常规脚本
它是一个独立的商业工具,是击键、鼠标移动和Windows操作的组合
该工具提供COM支持和独立可执行文件的脚本编译
该工具包括内置编辑器、基本语法、丰富的函数集等。

https://www.autoitscript.com/site/autoit/downloads/

2.4 CubicTest

CubicTest是一个开源的Eclipse插件,它可以帮助测试web应用程序的设计和理解,无论用户是否具有任何技术知识

它使用GUI进行模型测试,而不是测试脚本,并支持web应用程序的测试驱动开发

用CubicTest用例设计替换需求规范和手动测试脚本

https://github.com/cubictest/cubictest

2.5 eggPlant UI Automation Testing

eggPlant是由TestPlant设计的商业GUI自动化和软件测试工具
它适用于GUI测试,并用于整个测试过程
它使用VNC查看SUT并发送鼠标和键盘命令
可以测试任何设备、任何操作系统和任何技术。通过eggDrive接口快速创建测试
我们可以将其集成到Jenkins、IBM轮换质量经理和Micro Focus质量中心,以执行端到端的QA过程

2.6 FitNesse

FitNesse是一个开源框架,用于协同验收测试,能够在一个或多个设备上运行应用程序
它是一个轻量级工具,有助于决定软件到底应该做什么和它实际做什么
它可以在机器或服务器上运行,并且可以在一个包中使用

http://fitnesse.org/FitNesseDownload

2.7 Ascentialtest

AscientialTest旨在减少创建和维护测试用例的时间和工作量

提供一个可视化的环境,通过拖放功能创建测试组件

促进测试计划、测试数据管理、测试执行、手动和自动测试开发、缺陷跟踪和报告

http://www.zeenyx.com/AscentialTest.html

2.8 iMacros

基本上,iMacros是mozilla firefox、google chrome和internet explorer的扩展,具有录制和回放功能

它具有支持web脚本、internet服务器监视和web测试的功能

它是一个商业工具,可以自动化adobe flash、adobe flex、Silverlight、Java applet等。

与业务数据集成,Excel自动化Ajax测试以及浏览器的功能、性能和回归测试

https://www.progress.com/imacros/download

2.9 Ranorex Studio 

Ranorex Studio是一个商业化的Windows GUI测试自动化工具,全球有4000多家公司使用它来测试桌面、web和移动应用程序。对于初学者来说,使用无代码的点击式界面和有用的向导是很容易的,但是对于拥有完整IDE的自动化专家来说,它非常强大。在这里查看所有支持的技术。
功能包括:
可靠的对象标识,即使对于具有动态id的web元素也是如此。
可共享的对象存储库和可重用的代码模块,用于高效的测试创建和减少维护。
可定制的测试报告,带有测试执行的视频报告。
并行运行测试,或者使用内置的Selenium Webdriver在Selenium网格上分发测试。
可定制的测试报告。
与Jira、Jenkins、TestRail、Git、Travis CI等工具集成。

2.10 Maveryx user interface testing tool

Maveryx是一个测试自动化工具,用于功能测试、回归测试、数据驱动测试和GUI测试,尤其适用于所有Java和Android应用程序

Maveryx获取正在运行的应用程序用户界面的快照,以标识要自动测试的UI元素

这是一个开源的商业工具,它有接口和插件架构来支持自定义控件

它是一个运行独立应用程序或作为Eclipse插件的跨平台应用程序

http://www.maveryx.com/get-started/

2.11 RIATest

RIATest是一个GUI测试自动化工具,适用于Flex、HTML、JavaScript、jQuery或windows8应用程序
RIATest被添加到持续集成系统中,以快速发现问题
帮助创建可读的测试脚本,使用组件检查器识别GUI元素
它是一种商业工具,允许通过记录错误或抛出异常来定制错误处理

http://www.cogitek.com/riatest/download.html

2.12 SilkTest

SilkTest是一个自动化功能测试和回归测试的工具
它是一个商业工具,用于创建健壮的、可移植的功能测试
它促进了web、本机和其他软件应用程序的测试用例
提供跨浏览器支持、移动浏览器支持、快速测试执行等

https://www.microfocus.com/zh-cn/en-gb/products/silk-test/overview

2.13 Sikuli UI automation framework

Sikuli是一个开源框架,用于自动化GUI测试
它使用Sikuli脚本,可以用来自动化屏幕上的任何东西,而不需要内部API的支持​
它还支持网页、Windows、Linux、Mac、iPhone和Android上的桌面应用程序

http://www.sikuli.org/download.html

2.14 Squish GU testing tool

Squish是一种用于GUI自动化测试的商业工具
它允许使用JavaScript、Perl、Python和Ruby等脚本语言记录和编辑测试
便于验证属性、屏幕截图、图像、复杂数据、外部文件和数据库
拥有基于Eclipse的集成测试开发环境

https://www.froglogic.com/squish/free-trial/

2.15 SWTBot

SWTBot是一个基于Java的开源跨平台,用于GUI和功能测试
它基本上支持运行Eclipse的平台,因为它基于Eclipse插件和基于Eclipse RCP的应用程序
它提供了易于读写的api

http://www.eclipse.org/swtbot/

2.16 Selenium

Selenium是一个伞式项目,它支持对所有浏览器进行web浏览器测试
它作为一个Firefox扩展实现,允许记录、编辑和调试
它是一个开源的免费应用程序,支持GUI测试和web功能测试
还支持一些脚本语言,如Java、C#、Python等。

https://www.selenium.dev/

2.17 Test Studio

Telerik TestStudio是基于Windows的商业软件测试工具,带有visualstudio插件

它方便了web和桌面(GUI)功能测试、性能测试和带有记录和重放功能的移动应用程序测试

支持JavaScript、HTML、,ASP.NET,Ajax,Silverlight等,方便了快速验证

可用于IE、Firefox、Chrome、Safari等所有浏览器

https://www.telerik.com/download-trial-file?pid=TESTSTUDIOULTIMATE&lict=1

2.18 TestComplete

TestComplete是一个用于web、移动和GUI测试的商业平台
它是一种低成本、经济实惠的快速准确测试工具
支持数据驱动测试、对象驱动测试、关键字驱动测试以及数据库测试支持
与其他工具集成,并附带测试编辑器、调试器和代码编辑器

http://smartbear.com/products/qa-tools/automated-testing-tools/free-testcomplete-trial

2.19 Test Anywhere

TestAnywhere是一种商业软件测试工具,不需要任何编程
支持记录、重放和运行复杂测试用例等功能
使用基于对象和基于图像的测试编辑器提供GUI和前端测试
单一测试平台,基于瀑布、敏捷、V、Spiral和RUP/RAD等测试方法

https://www.automationanywhere.com/testing/try?r=tapdt&w=FTbtm

2.20 TestPartner

TestPrtner是Micro-Focus设计和开发的一种商业自动化测试工具
通过可视化和面向情节提要的方法跟踪业务流程
提供VBA脚本并促进用户、开发人员和测试人员的团队合作
自动化回归测试并生成面向对象的脚本

http://www.borland.com/en-GB/Products/Other-Borland-products/Silk-TestPartner

2.21 Jubula GUI testing tool

Jubula是一个自动化的GUI测试,它被用作GUIDancer的替代品
它和GUIDancer一样好,用于执行功能性GUI测试
它还可以服务于集成、系统和验收测试
一个免费工具支持Windows和Linux平台,并为javas wing应用程序、SWT应用程序、eclipse rpc应用程序、HTML和iOS应用程序提供工具箱支持

http://testing.bredex.de/

2.22 GTT

GTT是用于基于javaswing的应用程序的GUI测试工具
应用于测试驱动开发,并带有用于GUI测试的捕获和重放功能
它是一个开源工具,使用Jemmy事件作为其事件模型
为了验证准确性,它使用了视图断言和模型断言机制

http://sourceforge.net/projects/gtt/files/

2.23 IcuTest

IcuTest是一个用于GUI测试的单元测试框架,有助于创建简单且可管理的测试
它是一个专有工具,不支持录制和重放功能,但可以自动快速地执行测试
提供广泛的代码覆盖范围并快速发现错误
无需启动整个应用程序进行测试,也可以测试单个GUI组件

http://www.nxs-7.com/icu/

2.24 QF-Test

QF-Test是一个针对web、Java和Windows应用程序GUI的专业自动化测试工具。
用于Java Swing、AWT、SWT、Eclipse插件、RCP、ULC、Captain Casa、WebStart、JavaFX、JxBrowser、SWT Browser、JavaFX Webview应用程序的强大而健壮的工具。
所有常见浏览器上的跨浏览器,也包括所有常见的AJAX工具包和框架,如Angular、React、GWT等。Webswing和Electron应用程序。
此工具支持跨浏览器测试并提供可重用的测试。
基于WPF或Windows窗体、Windows应用程序、UWP和现代C++应用程序的WIN32、.NET等本地Windows应用程序。
PDF文档
它可供开发人员和测试人员使用,并通过全面的文档证明是用户友好的。

https://www.qfs.de/

2.25 QAliber

QAliber通过记录和重放功能自动化GUI测试
基本上,它有两个项目,如QAliber Test Builder和QAliber Test Developer
QAliber测试生成器提供完整的GUI测试管理
存储测试用例和所有细节的开源工具

http://sourceforge.net/projects/qaliber/

2.26 RCP Testing Tool

RCP测试工具用于对基于Eclipse的应用程序进行GUI自动化测试

提供测试用例创建效率和对Eclipse技术的强大支持

可维护、可扩展并生成有用和可靠的结果

最初,它是商业化的,但在2014年,它已作为一个开源工具发布

https://www.eclipse.org/rcptt/download/

2.27 Sahi

Sahi是一个自动化测试工具,用于测试web应用程序,并提供开源和专有版本
开源附带了用Java和JavaScript编写的基本记录和回放功能
专有版本提供了附加功能和报表定制
开源版本由SourceForge托管,专有版本由sahipro网站托管

http://sourceforge.net/projects/sahi/?source=navbar

2.28 Soatest

Parasoft Soatest是一个测试工具,用于验证API-driven的应用程序
它还用于功能单元测试、集成测试、回归测试、系统测试、安全测试和webui测试
支持运行时错误检测。负载测试和引入服务虚拟化
专有工具有助于自动化测试生成的高级智能

https://www.parasoft.com/product/soatest/

2.29 SWAT

简易网络自动化工具包(简称SWAT)是一个允许用户在多个浏览器中进行自动化测试的测试工具。

SWAT拥有一个适当集成了UI记录和SQL工具,由C#代码写成的健壮的编辑器。

2.30 Telerik Testing Framework

Telerik测试框架是一个免费的工具,它有丰富的API来准备可维护的功能测试用例
帮助设置动态页面元素、动画和自定义UI控件
具有跨浏览器兼容性,并自动测试AJAX、HTML5和XAML应用程序
与visual studio集成并处理JavaScript事件

http://www.telerik.com/teststudio/testing-framework

2.31 Telerik Test Studio GUI testing tool

Telerik Test Studio是一个专有的基于Windows的web和桌面工具
用于Telerik开发的功能测试、性能测试、负载测试和移动应用测试
启用无脚本记录和重播功能,并方便跨浏览器测试
支持HTML、AJAX、Silverlight应用程序测试和自动化数据驱动测试
与缺陷跟踪工具和微焦点质量中心集成

http://www.telerik.com/teststudio

2.32 Tellurium Automated Testing Framework

Tellurium自动化测试框架是一个开源的web应用程序自动化测试框架
它是从Selenium框架开发的,构建在可供开发人员和测试人员使用的UI模块概念之上
Tellurium有两种工作模式第一种是Selenium框架的包装器,第二种使用Tellurium引擎
telluriumui模板被用来表示动态web内容并支持跨浏览器测试

https://code.google.com/p/aost/downloads/list

2.33 TestStack.White Framework

White是一个开源的UI自动化工具,用C语言编写,基于Win32、WinForm、WPF和javaswt
它很大程度上依赖于.NET,因此不需要任何脚本语言
处理复杂的UI自动化,并支持一致的面向对象API
White已被替换为TestStack.White

https://www.nuget.org/packages/TestStack.White

2.34 UI Automation Powershell Extensions

这是一个免费的工具,包含UI模块,有助于轻松实现GUI自动化测试
它基于.NETFramework 3.0中的UI自动化库
目前支持Win32、Windows窗体、Java SWT和Delphi应用程序(Delphi应用程序允许创建GUI或控制台应用程序)

https://uiautomation.codeplex.com/

2.35 Watir

Watir代表Ruby中的Web应用程序测试,是一个用于自动Web浏览器测试的开放源码。
它是用Ruby编写的,支持所有应用程序,而不考虑技术。
分为3大类,如Watir-classic,Watir webdriver和Watirspec。
被证明是轻量级的,强大的和易于使用的。

http://watir.com/

2.36 Coded UI

此工具为应用程序的用户界面生成自动测试
通常为您的UI执行功能测试,包括您使用的单个UI控件
关注验证和UI设计中涉及的其他逻辑,也可以用于创建数据驱动的测试
它需要visual studio enterprise,因为它是visual studio ide的一部分,支持windows7、windows8和windows10等操作系统
商业工具可以被测试人员和开发人员经常使用

https://msdn.microsoft.com/en-us/library/dd286726.aspx

2.37 Micro Focus Unified Functional Testing (UFT)

Micro UFT被誉为微焦点快速测试专家
新形式的工具结合了QuickTest Professional、WinRunner和Micro Focus Service测试的最佳特性
Micro UFT为GUI和API测试提供了一个强大而有效的框架
它生成可以自动执行的功能测试,从而提高速度和成本效益
在回归测试中提供最佳结果的专有工具,有助于在GUI上记录用户执行的每个操作

https://www.microfocus.com/en-us/products/unified-functional-automated-testing/free-trial

2.38 Cucumber

Cucumber是一个免费使用的开源行为驱动开发工具
它需要使用Ruby,并且是用Ruby本身编写的
除了Ruby之外,它还可以支持其他语言和应用程序
作为自动测试执行纯文本功能描述
支持JVM、.NET、Python、adobeflex、PHP、WebDriver、Selenium、wair等
它专注于系统行为,而不是GUI测试

https://cucumber.io/

2.39 LoadUI

loadui pro是一个由SmartBear设计的负载测试工具,包括商业版和开源版

支持可视化拖放界面,轻松创建和配置负载测试

支持web测试,包括功能测试、可用性测试、用户界面测试、数据库测试、兼容性测试、性能测试、安全测试等。

支持SOAP/WSDL、REST、Http/Https、JDBC、POX等协议。

http://www.loadui.org/downloads/download-loadui-pro.html

 结论

GUI测试对于提高应用程序的质量是必要的。这很重要,但有时似乎代价高昂。GUI测试最好使用工具而不是手动执行。工具有助于更好地发现漏洞。
在上面的文章中,我们根据需要看到了一些特色和专用的GUI测试工具。自动化GUI测试帮助测试人员和开发人员在时间限制内更准确地执行测试。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值