CN118227506A - 基于rpa机器人的ui自动化测试系统及方法 - Google Patents
基于rpa机器人的ui自动化测试系统及方法 Download PDFInfo
- Publication number
- CN118227506A CN118227506A CN202410594140.XA CN202410594140A CN118227506A CN 118227506 A CN118227506 A CN 118227506A CN 202410594140 A CN202410594140 A CN 202410594140A CN 118227506 A CN118227506 A CN 118227506A
- Authority
- CN
- China
- Prior art keywords
- flow
- test
- module
- robot
- automatic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于软件测试技术领域,具体涉及基于RPA机器人的UI自动化测试系统及方法。系统包括:流程设计模块,用于构建、设计自动化机器人流程;流程调度模块,用于对自动化机器人流程进行管理;所述流程调度模块负责协调自动化测试过程的活动,监视自动化测试过程的执行,并处理异常情况;流程执行模块,用于执行流程设计模块中开发的自动化机器人流程,以及接收流程调度模块下发的执行任务,并与流程调度模块进行数据交互,将执行过程及结果上报到流程调度模块中。本发明具有助力于提升软件测试人员的效率,减少手工测试的占比,更好的为软件测试人员服务的特点。
Description
技术领域
本发明属于软件测试技术领域,具体涉及基于RPA机器人的UI自动化测试系统及方法。
背景技术
RPA(Robotic Process Automation,机器人流程自动化)技术是一种流程自动化技术,通过RPA软件提供的流程编辑器,可以设计和配置出能够自动执行的业务操作流程,并封装成“软件机器人”或“虚拟机器人”的形态,部署到生产环境和业务系统上执行,模拟人在计算机上的一系列操作,例如打开网页,启动应用,鼠标移动、鼠标点击、键盘输入、获取页面信息、输入文件内容、excel操作,数据库查询等。
传统的UI自动化是指使用软件工具或编程技术来模拟用户与应用程序的交互,并自动执行用户界面上的操作。这种自动化技术可以用于测试应用程序的用户界面,执行重复性任务,或者实现自动化的工作流程。
现有UI自动化技术,主要包括如下内容:
1.测试框架:测试框架提供了编写、组织和执行自动化测试脚本的基本结构和功能。常见的测试框架包括Selenium、Appium、Cypress、TestCafe等。这些框架支持不同的应用类型(Web、移动、桌面等)和编程语言,提供了丰富的API和工具来进行元素定位、交互和断言等操作。
2.元素定位工具:元素定位是UI自动化测试中的关键步骤,用于定位和识别测试中需要操作的UI元素。常见的元素定位工具包括XPath、CSS选择器、ID、名称、类名等。测试框架通常提供了相应的API和方法来支持这些定位方式。
3.编程语言:UI自动化测试通常使用编程语言来编写测试脚本。常见的编程语言包括Java、Python、JavaScript、C#等。选择编程语言时,需要考虑测试框架的支持程度、团队的熟悉程度和应用程序的技术栈等因素。
4.集成开发环境(IDE):IDE是用于编写、调试和管理代码的工具。对于UI自动化测试,常见的IDE包括Eclipse、IDEA、PyCharm、Visual Studio等。这些IDE提供了代码编辑、调试、自动补全、版本控制等功能,提高了测试脚本的开发效率。
5.持续集成/持续交付(CI/CD)工具:CI/CD工具用于自动化构建、测试和部署应用程序。它们可以与UI自动化测试集成,通过触发自动化测试流程来提供快速反馈和持续集成的优势。常见的CI/CD工具包括Jenkins、Travis CI、GitLab CI/CD等。
6.云测试平台:云测试平台提供了在分布式环境中执行自动化测试的能力,可以并行运行多个测试用例,加快测试速度。一些常见的云测试平台包括Sauce Labs、BrowserStack、Kobiton等。
7.测试报告和结果管理:测试报告和结果管理工具用于收集、分析和展示自动化测试的结果。这些工具通常提供了丰富的报告模板、图表和统计信息,帮助测试团队分析测试覆盖率、缺陷趋势等。常见的工具包括Extent Reports、Allure、TestRail等。
然而,现有UI自动化技术仍然存在如下问题:
1.部分功能无法完全自动化:UI自动化测试工具难以实现完全自动化的一个常见问题是需要人工干预的场景,例如验证码输入。这是因为验证码通常是为了防止机器自动化操作而设计的安全机制,无法通过自动化脚本直接模拟。在这种情况下,测试人员需要手动输入验证码,或者通过其他机制来绕过验证码,以保证测试的进行。
2.编写人员能力要求高:使用现有的UI自动化测试工具进行脚本编写需要一定的编程和技术能力。测试人员需要熟悉测试框架、编程语言和元素定位方法等,以编写可靠、可维护的测试脚本。对于没有编程背景或经验较少的测试人员来说,学习和掌握这些技能可能需要一定的时间和努力。
3.环境配置复杂:配置UI自动化测试工具的运行环境可能会比较复杂。这涉及安装和配置测试框架、相关的依赖项、浏览器驱动程序等。每个工具和框架都有自己的特定要求和配置步骤,测试人员可能需要花费一些时间来理解和设置正确的环境,以确保测试脚本的顺利运行。
4.团队协调配合:UI自动化测试通常需要整个团队的协调和配合才能顺利进行。测试人员需要与开发人员、产品团队和运维团队密切合作,完成UI自动化脚本的开发,部署,调度。在测试过程中,可能需要与开发人员沟通和解决问题,确保测试脚本的稳定性和准确性。
因此,设计一种能够助力于提升软件测试人员的效率,减少手工测试的占比,更好的为软件测试人员服务的基于RPA机器人的UI自动化测试系统及方法,就显得十分重要。
发明内容
本发明是为了克服现有技术中,现有的UI自动化技术,存在部分功能无法完全自动化,对编写人员能力要求高,环境配置复杂以及需要团队协调配合的问题,提供了一种能够助力于提升软件测试人员的效率,减少手工测试的占比,更好的为软件测试人员服务的基于RPA机器人的UI自动化测试系统及方法。
为了达到上述发明目的,本发明采用以下技术方案:
基于RPA机器人的UI自动化测试系统,包括:
流程设计模块,用于构建、设计自动化机器人流程;
流程调度模块,用于对自动化机器人流程进行管理;所述流程调度模块负责协调自动化测试过程的活动,监视自动化测试过程的执行,并处理异常情况;
流程执行模块,用于执行流程设计模块中开发的自动化机器人流程,以及接收流程调度模块下发的执行任务,并与流程调度模块进行数据交互,将执行过程及结果上报到流程调度模块中。
作为优选,所述流程设计模块包括:
用户界面,用于用户直观地创建和管理自动化UI测试流程,包括拖放流程图,使用户从预定义的测试组件库中选择和配置各种组件;
组件库,用于构建面向各类场景和需求的自动化UI测试流程;
流程图设计模块,用于将多个自动化测试流程组合成一个完整的自动化测试流程;
变量和逻辑模块,用于用户在测试流程中使用变量进行数据存储,处理和传递,同时使用条件判断和循环,根据不同的情况执行不同的操作满足自动化测试的不同要求;
调试和测试模块,用于验证自动化测试流程的正确性,具体包括单步执行、断点设置和变量监视,帮助用户诊断和修复错误;
安全性和稳定性模块,用于确保自动化流程的可靠性和数据的安全性,具体包括访问控制、加密传输、错误处理和异常恢复机制;
部署和管理模块,用于将开发好的自动化测试流程部署到生产环境中并进行管理,具体包括版本控制、权限管理、日志记录。
作为优选,所述流程调度模块包括:
任务调度和分配模块,用于提供任务调度和分配功能,以确定对应的机器人执行对应的自动化测试任务,具体包括根据任务的优先级、可用性和机器人的环境进行动态分配;
机器人管理模块,用于提供机器人的管理功能,具体包括注册、配置和监视机器人的状态;
异常处理模块,用于提供异常处理功能,监测并处理自动化测试执行过程中的异常情况,具体包括错误处理、自动重试、报警和通知,以确保流程的稳定运行;
日志和报告模块,用于提供日志记录和报告功能,以跟踪机器人的执行和性能,具体包括记录自动化测试任务的执行历史、错误日志、执行时间统计和业务报告;
安全性和权限管理模块,用于具备安全性和权限管理功能,以保护机器人流程和敏感数据的安全,具体包括访问控制、加密传输、身份验证和授权;
监控和性能优化模块,用于提供监控和性能优化功能,以确保机器人流程的高效执行,具体包括监控资源利用率、性能瓶颈分析。
作为优选,所述流程执行模块包括:
下发任务接收模块,用于与流程调度模块建立网络连接并使用API接口实现任务的接收;
自动化UI测试流程运行模块,用于使机器人根据接收到的任务,在指定时间开始运行自动化流程;
运行过程记录模块,用于机器人记录自动化UI测试执行过程中的关键事件和操作,同时通过生成日志文件、发送实时日志消息同步到流程调度模块的页面中展示;
运行结果上传模块,用于自动化UI测试流程执行完成后,RPA自动化UI测试机器人将执行结果上传到流程调度模块中。
作为优选,所述自动化UI测试流程运行模块中,运行的自动化流程包括模拟用户界面交互、执行用户软件测试、网页打开、鼠标点击和窗口操作。
作为优选,所述运行过程记录模块中,所述关键事件和操作包括任务开始时间、执行步骤、执行时间、错误和异常信息。
作为优选,所述运行结果上传模块中,所述执行结果包括执行日志、运行视频、执行结果文件。
本发明还提供了基于RPA机器人的UI自动化测试方法,包括如下步骤:
S1,设计UI自动化测试用例集;其中,测试用例需确定测试对象,测试范围以及明确要测试的UI页面功能;所述UI页面功能包括用户界面的各个组件、交互和流程;
S2,在流程设计模块中,创建一个新流程;所述新流程中的步骤设计具体如下:
根据测试用例,将每个步骤转化为RPA机器人流程中的组件和操作;
根据测试用例的流程,在RPA流程中添加逻辑控制;
在RPA流程中适当的位置添加输出日志组件,在运行时打印相关变量值和调试信息;
根据测试用例的预期结果,在RPA流程中添加对应的校验步骤;
在完成新流程的设计和编写后,使用RPA设计器提供的调试功能对新流程进行测试和调试;
在完成新流程的调试和测试后,保存新流程并进行版本管理;
S3,在流程执行模块中,根据所需要测试的操作系统,测试账号连接登录,确保需要测试的场景中的机器人账号登录成功,并处于在线状态;
S4,将步骤S2中调试通过的新流程发布到RPA机器人的流程调度模块中,并配置调度任务;
S5,RPA机器人通过流程调度模块下发的流程和设置的运行策略,在指定时间、指定机器人账号上运行流程,并通过录屏、视频回放以及日志记录的方式监控和分析运行情况。
本发明与现有技术相比,有益效果是:(1)易于使用: RPA机器人通常提供了可视化的开发界面,使非技术人员也能够创建自动化UI测试任务;这些工具使用拖放和配置的方式,而不需要编写复杂的代码,这使得测试人员和业务用户可以快速上手并创建自己的UI自动化测试流程;(2)快速开发: RPA机器人提供了丰富的操作库和内置的功能模块,用于处理UI元素交互、数据处理、错误处理等;这些功能模块可以大大加快自动化测试任务的开发速度,减少编写代码的工作量;(3)强大的元素拾取校验功能:RPA机器人提供了各种方法的元素定位拾取功能,包含selector元素,CV(Computer Vision)元素,OCR(OpticalCharacter Recognition) 图像定位技术,智能修复方法,并支持各类型应用,各类浏览器的下不同DPI的运行;(4)跨平台支持: RPA机器人通常支持多种应用程序类型,包括桌面应用程序、Web应用程序、移动应用程序等;这使得可以使用同一套工具和流程来自动化不同平台上的UI测试操作,提高了测试工作的效率和灵活性;(5)灵活的调度和监控: RPA机器人提供了灵活的任务调度和监控功能,可以设置自动化测试任务的执行时间和频率,并监控测试任务的执行状态和结果;这使得可以按需自动运行UI自动化测试任务,并及时获取执行结果和错误信息;(6)易于维护和更新: RPA机器人通常提供了可视化的流程编辑器和管理界面,使得维护和更新自动化任务变得更加容易,可以通过简单的拖放和配置操作,更新UI元素定位、处理逻辑或添加新的步骤,而无需修改复杂的代码。
附图说明
图1为本发明中基于RPA机器人的UI自动化测试系统的一种功能构架图;
图2为本发明中RPA机器人进行元素拾取的一种流程图;
图3为本发明实施例提供的基于RPA机器人的UI自动化测试方法在实际应用中的一种时序图。
具体实施方式
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
如图1所示,本发明提供了基于RPA机器人的UI自动化测试系统,具体采用RPA机器人中集成的三大功能模块:流程设计模块,流程调度模块,流程运行模块。
其中,流程设计模块:用于构建、设计自动化机器人流程的工具,提供了一个图形化界面,允许用户创建自动化UI测试的流程,而无需编写代码。
流程设计模块具体包括如下内容:
用户界面:基于RPA的自动化UI测试流程设计模块提供了一个易于使用的用户界面,使用户能够直观地创建和管理自动化UI测试流程,包括拖放流程图,使用户可以从预定义的测试组件库中选择和配置各种组件。
组件库:基于RPA的自动化UI测试流程设计模块提供了一个丰富的组件库,组件库包含常用的组件,用于构建面向各类场景和需求的自动化UI测试流程(例如打开网页,启动应用,鼠标移动、鼠标点击、键盘输入、获取页面信息、输入文件内容、excel操作,数据库查询及其它常用应用的集成)。
流程图设计模块:基于RPA的自动化UI测试流程设计模块支持工作流设计,使用户能够将多个自动化测试流程组合成一个完整的自动化测试流程。用户可以自定义操作的顺序、条件和循环,以及错误处理和异常情况的处理方式。
变量和逻辑模块:基于RPA的自动化UI测试流程设计模块提供了变量和逻辑功能,用户可以在测试流程中使用变量进行数据存储、处理,传递。使用条件判断和循环,根据不同的情况执行不同的操作来满足自动化测试的不同要求。
调试和测试模块:基于RPA的自动化UI测试流程设计模块提供了调试和测试功能,使用户能够验证自动化测试流程的正确性。这可以包括单步执行、断点设置和变量监视等功能,帮助用户诊断和修复错误。
安全性和稳定性模块:基于RPA的自动化UI测试流程设计模块具备安全性和稳定性,以确保自动化流程的可靠性和数据的安全性。包括访问控制、加密传输、错误处理和异常恢复机制。
部署和管理模块:RPA的自动化UI测试流程设计模块提供部署功能,用户将开发好的自动化测试流程部署到生产环境中并进行管理。包括版本控制、权限管理、日志记录。
流程调度模块:用于管理和执行自动化机器人流程的服务。负责协调自动化测试过程的活动,监视其执行,并处理异常情况。
流程调度模块具体包括如下内容:
任务调度和分配模块:提供任务调度和分配功能,以确定哪个机器人执行哪个自动化测试任务。包括根据任务的优先级、可用性和机器人的环境进行动态分配。
机器人管理模块:提供机器人的管理功能,包括注册、配置和监视机器人的状态。包括机器人的连接和断开、版本管理、参数配置和性能监控等。
异常处理模块:提供异常处理功能,能够监测并处理自动化测试执行过程中的异常情况。包括错误处理、自动重试、报警和通知等,以确保流程的稳定运行。
日志和报告模块:提供日志记录和报告功能,以跟踪机器人的执行和性能。这可以包括记录自动化测试任务的执行历史、错误日志、执行时间统计和业务报告等。
安全性和权限管理模块:具备安全性和权限管理功能,以保护机器人流程和敏感数据的安全。包括访问控制、加密传输、身份验证和授权等。
监控和性能优化模块:提供监控和性能优化功能,以确保机器人流程的高效执行。包括监控资源利用率、性能瓶颈分析。
流程执行模块:用于执行自动化测试设计模块中开发的自动化测试流程,接收流程调度模块下发的执行任务,并与流程调度模块进行数据交互,将执行过程及结果(日志记录,运行视频,执行结果)上报到流程调度模块中。
流程执行模块,具体包括如下内容:
下发任务接收模块:通过与流程调度模块建立网络连接并使用API接口实现任务的接收,输入的参数,执行流程的时间,优先级。
自动化UI测试流程运行模块:机器人根据接收到的任务,在指定时间开始运行自动化流程。包括模拟用户界面交互、执行用户软件测试、网页打开、鼠标点击、窗口操作等操作,以模拟人工执行UI测试的过程。
运行过程记录模块:机器人记录自动化UI测试执行过程中的关键事件和操作。包括任务开始时间、执行步骤、执行时间、错误和异常信息。通过生成日志文件、发送实时日志消息同步到流程调度模块的页面中展示。
运行结果上传模块:执行完成后,RPA自动化UI测试机器人将执行结果上传到流程调度模块中。执行结果包括执行日志、运行视频、执行结果文件,通过将结果文件发送到流程调度模块指定的位置、通过API上传结果信息到流程调度模块中。
另外,本发明还提供了基于RPA机器人的UI自动化测试方法,包括如下步骤:
1.设计UI自动化测试用例集;其中,测试用例需确定测试对象,测试范围以及明确要测试的UI页面功能;所述UI页面功能包括用户界面的各个组件、交互和流程;
2.在流程设计模块中,创建一个新流程;所述新流程中的步骤设计具体如下:
根据测试用例,将每个步骤转化为RPA机器人流程中的组件和操作;
根据测试用例的流程,在RPA流程中添加逻辑控制;
在RPA流程中适当的位置添加输出日志组件,在运行时打印相关变量值和调试信息;
根据测试用例的预期结果,在RPA流程中添加对应的校验步骤;
在完成新流程的设计和编写后,使用RPA设计器提供的调试功能对新流程进行测试和调试;
在完成新流程的调试和测试后,保存新流程并进行版本管理;
3.在流程执行模块中,根据所需要测试的操作系统,测试账号连接登录,确保需要测试的场景中的机器人账号登录成功,并处于在线状态;
4.将步骤S2中调试通过的新流程发布到RPA机器人的流程调度模块中,并配置调度任务;
5.RPA机器人通过流程调度模块下发的流程和设置的运行策略,在指定时间、指定机器人账号上运行流程,并通过录屏、视频回放以及日志记录的方式监控和分析运行情况。
基于本发明的技术方案,以如下案例场景来说明本发明在实际应用的实施过程,具体应用实施方案如下:
以通过RPA机器人进行的UI自动化测试的过程为例,如图3所示,直观的展示RPA机器中实现UI自动化测试的时序图,阐述UI自动化测试过程中各模块功能之间的调用关系,具体实施流程如下:
1.设计UI自动化测试用例集:确定测试对象,测试范围,明确要测试的UI页面功能,包括用户界面的各个组件、交互和流程。制定测试策略,根据测试范围和项目需求,确定测试的重点和优先级。考虑哪些功能对于用户体验和核心业务流程至关重要,将其作为主要测试目标。
编写测试用例:根据测试策略,编写具体的测试用例。测试用例应该覆盖各种正常和异常情况,包括用户输入验证、边界条件、错误处理等。正常情况:模拟用户正常使用系统的操作路径和流程。异常情况:测试输入验证,如用户输入非法字符、输入超出限制范围等。边界条件:测试系统在极限情况下的行为,如输入最小值、最大值等。错误处理:测试系统对错误输入或异常情况的处理,如错误提示、日志记录等。
设计测试数据和环境:根据测试用例的要求,设计相应的测试数据和环境。测试数据应该覆盖各种情况,包括正常和异常数据。测试环境应该与实际使用环境尽可能接近,以确保测试的准确性和可靠性。设计UI自动化测试需要充分考虑被测系统需要兼容的环境(包括浏览器类型,操作系统类型,分辨率,DPI等)
2.在本发明的流程设计模块中,创建一个新的流程,可以根据需求按照用例命名和描述。
设计流程步骤:根据测试用例,将每个步骤转化为RPA机器人流程中的组件和操作。可以使用拖拉拽的方式在设计器中选择合适的组件,如打开关闭浏览器/应用、点击元素、输入文本、跳转链接等。
添加控制流程的逻辑:根据测试用例的流程,在RPA流程中添加逻辑控制,如条件判断、循环等。RPA设计器集成各类别组件,根据需要将其添加到流程中,并配置相应的条件判断和循环操作。
输出调试信息:在流程中适当的位置添加输出日志组件,在运行时打印相关变量值和调试信息。在后续分析和调试过程中进行故障排查。
添加结果校验:根据测试用例的预期结果,在流程中添加相应的校验步骤。可以使用数据库组件进行结果校验,可以通过界面上的元素文本进行判断,可以通过链接上的地址判断,接口返回值进行校验。确保校验步骤能够正确判断测试结果是否符合预期。
运行:在完成流程的设计和编写后,使用RPA设计器提供的调试功能对流程进行测试和调试。确保每个步骤按照预期执行,并且校验结果正确。保存和管理流程:在完成流程的调试和测试后,保存流程并进行版本管理。可以确保流程的可追溯性和更新迭代。
例如,在流程设计模块中,UI自动化测试流程主要需要模拟测试人员手工对测试场景进行回归工作,最重要的功能为将每个点击动作对应的页面中的元素信息,即测试RPA的元素拾取功能,RPA机器人将各类型的页面整合在一起,通过一键调用,即可获取界面中需要点击的元素信息。图2为元素拾取的流程图,具体过程如下:
使用流程设计模块中的拾取功能,一键调用获取元素,程序会自动判断元素类型【网页元素、windows元素,java元素】,得到元素类型,生成元素节点信息,拾取过程中部分元素无法生成元素节点时,会自动调用CV(Computer Vision)元素进行拾取,生成CV类型的元素节点信息。
3.在RPA机器人的流程执行模块中,根据所需要测试的操作系统,并测试账号连接登录,确保需要测试的场景中的机器人账号登录成功,并处于在线状态。
4.将调试通过的自动化UI测试流程发布到RPA机器人的流程调度模块中,并配置调度任务的方式。
导入流程:在流程调度模块中,找到导入或发布流程的选项。根据界面的指导,选择要导入的自动化UI测试流程文件,即在第3步中调试通过的流程文件。
创建调度任务:在流程调度模块中,选择创建调度任务的选项。根据软件的界面和指南,填写相关的任务信息,包括自动化测试任务名称、描述、触发条件等。
配置运行方式:在调度任务的配置页面中,找到运行方式的选项。根据测试需求选择运行方式:手工或自动运行。选择手工运行方式时,机器人将等待手动触发执行。选择自动运行方式,机器人将按照预定的触发条件自动执行。
选择调度方式:在调度任务的配置页面中,选择合适的调度方式。调度方式包括定时调度、事件触发调度等。根据需求选择适当的调度方式。配置调度时间:选择定时调度,配置任务的执行时间。根据软件的要求,设置任务的执行频率、起始时间、结束时间等。确保根据测试场景的要求进行合理的调度时间配置。选择执行流程的机器人:在调度任务的配置页面中,选择执行该UI自动化流程的机器人。
完成调度配置:在配置调度任务的所有选项后,确保检查和确认所有参数设置。根据流程调度模块的要求,保存调度任务的配置。完成调度配置后,RPA机器人将按照设置自动执行UI自动化测试流程。确保配置调度任务时考虑到流程的执行要求和测试场景的需求,以获得准确和可靠的自动化执行结果。
5.RPA机器人通过流程调度模块下发的流程和设置的运行策略,可以在指定时间、指定机器人账号上运行流程,并提供以下功能来监控和分析运行情况:
录屏功能:RPA机器人模块可以在运行过程中对界面信息进行录屏。机器人会记录下运行过程中的屏幕操作和界面变化,以便后续回放和分析。
运行步骤和结果同步上传:RPA机器人模块可以将自动化UI测试运行过程中的步骤和结果信息及时上传到流程调度模块中。这些信息包括每个测试步骤的执行状态(成功/失败)、执行时间、输出结果等。
视频回放:在流程调度模块中,通过视频回放功能查看机器人运行过程中的交互。能够直观地了解机器人在界面上的操作和响应情况。
日志记录:RPA机器人模块会生成详细的日志记录,记录每个步骤的执行情况、输入输出数据、错误信息等。通过查看日志来了解运行过程中发生的情况,并快速定位失败的原因。
运行情况汇总:流程调度模块提供UI自动化测试流程的运行情况汇总,包括运行成功的数量、失败的数量、运行时间等统计信息。有助于测试人员了解整体的运行情况和趋势。
失败原因分类:流程调度模块会对运行失败的情况进行分类和记录。通过查看失败原因的分类统计,快速定位到出现问题的步骤或模块,从而加快问题定位和修复的速度。
通过以上功能,测试人员可以及时监控和分析基于RPA机器人的自动化UI测试流程的运行情况,快速定位可能的问题和失败原因。这有助于提高自动化流程的稳定性和可靠性,并加快问题解决的速度,尤其是在定位被测系统中的BUG时提供了有力的支持。
通过上述实施例,可以实现使用RPA机器人进行UI自动化测试。
本发明RPA机器人中编写的UI自动化测试流程可以用于不同的测试场景,包括功能测试、集成测试、性能测试和兼容性测试。
1.功能测试:功能测试旨在验证软件系统的各个功能是否按照规格说明书的要求正常工作。在UI自动化测试中,可以使用RPA机器人编写测试用例,模拟用户操作和输入,检查系统的功能是否按预期运行。通过基于RPA机器人技术的自动化测试,可以提高测试的效率和一致性,并减少人工测试的工作量。
2.集成测试:集成测试用于验证不同模块或组件在集成后是否能够正常协同工作。在UI自动化测试中,可以使用RPA机器人编写测试脚本,模拟不同模块之间的交互和数据传递,检查集成后的系统是否具有预期的功能和性能。
3.性能测试:性能测试用于评估系统在不同负载条件下的性能和响应能力。在UI自动化测试中,可以使用多个RPA机器人模拟多个用户同时进行操作,测量系统的响应时间、吞吐量和资源利用情况。通过自动化性能测试,可以发现系统的瓶颈和性能问题,并进行性能优化。
4.兼容性测试:兼容性测试用于验证系统在不同操作系统、浏览器和设备上的兼容性。在UI自动化中,可以使用RPA机器人编写测试脚本,模拟在不同环境下运行应用程序,检查应用程序的界面和功能是否在各种平台上正常工作。
本发明的创新点如下:
1.使用RPA机器人进行UI自动化测试降低了从业人员的门槛,无代码编写能力的测试人员也可以实现自动化测试。
2.使用RRA工具进行UI自动化测试扩大了元素拾取的覆盖面,基于业务的场景基本能实现流程的拾取和运行,扩大了自动化测试的边界。
3.使用RPA机器人进行UI自动化测试覆盖自动化测试的全流程,包含了从流程的编写调试,结果的校验,流程的调度,数据统计分析。
4.使用RPA机器人进行UI自动化测试覆盖更多场景测试的兼容性,浏览器的兼容性,操作系统的兼容性,以及分辨率的兼容性。
5.使用RPA机器人进行UI自动化测试对流程运行的进行全面监控(录屏,运行日志),可以对数据收集定位(错误日志分析),可以更好的排查错误,提升运行的稳定性。
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
Claims (8)
1.基于RPA机器人的UI自动化测试系统,其特征在于,包括:
流程设计模块,用于构建、设计自动化机器人流程;
流程调度模块,用于对自动化机器人流程进行管理;所述流程调度模块负责协调自动化测试过程的活动,监视自动化测试过程的执行,并处理异常情况;
流程执行模块,用于执行流程设计模块中开发的自动化机器人流程,以及接收流程调度模块下发的执行任务,并与流程调度模块进行数据交互,将执行过程及结果上报到流程调度模块中。
2.根据权利要求1所述的基于RPA机器人的UI自动化测试系统,其特征在于,所述流程设计模块包括:
用户界面,用于用户直观地创建和管理自动化UI测试流程,包括拖放流程图,使用户从预定义的测试组件库中选择和配置各种组件;
组件库,用于构建面向各类场景和需求的自动化UI测试流程;
流程图设计模块,用于将多个自动化测试流程组合成一个完整的自动化测试流程;
变量和逻辑模块,用于用户在测试流程中使用变量进行数据存储,处理和传递,同时使用条件判断和循环,根据不同的情况执行不同的操作满足自动化测试的不同要求;
调试和测试模块,用于验证自动化测试流程的正确性,具体包括单步执行、断点设置和变量监视,帮助用户诊断和修复错误;
安全性和稳定性模块,用于确保自动化流程的可靠性和数据的安全性,具体包括访问控制、加密传输、错误处理和异常恢复机制;
部署和管理模块,用于将开发好的自动化测试流程部署到生产环境中并进行管理,具体包括版本控制、权限管理、日志记录。
3.根据权利要求1所述的基于RPA机器人的UI自动化测试系统,其特征在于,所述流程调度模块包括:
任务调度和分配模块,用于提供任务调度和分配功能,以确定对应的机器人执行对应的自动化测试任务,具体包括根据任务的优先级、可用性和机器人的环境进行动态分配;
机器人管理模块,用于提供机器人的管理功能,具体包括注册、配置和监视机器人的状态;
异常处理模块,用于提供异常处理功能,监测并处理自动化测试执行过程中的异常情况,具体包括错误处理、自动重试、报警和通知,以确保流程的稳定运行;
日志和报告模块,用于提供日志记录和报告功能,以跟踪机器人的执行和性能,具体包括记录自动化测试任务的执行历史、错误日志、执行时间统计和业务报告;
安全性和权限管理模块,用于具备安全性和权限管理功能,以保护机器人流程和敏感数据的安全,具体包括访问控制、加密传输、身份验证和授权;
监控和性能优化模块,用于提供监控和性能优化功能,以确保机器人流程的高效执行,具体包括监控资源利用率、性能瓶颈分析。
4.根据权利要求1所述的基于RPA机器人的UI自动化测试系统,其特征在于,所述流程执行模块包括:
下发任务接收模块,用于与流程调度模块建立网络连接并使用API接口实现任务的接收;
自动化UI测试流程运行模块,用于使机器人根据接收到的任务,在指定时间开始运行自动化流程;
运行过程记录模块,用于机器人记录自动化UI测试执行过程中的关键事件和操作,同时通过生成日志文件、发送实时日志消息同步到流程调度模块的页面中展示;
运行结果上传模块,用于自动化UI测试流程执行完成后,RPA自动化UI测试机器人将执行结果上传到流程调度模块中。
5.根据权利要求4所述的基于RPA机器人的UI自动化测试系统,其特征在于,所述自动化UI测试流程运行模块中,运行的自动化流程包括模拟用户界面交互、执行用户软件测试、网页打开、鼠标点击和窗口操作。
6.根据权利要求4所述的基于RPA机器人的UI自动化测试系统,其特征在于,所述运行过程记录模块中,所述关键事件和操作包括任务开始时间、执行步骤、执行时间、错误和异常信息。
7.根据权利要求4所述的基于RPA机器人的UI自动化测试系统,其特征在于,所述运行结果上传模块中,所述执行结果包括执行日志、运行视频、执行结果文件。
8.基于RPA机器人的UI自动化测试方法,应用于权利要求1-7任一项所述的基于RPA机器人的UI自动化测试系统,其特征在于,所述基于RPA机器人的UI自动化测试方法包括如下步骤:
S1,设计UI自动化测试用例集;其中,测试用例需确定测试对象,测试范围以及明确要测试的UI页面功能;所述UI页面功能包括用户界面的各个组件、交互和流程;
S2,在流程设计模块中,创建一个新流程;所述新流程中的步骤设计具体如下:
根据测试用例,将每个步骤转化为RPA机器人流程中的组件和操作;
根据测试用例的流程,在RPA流程中添加逻辑控制;
在RPA流程中适当的位置添加输出日志组件,在运行时打印相关变量值和调试信息;
根据测试用例的预期结果,在RPA流程中添加对应的校验步骤;
在完成新流程的设计和编写后,使用RPA设计器提供的调试功能对新流程进行测试和调试;
在完成新流程的调试和测试后,保存新流程并进行版本管理;
S3,在流程执行模块中,根据所需要测试的操作系统,测试账号连接登录,确保需要测试的场景中的机器人账号登录成功,并处于在线状态;
S4,将步骤S2中调试通过的新流程发布到RPA机器人的流程调度模块中,并配置调度任务;
S5,RPA机器人通过流程调度模块下发的流程和设置的运行策略,在指定时间、指定机器人账号上运行流程,并通过录屏、视频回放以及日志记录的方式监控和分析运行情况。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410594140.XA CN118227506B (zh) | 2024-05-14 | 2024-05-14 | 基于rpa机器人的ui自动化测试系统及方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410594140.XA CN118227506B (zh) | 2024-05-14 | 2024-05-14 | 基于rpa机器人的ui自动化测试系统及方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN118227506A true CN118227506A (zh) | 2024-06-21 |
| CN118227506B CN118227506B (zh) | 2024-08-02 |
Family
ID=91501063
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410594140.XA Active CN118227506B (zh) | 2024-05-14 | 2024-05-14 | 基于rpa机器人的ui自动化测试系统及方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118227506B (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119718932A (zh) * | 2024-12-11 | 2025-03-28 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于rpa和大模型的模块化软件测试方法及系统 |
| CN120145005A (zh) * | 2025-02-27 | 2025-06-13 | 深圳市达嘉邦计算机有限公司 | 一种基于深度学习的机器人流程自动化方法 |
| CN121455833A (zh) * | 2026-01-06 | 2026-02-03 | 浙江华东工程数字技术有限公司 | 一种基于rpa进行bim软件自动化测试的方法及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110928774A (zh) * | 2019-11-07 | 2020-03-27 | 杭州顺网科技股份有限公司 | 一种基于节点式的自动化测试系统 |
| CN114138639A (zh) * | 2021-11-24 | 2022-03-04 | Tcl华星光电技术有限公司 | 机器人流程自动化的管理系统及方法 |
| US11334471B1 (en) * | 2020-12-02 | 2022-05-17 | UiPath Inc. | Mocking robotic process automation (RPA) activities for workflow testing |
| US20230081622A1 (en) * | 2021-09-15 | 2023-03-16 | UiPath, Inc. | System and computer-implemented method for testing an application using an automation bot |
-
2024
- 2024-05-14 CN CN202410594140.XA patent/CN118227506B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110928774A (zh) * | 2019-11-07 | 2020-03-27 | 杭州顺网科技股份有限公司 | 一种基于节点式的自动化测试系统 |
| US11334471B1 (en) * | 2020-12-02 | 2022-05-17 | UiPath Inc. | Mocking robotic process automation (RPA) activities for workflow testing |
| US20230081622A1 (en) * | 2021-09-15 | 2023-03-16 | UiPath, Inc. | System and computer-implemented method for testing an application using an automation bot |
| CN114138639A (zh) * | 2021-11-24 | 2022-03-04 | Tcl华星光电技术有限公司 | 机器人流程自动化的管理系统及方法 |
Non-Patent Citations (2)
| Title |
|---|
| CERNAT, M等: "Improving UI Test Automation using Robotic Process Automation", 《 ICSOFT: PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES》, 2 March 2021 (2021-03-02) * |
| 李锐;黄彩云;: "RPA机器人助力电力企业财务数字化转型", 中国新技术新产品, no. 14, 25 July 2020 (2020-07-25) * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119718932A (zh) * | 2024-12-11 | 2025-03-28 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于rpa和大模型的模块化软件测试方法及系统 |
| CN120145005A (zh) * | 2025-02-27 | 2025-06-13 | 深圳市达嘉邦计算机有限公司 | 一种基于深度学习的机器人流程自动化方法 |
| CN121455833A (zh) * | 2026-01-06 | 2026-02-03 | 浙江华东工程数字技术有限公司 | 一种基于rpa进行bim软件自动化测试的方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118227506B (zh) | 2024-08-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN118227506B (zh) | 基于rpa机器人的ui自动化测试系统及方法 | |
| CN103150249B (zh) | 一种自动化测试的方法和系统 | |
| US8434058B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
| US9846638B2 (en) | Exposing method related data calls during testing in an event driven, multichannel architecture | |
| US10678666B1 (en) | Method and system for implementing automated test and retest procedures in a virtual test environment | |
| US8731896B2 (en) | Virtual testbed for system verification test | |
| US9489277B2 (en) | Application component testing | |
| CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
| CN112035356B (zh) | 一种web应用兼容性的自动化测试方法及系统 | |
| Zhu et al. | A test automation solution on gui functional test | |
| CN119829437A (zh) | 基于参数化输入的Web自动化测试方法及系统 | |
| CN111444109B (zh) | 一种移动端ui自动化测试方法及系统 | |
| Mohammed et al. | Gui automation testing tools: a comparative study | |
| CN120631769A (zh) | 基于前端ui的自动化测试方法、装置及终端 | |
| CN120670290A (zh) | 一种基于行为驱动开发的自动化软件测试方法 | |
| Salari | Enabling test automation for industrial PLC programs | |
| CN119537213A (zh) | 一种基于rpa进行接口自动化测试的方法 | |
| CN117909212A (zh) | 一种基于轨道信号运维系统的接口自动化测试方法 | |
| US20250037607A1 (en) | System and method for creating a training script on a virtual laboratory | |
| Paiva et al. | Supporting the Automated Generation of Acceptance Tests of Process-Aware Information Systems. | |
| CN109669868A (zh) | 软件测试的方法及系统 | |
| Mattila et al. | DESIGN AND IMPLEMENTATION OF A DATA VALIDATION SYSTEM FOR A VIRTUAL UNDERGROUND DRILLING MACHINE | |
| CN116643996A (zh) | 基于Monkey的参数可定制的自动测试系统及方法 | |
| Kühnis | Design and evaluation of a Robot Framework-based test suite for the test editor feature of a Telecom Call Manager | |
| CN119718932A (zh) | 一种基于rpa和大模型的模块化软件测试方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |