CN113168169A - 用于机器人过程自动化的测试自动化 - Google Patents
用于机器人过程自动化的测试自动化 Download PDFInfo
- Publication number
- CN113168169A CN113168169A CN202080002317.2A CN202080002317A CN113168169A CN 113168169 A CN113168169 A CN 113168169A CN 202080002317 A CN202080002317 A CN 202080002317A CN 113168169 A CN113168169 A CN 113168169A
- Authority
- CN
- China
- Prior art keywords
- workflow
- test
- module
- portions
- given
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 184
- 238000004801 process automation Methods 0.000 title description 4
- 238000004519 manufacturing process Methods 0.000 claims abstract description 16
- 230000007613 environmental effect Effects 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 71
- 230000000694 effects Effects 0.000 claims description 23
- 238000011161 development Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010200 validation analysis Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 41
- 238000010586 diagram Methods 0.000 description 28
- 238000012544 monitoring process Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 12
- 239000003795 chemical substances by application Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000008676 import Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41845—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31094—Data exchange between modules, cells, devices, processors
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Automation & Control Theory (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
可以创建和执行现有工作流(或被测工作流)的测试用例。可以针对生产中的工作流或工作流的一个或多个部分创建测试用例,并且可以执行针对工作流或工作流的一个或多个部分的创建的测试用例以标识针对工作流的环境和/或自动化问题。当标识环境和/或自动化问题时,可以报告失败的工作流测试。
Description
相关申请的交叉引用
本申请要求于2020年4月22日提交的美国专利申请16/855,563的权益,其是于2020年4月21日提交的美国专利申请16/854,733的延续并且要求其权益。该在先申请的主题在此全文引入作为参考。
技术领域
本发明总体上涉及机器人过程自动化(RPA),并且更具体地涉及用于生产被测工作流的RPA。
背景技术
数字转型要求企业不断利用数字技术来创造新的客户价值来源并且提高客户服务的运营敏捷性。例如,在可能的情况下,将实现软件和自动化应用以减少成本和缩短上市时间。
过程自动化在这个转换中起着关键作用,因为它有可能大大提高效率,从而创造竞争优势。例如,RPA表示相当新的市场,大约持续了几年。RPA已经从企业客户的快速采用中获利,从而创建了成千上万的机器人来实现过程自动化。
但是,很多这样的机器人可能由于各种原因而停止工作。例如,机器人的低稳定性是由于应用改变、环境改变以及脆弱的自动化本身造成的。与其他自动化领域(诸如已经运行了20多年的测试自动化)不同,RPA不必处理维护,并且实现通常侧重于快乐的路径,而不是弹性和异常处理。通过为异常处理和调试应用最佳实践和工具支持已经部分解决了这个问题,但考虑到自动化质量和数字转换的高层观点,需要一个可以解决多个领域的维护问题的平台。
发明内容
本发明的某些实施例可以提供对于本领域中尚未被当前的RPA技术完全识别、理解或解决的问题和需求的解决方案。例如,本发明的一些实施例涉及为现有工作流(或被测工作流)创建和执行测试用例。
在一个实施例中,一种计算机实现的方法包括为生产中的工作流或该工作流的一个或多个部分创建一个或多个测试用例。该方法还包括执行该工作流或该工作流的一个或多个部分的测试用例,以标识该工作流的环境和/或自动化问题。该方法还包括当标识出环境和/或自动化问题时报告失败的工作流测试。
在另一实施例中,一种计算机实现的方法包括:创建测试用例,并且向测试集分配针对生产中的多个工作流中的对应工作流的一个或多个测试用例。该方法还包括执行测试集以标识针对一个或多个测试用例中的每个的环境和/或自动化问题。该方法还包括报告测试集的结果。结果包括一个或多个失败的测试用例、以及向用户通知一个或多个失败的测试用例的消息。
附图说明
为了容易地理解本发明的某些实施例的优点,将通过参考在附图中图示的特定实施例来呈现上文简要描述的本发明的更具体的描述。虽然应理解,这些图仅描绘了本发明的典型实施例,并且因此不应该被认为是对本发明的范围的限制,但是本发明将通过附图的使用以附加的特异性和细节来描述和阐释,在附图中:
图1是图示了根据本发明的实施例的RPA系统的架构图。
图2是图示了根据本发明的实施例的部署的RPA系统的架构图。
图3是图示了根据本发明的实施例的设计器、活动与驱动之间的关系的架构图。
图4是图示了根据本发明的实施例的RPA系统的架构图。
图5是示出根据本发明的实施例的被配置为创建和发布一个或多个测试用例的计算系统的架构图。
图6是示出根据本发明的实施例的用于创建测试用例的过程的流程图。
图7是示出根据本发明的实施例的用于发布测试用例的过程的流程图。
图8是示出根据本发明的实施例的用于执行测试用例的过程的流程图。
图9是示出根据本发明的实施例的用于创建数据驱动的工作流测试用例的过程的流程图。
图10是示出根据本发明的实施例的在Studio ProTM中选择的工作流的图形用户界面(GUI)。
图11是示出根据本发明的实施例的“given-when-then”模板的GUI。
图12是示出根据本发明的实施例的“when”模块的GUI。
图13是示出根据本发明的实施例的在“given”模块中输入的前提条件的GUI。
图14和图15是示出根据本发明的实施例的模拟被测工作流的GUI。
图16是示出根据本发明的实施例的“then”模块的GUI。
图17和图18是示出根据本发明的实施例的所执行的工作流的GUI。
图19是示出根据本发明的实施例的具有用于“链接的过程”的列的测试用例部分的GUI。
图20是示出根据本发明的实施例的来自所执行的工作流测试用例的测试结果的GUI。
图21是示出根据本发明的实施例的OrchestratorTM的“过程”部分的GUI。
图22是示出根据本发明的实施例的用于在StudioTM中打开工作流的菜单选项的GUI。
图23是示出根据本发明的实施例的StudioTM中的受影响工作流和测试用例的GUI。
图25是示出根据本发明的实施例的要选择的工作流的图。
图26是示出根据本发明的实施例的允许用户选择数据源的“数据驱动的测试用例”菜单的GUI。
图27是示出根据本发明的实施例的允许选择字段的菜单选项的GUI。
图29是根据本发明的实施例的示出菜单选项的GUI,该菜单选项示出了用于选择“导入数据集”的选项。
图30是示出根据本发明的实施例的从数据集创建的第一测试用例的GUI。
图31是示出根据本发明的实施例的具有多个测试数据变化的测试用例的GUI。
图32是示出根据本发明的实施例的用于将一个或多个测试用例设置为可发布的菜单选项的GUI。
图34是示出根据本发明的实施例的部署过程的GUI。
图35是示出根据本发明的实施例的在“测试用例”部分中创建的测试用例的GUI。
具体实施方式
一些实施例涉及为现有工作流(或被测工作流)创建和执行测试用例。例如,一些实施例提供了用于通用功能应用测试的解决方案,即,直接在开发中测试应用。这使得开发人员可以及早捕获应用改变,并且填充RPA所需要的适应性。一些其他实施例可以提供一种用于功能性工作流测试的解决方案,即,在IT托管的测试环境中测试自动化工作流,以在应用生产之前捕获自动化问题和环境变化(例如,操作系统更新,更新到环境或更新),并且填充RPA所需要的适应项。
一些实施例提供了对先前计划的缺陷的解决方案。例如,一些实施例允许为现有工作流或现有工作流的部分创建测试用例。这些测试用例可以经常执行以捕获环境和自动化问题。当识别出失败的工作流时,将通知RPA开发人员。在一些其他实施例中,创建了数据驱动的工作流测试用例,以便可以从外部源注入数据集。此数据集可以包括JSON、DB等。这些实施例可以减少创建自动化工作流测试用例的人工工作。
图1是图示了根据本发明的实施例的RPA系统100的架构图。RPA系统100包括允许开发者设计和实现工作流的设计器110。设计器110可以提供用于应用集成以及自动化第三方应用、管理信息技术(IT)任务和业务IT过程的解决方案。设计器110可以支持自动化项目的开发,该自动化项目是业务过程的图形表示。简而言之,设计器110支持工作流和机器人的开发和部署。
自动化项目通过向开发者提供对在工作流中开发的一组定制步骤(在本文中被定义为“活动”)之间的执行顺序和关系的控制来实现基于规则的过程的自动化。设计器110的实施例的一个商业示例是UiPath StudioTM。每个活动可以包括动作,诸如点击按钮、读取文件、写入日志面板等。在一些实施例中,工作流可以被嵌套或嵌入。
一些类型的工作流可以包括但不限于序列、流程图、无限状态机(FSM)和/或全局异常处理程序。序列可能特别适合于线性过程,从而能够在不使工作流混乱的情况下从一个活动流向另一活动。流程图可能特别适合于更复杂的业务逻辑,从而实现通过多个分支逻辑运算符以更为不同的方式进行的决策的集成以及活动的连接。FSM可能特别适合于较大工作流。FSM可以在其执行中使用有限数量的状态,这些状态由条件(即,过渡)或活动触发。全局异常处理程序可能特别适合于在遇到执行误差时确定工作流行为且特别适合于调试过程。
一旦工作流在设计器110中被开发,业务过程的执行就由指挥器(conductor)120编排,该指挥器编排执行设计器110中所开发的工作流的一个或多个机器人130。指挥器120的实施例的一个商业示例是UiPath OrchestratorTM。指挥器120支持对环境中的资源的创建、监测以及部署的管理。利用第三方解决方案和应用,指挥器120可以充当集成点、或充当聚合点中的一者。
指挥器120可以管理一队机器人130,从而从集中点连接并执行机器人130。可以管理的机器人130的类型包括但不限于:有人值守的(attended)机器人132、无人值守的机器人134、开发机器人(类似于无人值守的机器人134,但用于开发和测试目的)以及非生产型机器人(类似于有人值守的机器人132,但用于开发和测试目的)。有人值守的机器人132由用户事件触发并且与人类一起在相同计算系统上操作。有人值守的机器人132可以与指挥器120一起用于集中过程部署和记录介质。有人值守的机器人132可以帮助人类用户完成各种任务,并且可以由用户事件触发。在一些实施例中,无法从这种类型的机器人上的指挥器120开启过程和/或这些过程无法在锁定屏幕下运行。在某些实施例中,有人值守的机器人132只可以从机器人托盘或根据命令提示而被开启。在一些实施例中,有人值守的机器人132应该在人类监督下运行。
无人值守的机器人134在虚拟环境中以无人值守的方式运行并且可以使许多过程自动化。无人值守的机器人134可以负责远程执行、监测、调度并且为工作队列提供支持。在一些实施例中,可以在设计器110中运行针对所有机器人类型的调试。有人值守的机器人和无人值守的机器人两者都可以使各种系统和应用自动化,该系统和应用包括但不限于大型主机、web应用、VM、企业应用(例如由 等生产的那些企业应用)以及计算系统应用(例如台式机和笔记本应用、移动设备应用、可穿戴计算机应用等)。
指挥器120可以具有各种能力,包括但不限于供应(provisioning)、部署(deployment)、配置(configuration)、排队(queueing)、监测(monitoring)、日志记录(logging)和/或提供互连性(interconnectivity)。供应可以包括在机器人130与指挥器120(例如web应用)之间创建和维护连接。开发可以包括确保将包(package)版本正确递送至所指派的机器人130以供执行。配置可以包括维护和递送机器人环境和过程配置。排队可以包括提供对队列和队列项的管理。监测可以包括追踪机器人标识数据和维护用户权限。日志记录可以包括将日志存储和编入索引至数据库(例如SQL数据库)和/或另一存储机制(例如其提供用于存储和快速查询较大数据集的能力)。指挥器120可以通过充当第三方解决方案和/或应用的通信的集中点来提供互连性。
机器人130是运行内置于设计器110中的工作流的执行代理。(多个)机器人130的一些实施例的一个商业示例是UiPath RobotsTM。在一些实施例中,机器人130默认安装Microsoft服务控制管理器(SCM)管理的服务。结果,此类机器人130可以在本地系统账户下打开交互式会话,并且具有服务的权限。
在一些实施例中,机器人130可以在用户模式下被安装。针对此类机器人130,这意味着其具有与已经安装了给定机器人130的用户相同的权限。此特征也可以供高密度(HD)机器人使用,该高密度机器人确保了每台机器以其最大潜力的充分利用。在一些实施例中,任何类型的机器人130可以在HD环境中被配置。
在一些实施例中,机器人130被分成分别专用于特定自动化任务的若干组件。在一些实施例中,机器人组件包括但不限于SCM管理的机器人服务、用户模式机器人服务、执行器、代理以及命令行。SCM管理的机器人服务管理和监测会话,并且充当指挥器120与执行主机(即,机器人130在其上被执行的计算系统)之间的委托。这些服务受机器人130信任并且管理机器人130的凭证。控制台应用在本地系统下由SCM启动。
在一些实施例中,用户模式机器人服务管理和监测会话,并且充当指挥器120与执行主机之间的委托。用户模式机器人服务可以受机器人130信任并且管理机器人130的凭证。在未安装SCM管理的机器人服务的情况下,应用可以被自动启动。
执行器可以在会话下运行给定作业(即,执行器可以执行工作流。执行器可以知道每个监测器的每英寸点数(DPI)设置。代理可以是PresentationFoundation(WPF)应用,其在系统托盘窗口中显示可用的作业。代理可以是服务的客户端。代理可以请求开启或停止作业以及改变设置。命令行是服务的客户端。命令行是可以请求开启作业并等待其输出的控制台应用。
如上文所阐释一般使机器人130的组件分开帮助开发者、支持用户以及计算系统更容易地运行、标识和追踪每个组件正在执行的内容。特殊行为可以以这种方式按组件来配置,诸如针对执行器和服务设置不同的防火墙规则。在一些实施例中,执行器可以始终知道每个监测器的DPI设置。结果,不论创建工作流的计算系统的配置如何,工作流都可以在任何DPI处被执行。在一些实施例中,来自设计器110的项目也可以独立于浏览器缩放级别。在一些实施例中,针对DPI不知道的或有意地标记为不知道的应用,DPI可以被禁用。
图2是图示了根据本发明的实施例的部署的RPA系统200的架构图。在一些实施例中,RPA系统200可以是图1的RPA系统100或可以是该RPA系统的一部分。应注意,在不脱离本发明的范围的情况下,客户端侧、服务器侧或两者都可以包括任何期望数量的计算系统。在客户端侧,机器人应用210包括执行器212、代理214和设计器216。然而,在一些实施例中,设计器216可以不在计算系统210上运行。执行器212正在运行过程。如图2中所示,若干业务项目可以同时运行。在该实施例中,代理214(例如服务)是所有执行器212的单个联系点。该实施例中的所有消息被日志记录到指挥器230中,该指挥器经由数据库服务器240、索引器服务器250或两者进一步处理这些消息。如上文相对于图1所讨论的,执行器212可以是机器人组件。
在一些实施例中,机器人表示机器名称与用户名之间的关联。机器人可以同时管理多个执行器。在支持同时运行的多个交互式会话的计算系统(例如服务器2012)上,多个机器人可以同时运行,每个机器人在使用唯一用户名的单独会话中。上文将此称为HD机器人。
代理214还负责发送机器人的状态(例如周期性地发送指示机器人仍在运作的“心跳”消息)并且下载要被执行的包的所需版本。在一些实施例中,代理214与指挥器230之间的通信始终由代理214发起。在通知场景中,代理214可以打开WebSocket信道,稍后由指挥器230使用该WebSocket信道来向机器人发送命令(例如开启、停止等)。
在服务器侧,包括了呈现层(web应用232、开放数据协议(OData)代表性状态转移(REST)应用编程接口(API)端点234以及通知和监测236)、服务层(API实现/业务逻辑238)以及持久层(数据库服务器240和索引器服务器250)。指挥器230包括web应用232、ODataREST API端点234、通知和监测236以及API实现/业务逻辑238。在一些实施例中,用户在指挥器230的接口中(例如经由浏览器220)执行的大多数动作是通过调用各种API来执行的。在不脱离本发明的范围的情况下,此类动作可以包括但不限于在机器人上开启作业、在队列中添加/移除数据、调度作业以便以无人值守的方式运行等。Web应用232是服务器平台的视觉层。在该实施例中,web应用232使用超文本标记语言(HTML)和JavaScript(JS)。然而,可以在不脱离本发明的范围的情况下使用任何期望标记语言、脚本语言或任何其他格式。在该实施例中,用户经由浏览器220与来自web应用232的web页面交互,以便执行各种动作来控制指挥器230。例如,用户可以创建机器人群组、向机器人指派包、分析每个机器人和/或每个过程的日志、开启和停止机器人等。
除了web应用232之外,指挥器230还包括暴露OData REST API端点234的服务层。然而,在不脱离本发明的范围的情况下可以包括其他端点。REST API由web应用232和代理214两者消耗。在该实施例中,代理214是客户端计算机上的一个或多个机器人的监督器。
在该实施例中,REST API覆盖配置、日志记录、监测以及排队功能性。在一些实施例中,配置端点可以用于定义和配置应用用户、权限、机器人、资产、发布以及环境。日志记录REST端点可以用于日志记录不同信息,诸如(例如)误差、由机器人发送的显式消息以及其他环境特定信息。如果在指挥器230中使用了开启作业命令,那么可以由机器人使用部署REST端点来查询应该被执行的包版本。排队REST端点可以负责队列和队列项管理,诸如将数据添加至队列、从队列中获得事务、设置事务的状态等。
监测REST端点可以监测web应用232和代理214。通知和监测API 236可以是用于注册代理214、向代理214递送配置设置并且用于从服务器和代理214发送/接收通知的REST端点。在一些实施例中,通知和监测API 236还可以使用WebSocket通信。
在该实施例中,持久层包括一对服务器——数据库服务器240(例如SQL服务器)和索引器服务器250。在该实施例中,数据库服务器240存储机器人、机器人群组、相关联的过程、用户、角色、调度等的配置。在一些实施例中,该信息通过web应用232来管理。数据库服务器240可以管理队列和队列项。在一些实施例中,数据库服务器240可以存储由机器人(除了索引器服务器250之外或代替索引器服务器250)日志记录的消息。
在一些实施例中可选的索引器服务器250存储由机器人日志记录的信息并且将该信息编入索引。在某些实施例中,索引器服务器250可以通过配置设置来禁用。在一些实施例中,索引器服务器250使用其为开源项目全文搜索引擎。由机器人日志记录的消息(例如使用比如日志消息或写入行的活动)可以通过(多个)日志记录的REST端点被发送到索引器服务器250,在索引器服务器250中这些消息被编入索引以供将来使用。
图3是图示了根据本发明的实施例的设计器310、活动320、330与驱动(driver)340之间的关系300的架构图。根据上文,开发者使用设计器310来开发由机器人执行的工作流。工作流可以包括用户定义的活动320和UI自动化活动330。一些实施例能够标识图像中的非文本视觉分量,在本文中称作计算机视觉(CV)。与此类分量相关的一些CV活动可以包括但不限于点击、键入(type)、取得文本、悬停、元素存在、刷新范围、高亮等。在一些实施例中,点击使用例如CV、光学字符识别(OCR)、模糊文本匹配以及多锚(multi-anchor)来标识元素,并且点击该元素。键入可以使用上述内容来标识元素和该元素中的类型。取得文本可以标识特定文本的位置并且使用OCR来扫描该位置。悬停可以标识元素并且悬停于元素上方。元素存在可以使用上文所描述的技术来检查在屏幕上是否存在元素。在一些实施例中,可以存在可以在设计器310中被实现的数百个甚至数千个活动。然而,在不脱离本发明的范围的情况下,任何数量和/或类型的活动都可以是可用的。
UI自动化活动330是利用较低级代码编写的特殊的较低级活动(例如CV活动)的子集并且有助于与屏幕的交互。UI自动化活动330经由允许机器人与期望软件交互的驱动340来支持这些交互。例如,驱动340可以包括OS驱动342、浏览器驱动344、VM驱动346、企业应用驱动348等。
图4是图示了根据本发明的实施例的RPA系统400的架构图。在一些实施例中,RPA系统400可以是或包括图1和/或图2的RPA系统100和/或200。RPA系统400包括运行机器人的多个客户端计算系统410。计算系统410能够经由在其上运行的web应用与指挥器计算系统420进行通信。指挥器计算系统420又能够与数据库服务器430和可选的索引器服务器440进行通信。
相对于图1和图3,应注意,虽然在这些实施例中使用了web应用,但可以在不脱离本发明的范围的情况下使用任何合适的客户端/服务器软件。例如,指挥器可以运行服务器侧应用,该服务器侧应用与客户端计算系统上的非基于网络的客户端软件应用进行通信。
图5是示出根据本发明的实施例的被配置为创建和发布一个或多个测试用例的计算系统500的架构图。在一些实施例中,计算系统500可以是本文中所描绘和/或描述的计算系统中的一者或多者。计算系统500包括总线505或用于传送信息的其他通信机制、以及被耦合至总线505以处理信息的(多个)处理器510。(多个)处理器510可以是任何类型的通用或专用处理器,包括中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、其多个实例和/或其任何组合。(多个)处理器510还可以具有多个处理核心,并且至少一些核心可以被配置为执行特定功能。在一些实施例中,可以使用多并行处理。在某些实施例中,(多个)处理器510中的至少一者可以是包括模仿生物神经的处理元件的神经形态电路。在一些实施例中,神经形态电路可以不需要冯·诺依曼计算架构的典型组件。
计算系统500还包括用于存储将由(多个)处理器510执行的信息和指令的存储器515。存储器515可以由随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、缓存、静态存储装置(诸如磁盘或光盘)或任何其他类型的非瞬态计算机可读介质或其组合的任何组合组成。非瞬态计算机可读介质可以是可以由(多个)处理器510访问的任何可用介质,并且可以包括易失性介质、非易失性介质或两者。介质也可以是可移除的、不可移除的或两者。
附加地,计算系统500包括通信设备520(诸如收发器)以经由无线和/或有线连接提供对通信网络的访问。在一些实施例中,在不脱离本发明的范围的情况下,通信设备520可以被配置为使用频分多址(FDMA)、单载波FDMA(SC-FDMA)、时分多址(TDMA)、码分多址(CDMA)、正交频分复用(OFDM)、正交频分多址(OFDMA)、全球移动系统(GSM)通信、通用分组无线电服务(GPRS)、通用移动电信系统(UMTS)、cdma2000、宽带CDMA(W-CDMA)、高速下行分组接入(HSDPA)、高速上行分组接入(HSUPA)、高速分组接入(HSPA)、长期演进(LTE)、LTE高级(LTE-A)、802.11x、Wi-Fi、Zigbee、超宽带(UWB)、802.16x、802.15、家用节点B(HnB)、蓝牙、射频标识(RFID)、红外数据协会(IrDA)、近场通信(NFC)、第五代(5G)、新无线电(NR)、其任何组合和/或任何其他现有或将来实现的通信标准和/或协议。在一些实施例中,在不脱离本发明的范围的情况下,通信设备520可以包括一个或多个天线,这些天线是单数的、阵列的、相控的、切换的、波束成形的、波束导向的、其组合和/或任何其他天线配置。
(多个)处理器510进一步经由总线505被耦合到显示器525,诸如等离子体显示器、液晶显示器(LCD)、发光二极管(LED)显示器、场发射显示器(FED)、有机发光二极管(OLED)显示器、柔性OLED显示器、柔性基板显示器、投影显示器、4K显示器、高清显示器、显示器、面内切换(IPS)显示器或用于向用户显示信息的任何其他合适的显示器。显示器525可以被配置为使用电阻性、电容性、表面声波(SAW)电容性、红外、光学成像、色散信号技术、声学脉冲识别、受抑全内反射等的触摸(触觉)显示器、三维(3D)触摸显示器、多输入触摸显示器、多触摸显示器等。可以在不脱离本发明的范围的情况下使用任何合适的显示设备和触觉I/O。
键盘530和光标控制设备535(诸如计算机鼠标、触摸板等)进一步被耦合到总线505以使得用户能够与计算系统500接口连接。然而,在某些实施例中,可以不存在物理键盘和鼠标,并且用户可以仅通过显示器525和/或触摸板(未示出)与设备交互。输入设备的任何类型和组合可以被用作设计选择的问题。在某些实施例中,不存在物理输入设备和/或显示器。例如,用户可以经由与之通信的另一计算系统与计算系统500远程地交互,或计算系统500可以自主地操作。
存储器515存储在被(多个)处理器510执行时提供功能性的软件模块。模块包括计算系统500的操作系统540。模块还包括被配置为执行本文中所描述的过程或其衍生物的全部或部分的测试用例模块545。计算系统500可以包括一个或多个附加功能模块550,该功能模块包括附加功能性。
本领域的技术人员应了解,在不脱离本发明的范围的情况下,“系统”可以被实施为服务器、嵌入式计算系统、个人计算机、控制台、个人数字助理(PDA)、手机、平板计算设备、量子计算系统或任何其他合适的计算设备或设备的组合。将上文所描述的功能呈现为由“系统”执行并不旨在以任何方式限制本发明的范围,而是旨在提供本发明的许多实施例的一个示例。实际上,本文中所公开的方法、系统和装置可以按照与包括云计算系统的计算技术一致的本地化和分布式形式来实现。
应注意,本说明书中所描述的一些系统特征已经作为模块而被呈现,以便更具体地强调其实现独立性。例如,模块可以被实现为包括定制的超大规模集成(VLSI)电路或门阵列、现成半导体(诸如逻辑芯片、晶体管或其他分立组件)的硬件电路。模块也可以被实现在可编程硬件设备中,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等。
模块也可以至少部分地被实现在软件中以便由各种类型的处理器执行。例如,可执行代码的所标识的单元可以包括计算机指令的一个或多个物理块或逻辑块,这些计算机指令可以例如被组织成对象、过程或功能。虽然如此,但所标识的模块的可执行文件不需要在物理上位于一处,而是可以包括存储在不同位置中的全异的指令,这些指令在以逻辑方式被结合在一起时包括该模块并且实现了该模块的既定目的。此外,模块可以被存储在计算机可读介质上,在不脱离本发明的范围的情况下,该计算机可读介质可以是例如硬盘驱动器、闪存设备、RAM、磁带和/或用于存储数据的任何其他此类非瞬态计算机可读介质。
实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可以分布在若干不同的代码段上、分布在不同程序之间以及跨多个存储器设备分布。类似地,操作数据在本文中可以被标识和图示为在模块内,并且该操作数据可以被实施为任何合适的形式并且被组织在任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或可以分布于包括在不同存储设备上的不同位置上,并且可以至少部分地仅作为系统或网络上的电子信号存在。
创建测试用例
图6是示出根据本发明的实施例的用于创建测试用例的过程600的流程图。在一些实施例中,过程600在602处开始于使用Studio ProTM打开现有工作流。如上所述,现有工作流可以是生产中或开发中的工作流。在604处,选择现有工作流以确定工作流测试用例的范围。根据实施例,选择整个工作流或工作流的一个或多个部分。参见图10,图10是示出根据本发明的实施例的在Studio ProTM中选择的工作流的GUI 1000。
在606处,创建所选择的测试用例。例如,当计算设备的用户从工作流的上下文菜单选择“创建测试用例”按钮时,将创建所选择的测试用例。所创建的测试用例可以存储在项目的“测试用例”文件夹下。
在某些实施例中,测试用例使用“given-when-then”模板或模块。参见图11,图11是示出根据本发明的实施例的“given-when-then”模板的GUI 1100。在“when”模块下,被测工作流被调用,并且因此被放置为参考。想法是,测试用例不保存被测工作流的副本,而是直接引用它。这很重要,因为被测工作流可以随着时间而改变。“when”模块主要负责执行或调用被测工作流。参见例如图12,图12是示出根据本发明的实施例的“when”模块的GUI1200。
在“given”模块下,计算设备的用户添加“when”模块成功执行所需要的所有前提条件。参见图13,图13是示出根据本发明的实施例的在“given”模块中输入的前提条件的GUI 1300。例如,所需要的前提条件可以包括输入参数、应用等。“given”模块可以提供执行环境,以确保工作流成功运行。例如,这可以包括提供临时文件供工作流处理(例如,代替实际的发票),启动工作流运行所需要的特定应用、或者在工作流内使用并且预期作为工作流的输入(例如,id或凭据)的参数和变量。在一些其他实施例中,“given”模块被配置为提供模拟被测工作流的步骤的可能性,从而确保被测工作流的执行没有错误。模拟包括模拟被测工作流中的一系列步骤。参见例如图14和15,图14和15是示出根据实施例的被测工作流的模拟的GUI 1400、1500。在某些实施例中,被测工作流是您为“when”模块创建测试用例并且由“when”模块调用的测试对象。
此外,在“given”模块下,可以自动标识工作流所需要的变量和/或参数。在某些实施例中,用户可以将任何活动和/或动作放置在“given”模块中。此外,可以在“调用工作流”活动的“when”模块中直接提供自变量/参数,该模块引用被测工作流。
在一个示例中,被测工作流使用变量“Insurant.Name”,该变量是数据驱动测试用例(DDT)的一部分。在一些实施例中,DDT由单个测试用例定义表示,该定义用不同的数据变量填充。这些变化可以来自例如文件,并且如果链接了这样的数据文件,则会为数据源的每个表列创建自变量。在创建测试用例之后,将在“given”模块中自动创建具有相同名称的变量。在另一示例中,原始“Insurant.Name”变量的默认值在可用时给出。否则,该变量留给计算设备的用户完成该值。
在“then”模块下,该模块可以包含任何类型的断言,这些断言表示测试用例的重要组成部分。为了便于说明,测试用例的必要部分是断言或验证,它定义了测试目的(例如,断言贷款值为500,000)。这就是测试用例证明被测应用满足特定要求的方式。使用“then”模块,计算设备的用户可以将现有验证活动拖到模块的“then”部分中。在一个示例中,在“when”模块内,计算设备的用户可以调用填写保险申请的工作流。参见图16,图16是根据本发明的实施例的示出“then”模块的GUI 1600。在“then”模块内,计算设备的用户可以拖动“验证UiElement”活动来声明所创建的保险号码。参见图17和18,图17和18是示出根据本发明的实施例的执行的工作流的GUI 1700和1800。
测试用例发布
Studio ProTM项目可以包含1-n个工作流、1-n个工作流测试用例和1-n个应用测试用例。在发布时,OrchestratorTM的“测试用例”部分可以包含项目、应用测试用例和/或工作流测试用例。工作流测试用例还可以包含对原始工作流的引用。参见例如图19,图19是示出根据本发明的实施例的具有用于“链接的过程”的列的测试用例部分的GUI1900。
图7是示出根据本发明的实施例的用于发布测试用例的过程700的流程图。在某些实施例中,使用Studio用户可以发布其工作流或测试用例。在发布之后,用户可以使用一个或多个测试用例并且将它们分组在一起以执行测试集。过程700可以开始于在702处在Studio中创建一个或多个测试用例,并且在704处,将一个或多个测试用例设置为可发布。参见例如图32,图32是示出根据本发明的实施例的用于将一个或多个测试用例设置为可发布的菜单选项的GUI3200。在706处,触发一个或多个测试用例以进行发布。参见例如图33,图33是示出根据本发明的实施例的用于在Studio中发布的应用的GUI3300。
在708处,使用特定环境为测试用例包创建过程。参见例如图34,图34是示出根据本发明的实施例的部署过程的GUI 3400。在710处,一个或多个测试用例出现在Studio的“测试用例”部分中。参见例如图35,图35是示出根据本发明的实施例的在“测试用例”部分中的所创建的测试用例的GUI 3500。
工作流测试用例执行
执行工作流测试用例与执行应用测试用例没有什么不同。例如,图8是示出根据本发明的实施例的用于执行测试用例的过程800的流程图。在一些实施例中,过程800可以开始于在802处创建测试集,并且在804处向测试集分配一个或多个工作流或工作流的一个或多个部分的一个或多个测试用例。在806处,执行测试集。
应当理解,工作流测试用例的执行结果可以具有与通用应用测试结果相似的结构,但可能还会引用被测过程。图20是示出根据本发明的实施例的来自所执行的工作流测试用例的测试结果的GUI 2000。
如果工作流测试用例失败,则OrchestratorTM的“处理”部分中的相应处理将接收到警告三角和工具提示。图21是示出根据本发明的实施例的OrchestratorTM的“处理”部分的GUI 2100。在一个实施例中,警告三角和工具提示2102提供特定过程受失败的工作流测试用例影响并且可能需要适配以在生产期间成功运行的指示。
当考虑到一个或多个用户可以在专用测试环境中针对工作流的最新版本连续运行一个或多个工作流测试用例时,生产中的实际过程将使用先前版本和不同的环境。例如,在RPA的开发过程中,存在第一版本,然后是第二版本。对于第二版本,当工作流发生改变时,将执行测试用例。在另一示例中,当第二版本正在生产中时,也会在生产期间执行一组工作流测试用例。例如,在生产中运行工作流之前,每天执行一次测试用例。这样,可能在工作流进入生产阶段之前破坏和修复被测工作流。为了说明,术语“环境”是指系统,即程序、数据库等。换言之,存在很多环境,从开发环境开始,到预生产环境、生产环境等。
因此,向用户警告或通知这个过程中的潜在问题可能会有所帮助。因此,工具提示或通知消息2102可以提供必要的上下文。例如,工具提示或通知消息2102可以包括以下消息:“为环境Y上的版本X.X.X分配给该过程的多个测试用例失败。”在一些实施例中,上下文菜单允许将警告标记为“已接收”,这基本上去除了警告。
在某些实施例中,失败的工作流测试用例会导致开发人员在Studio ProTM中分析工作流和/或测试用例并且调试工作流和/或测试用例。因此,诸如图22所示的附加上下文菜单项允许直接打开相应的Studio ProTM项目。图22是示出根据本发明的实施例的用于在StudioTM中打开失败的工作流测试用例的附加上下文菜单项2202的GUI 2200。图23是示出根据本发明的实施例的受影响的工作流2302和Studio ProTM中的测试用例的GUI 2300。
创建数据驱动的工作流测试用例
图9是示出根据本发明的实施例的用于创建数据驱动的工作流测试用例的过程900的流程图。在一些实施例中,过程900可以开始于在902处在Studio ProTM中选择工作流或工作流的一个或多个部分。这样,就利用了数据源中的数据(在该示例中为表格的形式)。图25是示出根据本发明的实施例的将被选择的工作流2502的GUI2500。在904处,从“工作流测试”部分选择“创建数据驱动的测试用例”并且选择数据源。图26是示出根据本发明的实施例的“数据驱动的测试用例”菜单2602的GUI 2600,该菜单允许用户选择数据源。
在906处,在“选择表格”菜单下,选择一个或多个表。一旦选择了表,就在908处选择字段。图27是示出根据本发明的实施例的允许选择字段的菜单选项2702的GUI 2700。具体地,GUI 2700示出了菜单选项2702,其允许用户从表格中的数据源选择一个或多个字段。从这些字段中提取数据。在910处,由于数据源是工作表,所以StudioProTM自动将列与所使用的变量名进行匹配。
在912处,对于不能与特定列匹配的变量,用户从所选择的表格内的可用列中手动选择。图28是示出根据本发明的实施例的菜单选项2802的GUI 2800,该菜单选项2802允许用户选择所选择的表格中的一个或多个可用列。
在914处,通过在Studio ProTM中的“导入数据集”复选框中选择来导入数据源。应当注意,根据实施例,数据源被引用(通过路径)或作为项目的一部分被导入(例如,通过单击菜单选项中的“导入数据集”复选框)。图29是根据本发明的实施例的示出菜单选项2902的GUI 2900,该菜单选项示出了用于选择“导入数据集”的选项。在一些实施例中,数据集是项目本身的一部分,并且初始源(文件)在测试执行期间不必可用。
在916处,在变量匹配完成之后,创建第一测试用例,并且使用对数据源(外部或内部)的引用来设置“自变量”部分中的变量。图30是示出根据本发明的实施例的根据数据集创建的第一测试用例3002的GUI 3000。
图31是示出根据本发明的实施例的具有多个测试数据变化的测试用例的GUI3100。在一些实施例中,可以创建称为“数据集”的新标签,其示出了具有导入的测试数据的表。该表主要有两个目的。首先,该表指示单个测试用例连接到多个测试数据变体。其次,该表执行一个或多个变体(例如,通过选择一个或多个变体并且单击“运行”)以进行本地调试。例如,当发布到OrchestratorTM时,将发布并且执行整个数据集。
根据本发明的实施例,图6至图9中执行的过程步骤可以由计算机程序执行,该计算机程序编码有指令,该指令用于使(多个)处理器执行图6至图9中所描述的(多个)过程的至少一部分。计算机程序可以被实施在非瞬态计算机可读介质上。计算机可读介质可以是但不限于硬盘驱动器、闪存设备、RAM、磁带和/或用于存储数据的任何其他此类介质或介质的组合。计算机程序可以包括用于控制计算系统的(多个)处理器(例如图5的计算系统500的(多个)处理器510)以实现图6至图9中所描述的过程步骤中的全部或一部分的编码指令,这些编码指令还可以被存储在计算机可读介质上。
计算机程序可以被实现在硬件、软件或混合实现中。计算机程序可以由彼此可操作地通信并且被设计成传递信息或指令以进行显示的模块组成。计算机程序可以被配置为在通用计算机、ASIC或任何其他合适的设备上操作。
将容易地理解,如本文中的诸图中大体上描述和图示的,本发明的各种实施例的组件可以以多种不同配置来布置和设计。因此,如附图中所表示,对本发明的实施例的详细描述并不旨在限制所要求保护的本发明的范围,而是仅仅表示本发明的所选择的实施例。
贯穿本说明书描述的本发明的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,贯穿本说明书,对“某些实施例”、“一些实施例”或类似语言的参考是指结合实施例所描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,贯穿本说明书,短语“在某些实施例中”、“在一些实施例中”、“在其他实施例中”或类似语言的出现并不一定全都是指同一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。
应注意,贯穿本说明书,对特征、优点或类似语言的参考并不意味着可以用本发明实现的所有特征和优点都应该在或都在本发明的任何单个实施例中。相反,涉及特征和优点的语言被理解为是指结合实施例所描述的特定特征、优点或特性被包括在本发明的至少一个实施例中。因此,贯穿本说明书,对特征和优点以及类似语言的讨论可以但并不一定是指相同实施例。
此外,本发明的所描述的特征、结构和特性可以在一个或多个实施例中以任何合适的方式组合。相关领域的技术人员应认识到,可以在不具有特定实施例的特定特征或优点中的一者或多者的情况下实践本发明。在其他情况下,可以不存在于本发明的所有实施例中的附加特征和优点在某些实施例中可能被识别。
本领域的普通技术人员应容易地理解,可以利用不同顺序的步骤和/或利用与所公开的配置不同的配置的硬件元件来实践如上文所描述的本发明。因此,尽管已经基于这些优选实施例描述了本发明,但对于本领域的技术人员而言将明显的是,某些修改、变型和备选构造将是明显的,同时仍在本发明的精神和范围内。因此,为了确定本发明的界限和边界,应当参考所附权利要求书。
Claims (20)
1.一种计算机实现的方法,包括:
针对工作流或所述工作流的一个或多个部分创建测试用例,其中所述工作流是生产中的工作流或正在开发的工作流;
执行针对所述工作流或所述工作流的所述一个或多个部分的所述测试用例,以标识针对所述工作流的环境和/或自动化问题;以及
当标识出所述环境和/或自动化问题时,报告工作流测试失败。
2.根据权利要求1所述的计算机实现的方法,还包括:
在应用内打开所述工作流;以及
选择所述工作流或所述工作流的一个或多个部分,以确定工作流测试用例的范围。
3.根据权利要求1所述的计算机实现的方法,其中所述测试用例的所述创建基于“given-when-then”模板,
所述“given-when-then”模板包括“when”模块、“given”模块和“then”模块。
4.根据权利要求3所述的计算机实现的方法,其中所述“when”模块被配置为调用所述工作流或所述工作流的所述一个或多个部分,并且将所述工作流或所述工作流的所述一个或多个部分作为参考,从而允许供所述测试用例引用所述工作流或所述工作流的所述一个或多个部分。
5.根据权利要求3所述的计算机实现的方法,其中所述“given”模块被配置为针对所述“when”模块成功执行所述工作流添加一个或多个所需要的前提条件,
所述一个或多个前提条件包括由所述工作流或由所述工作流的所述一个或多个部分使用的一个或多个输入参数和一个或多个应用。
6.根据权利要求5所述的计算机实现的方法,其中所述“given”模块被配置为提供模拟被测工作流的步骤的可能性,从而确保所述被测工作流无错误地被执行,
所述步骤的所述模拟包括在所述被测工作流内模拟一系列步骤,
所述被测工作流是将针对其创建测试用例并且由所述“when”模块调用的测试对象。
7.根据权利要求5所述的计算机实现的方法,其中所述“given”模块被配置为自动标识针对要被执行的所述工作流或所述工作流的所述一个或多个部分所需要的一个或多个变量和/或一个或多个参数。
8.根据权利要求5所述的计算机实现的方法,其中所述“given”模块被配置成当针对所述工作流或所述工作流的所述一个或多个部分创建所述测试用例时,自动创建与所述工作流或所述工作流的所述一个或多个部分相同名称的变量。
9.根据权利要求3所述的计算机实现的方法,其中所述“then”模块被配置为验证所述工作流或所述工作流的所述一个或多个部分,并且实现来自所述用户的一个或多个现有验证活动。
10.根据权利要求1所述的计算机实现的方法,还包括:
发布引用针对其创建所述测试用例的所述工作流或所述工作流的所述一个或多个部分的所述测试用例;以及
将所述测试用例与一个或多个其他测试用例分组在一起,以创建测试集以用于执行。
11.一种系统,包括:
存储器,存储计算机程序指令;以及
至少一个处理器,被配置为执行所述计算机程序指令,所述计算机程序指令被配置为执行:
针对工作流或所述工作流的一个或多个部分创建测试用例,其中所述工作流是生产中的工作流或正在开发的工作流;
执行针对所述工作流或所述工作流的所述一个或多个部分的所述测试用例,以标识针对所述工作流的环境和/或自动化问题;以及
当标识出所述环境和/或自动化问题时,报告工作流测试失败。
12.根据权利要求11所述的系统,其中所述计算机程序指令还被配置为执行:
在应用内打开所述工作流;以及
选择所述工作流或所述工作流的一个或多个部分,以确定工作流测试用例的范围。
13.根据权利要求11所述的系统,其中所述测试用例的所述创建基于“given-when-then”模板,
所述“given-when-then”模板包括“when”模块、“given”模块和“then”模块。
14.根据权利要求13所述的系统,其中所述“when”模块被配置为调用所述工作流或所述工作流的所述一个或多个部分,并且将所述工作流或所述工作流的所述一个或多个部分作为参考,从而允许所述测试用例引用所述工作流或所述工作流的所述一个或多个部分。
15.根据权利要求13所述的系统,其中所述“given”模块被配置为针对所述“when”模块成功执行所述工作流添加一个或多个所需要的前提条件,
所述一个或多个前提条件包括由所述工作流或由所述工作流的所述一个或多个部分使用的一个或多个输入参数和一个或多个应用。
16.根据权利要求15所述的系统,其中所述“given”模块被配置为提供模拟被测工作流的步骤的可能性,从而确保所述被测工作流无错误地被执行,
所述步骤的所述模拟包括在所述被测工作流内模拟一系列步骤,
所述被测工作流是将针对其创建测试用例并且由所述“when”模块调用的测试对象。
17.根据权利要求15所述的系统,其中所述“given”模块被配置为自动标识针对要被执行的所述工作流或所述工作流的所述一个或多个部分所需要的一个或多个变量和/或一个或多个参数。
18.根据权利要求15所述的系统,其中所述“given”模块被配置成当针对所述工作流或所述工作流的所述一个或多个部分创建所述测试用例时,自动创建与所述工作流或所述工作流的所述一个或多个部分相同名称的变量。
19.根据权利要求13所述的系统,其中所述“then”模块被配置为验证所述工作流或所述工作流的所述一个或多个部分,并且实现来自所述用户的一个或多个现有验证活动。
20.根据权利要求11所述的系统,其中所述计算机程序指令还被配置为执行:
发布引用针对其创建所述测试用例的所述工作流或所述工作流的所述一个或多个部分的所述测试用例;以及
将所述测试用例与一个或多个其他测试用例分组在一起,以创建测试集以用于执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/854,733 US20210326244A1 (en) | 2020-04-21 | 2020-04-21 | Test automation for robotic process automation |
US16/854,733 | 2020-04-21 | ||
PCT/US2020/051496 WO2021216106A1 (en) | 2020-04-21 | 2020-09-18 | Test automation for robotic process automation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113168169A true CN113168169A (zh) | 2021-07-23 |
Family
ID=72811660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080002317.2A Pending CN113168169A (zh) | 2020-04-21 | 2020-09-18 | 用于机器人过程自动化的测试自动化 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3901864A1 (zh) |
JP (1) | JP2023522280A (zh) |
CN (1) | CN113168169A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113993161B (zh) * | 2021-12-27 | 2022-03-29 | 中兴通讯股份有限公司 | 业务测试方法、服务器、终端设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11157855B2 (en) * | 2017-01-09 | 2021-10-26 | Sutherland Global Services Inc. | Robotics process automation platform |
-
2020
- 2020-09-18 CN CN202080002317.2A patent/CN113168169A/zh active Pending
- 2020-09-18 JP JP2020553453A patent/JP2023522280A/ja active Pending
- 2020-10-08 EP EP20200736.5A patent/EP3901864A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3901864A1 (en) | 2021-10-27 |
JP2023522280A (ja) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11818223B2 (en) | Inter-session automation for robotic process automation (RPA) robots | |
US11789853B2 (en) | Test automation for robotic process automation | |
CN114600141A (zh) | 使用人工智能来选择和链接用于机器人流程自动化的模型 | |
US11748479B2 (en) | Centralized platform for validation of machine learning models for robotic process automation before deployment | |
US11494203B2 (en) | Application integration for robotic process automation | |
US11592804B2 (en) | Task automation by support robots for robotic process automation (RPA) | |
JP2023524917A (ja) | ロボティックプロセスオートメーションのためのアプリケーション統合 | |
US11593709B2 (en) | Inserting and/or replacing machine learning models in a pipeline for robotic process automation workflows | |
CN113168168A (zh) | 经由在第二会话中运行的机器人流程自动化机器人使在第一会话中运行的过程自动化 | |
US11544082B2 (en) | Shared variable binding and parallel execution of a process and robot workflow activities for robotic process automation | |
CN113168355A (zh) | 经由在第二会话中运行的机器人流程自动化机器人使在第一会话中运行的过程自动化 | |
US11507059B1 (en) | System and computer-implemented method for seamless consumption of automations | |
EP3901864A1 (en) | Test automation for robotic process automation | |
EP3901865A1 (en) | Test automation for robotic process automation | |
US11650871B2 (en) | System and computer-implemented method for verification of execution of an activity | |
US11797432B2 (en) | Test automation for robotic process automation | |
US20230081622A1 (en) | System and computer-implemented method for testing an application using an automation bot | |
JP2023089951A (ja) | ロボティックプロセスオートメーションのためのマルチターゲットライブラリ、プロジェクト、およびアクティビティ |
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 |