CN112306876B - 自动化流程图的生成方法、装置、计算机设备及存储介质 - Google Patents
自动化流程图的生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112306876B CN112306876B CN202011195599.0A CN202011195599A CN112306876B CN 112306876 B CN112306876 B CN 112306876B CN 202011195599 A CN202011195599 A CN 202011195599A CN 112306876 B CN112306876 B CN 112306876B
- Authority
- CN
- China
- Prior art keywords
- frame
- generating
- current
- test case
- workflow
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了自动化流程图的生成方法、装置、计算机设备及存储介质,方法包括:根据自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按顺序ID对各所述对象进行排序,构成对象信息列表;按顺序遍历所述对象信息列表,获取当前对象的对象类别;根据当前对象的对象类别生成当前对象的对象框,并将当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在当前对象的对象框上生成一指向下一工作流的指示标识,并在当前对象的对象框中填充初始描述信息;继续按顺序遍历对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图。本发明为自动化测试用例的评审和维护工作提供了便利,提升了效率。
Description
技术领域
本发明涉及自动化测试技术领域,特别涉及自动化流程图的生成方法、装置、计算机设备及存储介质。
背景技术
功能测试是测试维度中必不可少的一环。使用自动化的方法实现功能测试,不仅可以提升测试效率,减少重复性的劳动,还能提高软件可靠性。目前大部分可用于编写自动化案例的工具都提供了可靠、便利的编辑方法,如Robot Framework(通用测试自动化框架)采用表格式的语法,也可以切换为txt(文本)或csv(逗号分隔)样式,jmeter(压力测试工具)采用树形目录展示,behave(自动化测试)则采用是DSL(领域特定语言)语法文本展示。
虽然自动化测试脚本具有诸多优点,但是它同代码一样需要维护、更新以保障正确性。同时由于目前大部分产品的业务逻辑复杂,又大多采用微服务架构即离散地将某个功能的各个模块分散出去,这样就导致了一个场景的自动化测试用例编写出来的测试步骤繁多和琐碎,同时还包含了复杂的循环和流程分支。当对自动化用例进行评审或者维护时,需要花费大量的时间才能了解整个用例的流程,导致评审或维护效率极低。
发明内容
本发明的目的是提供自动化流程图的生成方法、装置、计算机设备及存储介质,旨在解决现有技术中自动化测试用例评审或维护效率低的问题。
第一方面,本发明实施例提供一种自动化流程图的生成方法,其包括:
预先存储自动化测试用例所需的所有对象,每一所述对象均包括所述自动化测试用例的用例ID、对象类别、顺序ID和初始描述信息;
当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表;
按顺序遍历所述自动化测试用例的对象信息列表,获取所述对象信息列表中的当前对象的对象类别;
根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息;
继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图。
第二方面,本发明实施例提供一种自动化流程图的生成装置,其包括:
存储单元,用于预先存储自动化测试用例所需的所有对象,每一所述对象均包括所述自动化测试用例的用例ID、对象类别、顺序ID和初始描述信息;
对象信息列表构建单元,用于当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表;
对象信息获取单元,用于按顺序遍历所述自动化测试用例的对象信息列表,获取所述对象信息列表中的当前对象的对象类别;
对象框生成单元,用于根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息;
流程图生成单元,用于继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如第一方面所述的自动化流程图的生成方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如第一方面所述的自动化流程图的生成方法。
本发明实施例提供了自动化流程图的生成方法、装置、计算机设备及存储介质,方法包括:根据自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按顺序ID对各所述对象进行排序,构成对象信息列表;按顺序遍历所述对象信息列表,获取当前对象的对象类别;根据当前对象的对象类别生成当前对象的对象框,并将当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在当前对象的对象框上生成一指向下一工作流的指示标识,并在当前对象的对象框中填充初始描述信息;继续按顺序遍历对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图。本发明实施例提供的方法,将自动化测试用例的各个对象以对象框的形式呈现,并以指示标识来指示工作流,即以图形化的方式呈现出自动化测试用例的流程,评审或维护人员只需可以结合流程图来对自动化测试用例进行评审和维护,方便了对自动化测试用例的评审和维护工作,减少了繁琐的用例梳理流程的时间,提升了效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的自动化流程图的生成方法的流程示意图;
图2为本发明实施例提供的自动化流程图的生成方法的子流程示意图;
图3为本发明实施例提供的自动化流程图的生成方法的具体流程效果图;
图4为本发明实施例提供的自动化流程图的生成装置的示意性框图;
图5为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种自动化流程图的生成方法的流程示意图,该方法包括步骤S101~S105:
S101、预先存储自动化测试用例所需的所有对象,每一所述对象均包括所述自动化测试用例的用例ID、对象类别、顺序ID和初始描述信息;
在编写自动化测试用例时,需按照用例的需求存储相关的对象,本发明实施例中的对象是指自动化测试用例执行过程中所经历的一些操作,本发明实施例可以将对象分为几类:普通执行对象、逻辑分支对象、循环对象、断言对象。其中,普通执行对象又可包括:接口请求、数据库操作和引入用例。
对象中包括用例ID、对象类别、在自动化测试用例中的顺序ID、测试描述信息。除此之外,对象中还可包括详细描述信息。
其中,用例ID即对象所属的自动化测试用例的唯一性标识。对象类别即为上述的对象类型,初始描述信息即为简单的描述信息,例如请求鉴权接口获取token(令牌)。详细描述信息为关于对象的较为清楚的信息,例如记录为post方法(一种请求方式)、请求的url(统一资源定位标志)。
S102、当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表;
当需要生成某个自动化测试用例的流程图时,需要先根据该自动化测试用例的用例ID来查询其所需的对象,然后对各个对象进行排序,从而构成对象信息列表,后续根据该对象信息列表来生成流程图。
在一实施例中,所述步骤S102之前,包括:
判断所述自动化测试用例的变化标志位是否为真,若所述变化标志位为假则查询页面缓存中是否存在所述自动化测试用例的流程图,若存在则直接从所述页面缓存中获取所述自动化测试用例的流程图;
若所述页面缓存中不存在所述自动化测试用例的流程图或者所述变化标志位为真,则判定需要生成所述自动化测试用例的流程图。
在本实施例中,由于评审或维护人员可能需要反复查看自动化测试用例的流程图,如果在此之前已经生成过该自动化测试用例的流程图,并且该自动化测试用例未更新过,那么可以直接调用已经生成的流程图,而无需重新生成。
所述变化标志位表示对自动化测试用例更新的标记,每一自动化测试用例都具有对应的变化标志位,如所述变化标志位为真,代表修改过相应的自动化测试用例,如所述变化标志位为假,代表未修改过相应的自动化测试用例。
所以,本实施例当需要查看某个自动化测试用例的流程图时,可以先确认其变化标志位的状态,如为假可以先查询页面缓存中是否存在相应自动化测试用例的流程图,如果存在代表之前生成过所述自动化测试用例的流程图,所以直接从页面缓存中获取即可,如果不存在则表示已将该流程图删除或者其他原因导致页面缓存中不存在流程图,所以针对页面缓存中不存在的情况以及变化标志位为真的情况,都确认为需要生成相应自动化测试用例的流程图。
S103、按顺序遍历所述自动化测试用例的对象信息列表,获取所述对象信息列表中的当前对象的对象类别;
此步骤中,可以首先在画布最上端生成圆角矩形框表示开始,在圆角矩形框下方引出代表下一工作流方向的箭头,从而代表流程开始,同时可以在此圆角矩形框中填充“开始”的描述信息,方便评审或维护人员了解流程开始的位置。
然后开始按顺序遍历对象信息列表,从而获取当前对象的对象类别。
假设当前对象为第一个对象,那么获取第一个对象的对象类别,假设当前对象为第二对象,那么获取第二个对象的对象类别,以此类推。即将接着上一个对象之后的第一个对象对象作为当前对象,假如无上一个对象,那么将第一个对象作为当前对象,确定当前对象后,即可从所述对象信息列表中获取其对象类别。
S104、根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息;
本步骤是接着上一对象的对象框,生成当前对象的对象框,并将当前对象的对象框连接至上一对象的对象框的工作流的指示标识处。同时还生成指向下一工作流的指示标识,以继续下一对象的对象框的生成。
此外,还在对象框中添加所述初始描述信息,方便评审或维护人员了解该对象框所执行的逻辑。
针对当前对象的对象类别的不同,绘制流程图的方式亦有所不同。
在一实施例中,如图2所示,所述步骤S104包括:
S201、若所述当前对象为普通执行对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成一个指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息;
S202、若所述当前对象为逻辑分支对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的菱形对象框以及在所述菱形对象框上生成一个指向条件为真的下一工作流的指示标识和一个指向条件为假的下一工作流的指示标识,并在所述菱形对象框中填充所述初始描述信息;
S203、若所述当前对象为循环对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息;
S204、若所述当前对象为断言对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的菱形对象框以及在所述菱形对象框上生成一个指向断言为真的指示标识和一个指向断言为假的指示标识,并在所述菱形对象框中填充所述初始描述信息。
需说明的是,本实施例中的各步骤的标号并不代表步骤执行的先后顺序,具体根据其对象类别选择执行对应的步骤,上述标号仅为方便说明。另外,本实施例中的指示标识可以是箭头,也可以是其他可以代表工作流走向的标识,后续实施例均以箭头为例进行说明。
在所述步骤S201中,如果当前对象为普通执行对象,那么只需在上一对象框引出的箭头下生成当前对象的矩形对象框,同时在此矩形对象框上设置一个指向下一工作流的箭头,例如具体的,可以将上一对象框引出的箭头指向当前对象的矩形对象框的正上方,并从当前对象的矩形对象框的正下方引出指向下一工作流的箭头。并且,在所述矩形对象框中可以填充初始描述信息,以便获知当前的矩形对象框的功能和作用。其中,如果当前对象是引入用例的对象,由于需要引入公共用例,公共用例中实现的是公共方法,例如比较两个json对象。所以可以在对应的矩形对象框中记录这个公共方法的唯一性标识。
在所述步骤S202中,如果当前对象为逻辑分支对象,那么需要在上一对象框所引出的箭头下生成当前对象对应的菱形对象框,同时在此菱形对象框上设置两个指向下一工作流的箭头。例如,可以将上一对象框所引出的箭头连接至所述菱形对象框的上方,并从所述菱形对象框的下方引出一个指向下一工作流(如代表条件为真)的箭头,以及从所述菱形对象框的右侧引出一个指向另一个工作流(如代表条件为假)的箭头,代表不同的工作流走向。同样的,可以在所述菱形对象框中填充初始描述信息,以便获知当前的菱形对象框的功能和作用。
在所述步骤S203中,若当前对象为循环对象时,则在上一对象框所引出的箭头下生成当前对象对应的矩形对象框,并生成一个指向下一工作流的箭头,以使流程继续进行。同样的,可以在所述矩形对象框中填充初始描述信息,以便获知当前的矩形对象框的功能和作用。
在一实施例中,所述步骤S203包括:
判断所述循环对象的后面是否仍有下一对象,若无,则将所述循环对象对应的指向下一工作流的指示标识连接至上一与所述循环对象关联的逻辑分支对象。
对于循环对象来说,一般分为三种情况:for循环、while循环、do-while循环,对于for循环和do-while循环,其后续流程中都会存在下一对象,所以将下一对象连接至此循环对象的下一工作流的箭头处即可,而对于while循环其执行完循环对象后,需要返回上一与之关联的逻辑分支对象,从而利用该逻辑分支对象进行逻辑判断。
在所述步骤S204中,若当前对象为断言对象,则在上一对象框所引出的箭头下生成当前对象对应的菱形对象框以及在菱形对象框上设置一个指向断言为真的箭头和一个指向断言为假的箭头,例如,可以将上一对象框所引出的箭头连接至所述菱形对象框的上方,并从所述菱形对象框的下方引出一个指向下一工作流(如代表断言为真)的箭头,以及从所述菱形对象框的右侧引出一个指向另一个工作流(如代表断言为假)的箭头,代表不同的工作流走向,其中代表断言为假的箭头可以指向代表流程结束的圆角矩形框。同样的,可以在所述菱形对象框中填充初始描述信息,以便获知该菱形对象框的功能和作用。
在一实施例中,所述步骤S104还包括:
将所述当前对象的对象框的鼠标焦点的动作关联详细描述信息。
本发明实施例中,还可以将对象框的鼠标焦点的动作关联详细描述信息,即当鼠标的焦点移动至矩形对象框的范围时,则显示详细描述信息,从而方便测试人员和维护人员进一步了解该对象框的功能和作用。
在一实施例中,所述步骤S104还包括:
根据所述当前对象的对象类别生成当前对象的对象框;
确认上一对象的对象类别,若上一对象的对象类别为逻辑分支对象时,判断当前对象是否属于上一对象的条件为真的分支,若是则将所述当前对象的对象框连接至上一对象的对象框的条件为真的工作流的指示标识处,若否则将所述当前对象的对象框连接至上一对象的对象框的条件为假的工作流的指示标识处。
本实施例中,由于流程图中会存在逻辑分支对象,而逻辑分支对象存在两条工作流,一个为条件为真的工作流,另一个为条件为假的工作流。所以,本实施例需要确认判断当前对象其是处于条件为真的工作流,还是处于条件为假的工作流。本发明实施例可以默认在上一逻辑分支对象中条件为真的分支下画图,若当前对象为条件为假的执行结果则反向追溯至遇到的第一个逻辑分支对象,并在所述第一个逻辑分支对象条件为假的分支下继续作图,以此类推,直至绘制完所有逻辑分支。
举例来说,假设N和Y是一个整数。
在生成流程图时,假设从N大于10是真开始绘图,并且Y也大于5,那么当这个为真的分支结束,则没有后续流程。所以需要反向追溯找到ifY>5并判断有无条件为假的else分支的流程,找到之后沿着这条条件为假的分支继续绘图。以此类推,反向追溯到ifN>10有无条件为假的分支的流程,找到之后沿着这条条件为假的分支继续绘图。
S105、继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图。
按照上述步骤S104的流程,遍历完所述对象信息列表中的所有对象,从而完成自动化测试用例的流程图的构建,如果在前述步骤中未生成代表结束的圆角矩形框,那么在遍历完所有对象后,可生成代表结束的圆角矩形框,并将最后一个对象引出的箭头指向该圆角矩形框。
在一实施例中,所述步骤S105之后,包括:
对所述流程图进行检测,获取所述流程图中的嵌套部分;
将所述嵌套部分折叠,并生成用于展开或折叠所述嵌套部分的折叠按钮;
当接收到对所述折叠按钮的点击指令时,获取所述嵌套部分的状态,当所述嵌套部分的状态为折叠状态时,则展开所述嵌套部分,当所述嵌套部分的状态为展开状态时,则折叠所述嵌套部分。
本实施例中,若所述流程图中包含有嵌套部分,则可将嵌套部分折叠,并生成折叠按钮,以节约显示空间,只需展示影响流程的关键环节,极大地方便了对自动化用例进行的评审和测试人员的维护工作。用户需要查看嵌套部分时,只需点击折叠按钮展开相应的内容,当需要折叠嵌套部分时,也只需再次点击折叠按钮即可。
在一个具体例子中,对于某个自动化场景,其测试流程如下:
请求鉴权接口获取token-->当请求成功时将获取到的token设置为变量-->当请求失败时用例失败-->将获取到的token作为参数请求查询接口-->断言返回结果-->断言失败用例失败-->断言成功查询数据库-->断言数据库的返回结果也成功-->用例执行通过。通过本实施例提供的方法,其生成的流程图如图3所示。
通过本发明实施例提供的方法,实现通过图形化的方式,来展示和审阅自动化测试用例的代码。不仅能根据自动化测试用例是否发生变化动态地从缓存或内存中获取对象信息,避免重复生成流程图,同时通过折叠的操作可以避免图形过多造成混乱。通过本发明实施例,减少了多且繁琐的用例梳理流程的时间,极大地提升了效率。
请参阅图4,图4为本发明实施例一种自动化流程图的生成装置的示意性框图,所述自动化流程图的生成装置400包括:
存储单元401,用于预先存储自动化测试用例所需的所有对象,每一所述对象均包括所述自动化测试用例的用例ID、对象类别、顺序ID和初始描述信息;
对象信息列表构建单元402,用于当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表;
对象信息获取单元403,用于按顺序遍历所述自动化测试用例的对象信息列表,获取所述对象信息列表中的当前对象的对象类别;
对象框生成单元404,用于根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息;
流程图生成单元405,用于继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图。
在一实施例中,所述自动化流程图的生成装置400还包括:
判断单元,用于判断所述自动化测试用例的变化标志位是否为真,若所述变化标志位为假则查询页面缓存中是否存在所述自动化测试用例的流程图,若存在则直接从所述页面缓存中获取所述自动化测试用例的流程图;
确认单元,用于若所述页面缓存中不存在所述自动化测试用例的流程图或者所述变化标志位为真,则判定需要生成所述自动化测试用例的流程图。
在一实施例中,所述对象框生成单元404包括:
普通执行对象处理单元,用于若所述当前对象为普通执行对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成一个指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息;
逻辑分支对象处理单元,用于若所述当前对象为逻辑分支对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的菱形对象框以及在所述菱形对象框上生成一个指向条件为真的下一工作流的指示标识和一个指向条件为假的下一工作流的指示标识,并在所述菱形对象框中填充所述初始描述信息;
循环对象处理单元,用于若所述当前对象为循环对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息;
断言对象处理单元,用于若所述当前对象为断言对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的菱形对象框以及在所述菱形对象框上生成一个指向断言为真的指示标识和一个指向断言为假的指示标识,并在所述菱形对象框中填充所述初始描述信息。
在一实施例中,所述对象框生成单元404还包括:
焦点关联单元,用于将所述当前对象的对象框的鼠标焦点的动作关联详细描述信息。
在一实施例中,所述对象框生成单元404还包括:
对象框生成子单元,用于根据所述当前对象的对象类别生成当前对象的对象框;
逻辑判断单元,用于确认上一对象的对象类别,若上一对象的对象类别为逻辑分支对象时,判断当前对象是否属于上一对象的条件为真的分支,若是则将所述当前对象的对象框连接至上一对象的对象框的条件为真的工作流的指示标识处,若否则将所述当前对象的对象框连接至上一对象的对象框的条件为假的工作流的指示标识处。
在一实施例中,所述自动化流程图的生成装置400还包括:
检测单元,用于对所述流程图进行检测,获取所述流程图中的嵌套部分;
折叠按钮生成单元,用于将所述嵌套部分折叠,并生成用于展开或折叠所述嵌套部分的折叠按钮;
折叠展开单元,用于当接收到对所述折叠按钮的点击指令时,获取所述嵌套部分的状态,当所述嵌套部分的状态为折叠状态时,则展开所述嵌套部分,当所述嵌套部分的状态为展开状态时,则折叠所述嵌套部分。
在一实施例中,所述循环对象处理单元包括:
循环处理单元,用于判断所述循环对象的后面是否仍有下一对象,若无,则将所述循环对象对应的指向下一工作流的指示标识连接至上一与所述循环对象关联的逻辑分支对象。
本发明实施例提供的装置,将自动化测试用例的各个对象以对象框的形式呈现,并以指示标识来指示工作流,即以图形化的方式呈现出自动化测试用例的流程,评审或维护人员只需可以结合流程图来对自动化测试用例进行评审和维护,方便了对自动化测试用例的评审和维护工作,减少了繁琐的用例梳理流程的时间,提升了效率。
上述自动化流程图的生成装置400可以实现为计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图5,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行自动化流程图的生成方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行自动化流程图的生成方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:预先存储自动化测试用例所需的所有对象,每一所述对象均包括所述自动化测试用例的用例ID、对象类别、顺序ID和初始描述信息;当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表;按顺序遍历所述自动化测试用例的对象信息列表,获取所述对象信息列表中的当前对象的对象类别;根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息;继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图。
本领域技术人员可以理解,图5中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图5所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessingUnit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现以下步骤:预先存储自动化测试用例所需的所有对象,每一所述对象均包括所述自动化测试用例的用例ID、对象类别、顺序ID和初始描述信息;当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表;按顺序遍历所述自动化测试用例的对象信息列表,获取所述对象信息列表中的当前对象的对象类别;根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息;继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (9)
1.一种自动化流程图的生成方法,其特征在于,包括:
预先存储自动化测试用例所需的所有对象,每一所述对象均包括所述自动化测试用例的用例ID、对象类别、顺序ID和初始描述信息;
当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表;
按顺序遍历所述自动化测试用例的对象信息列表,获取所述对象信息列表中的当前对象的对象类别;
根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息;
继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图;
所述根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息,包括:
若所述当前对象为普通执行对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成一个指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息;
若所述当前对象为逻辑分支对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的菱形对象框以及在所述菱形对象框上生成一个指向条件为真的下一工作流的指示标识和一个指向条件为假的下一工作流的指示标识,并在所述菱形对象框中填充所述初始描述信息;
若所述当前对象为循环对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息;
若所述当前对象为断言对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的菱形对象框以及在所述菱形对象框上生成一个指向断言为真的指示标识和一个指向断言为假的指示标识,并在所述菱形对象框中填充所述初始描述信息。
2.根据权利要求1所述的自动化流程图的生成方法,其特征在于,所述当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表之前,包括:
判断所述自动化测试用例的变化标志位是否为真,若所述变化标志位为假则查询页面缓存中是否存在所述自动化测试用例的流程图,若存在则直接从所述页面缓存中获取所述自动化测试用例的流程图;
若所述页面缓存中不存在所述自动化测试用例的流程图或者所述变化标志位为真,则判定需要生成所述自动化测试用例的流程图。
3.根据权利要求1所述的自动化流程图的生成方法,其特征在于,所述根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息,还包括:
将所述当前对象的对象框的鼠标焦点的动作关联详细描述信息。
4.根据权利要求1所述的自动化流程图的生成方法,其特征在于,所述根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息,还包括:
根据所述当前对象的对象类别生成当前对象的对象框;
确认上一对象的对象类别,若上一对象的对象类别为逻辑分支对象时,判断当前对象是否属于上一对象的条件为真的分支,若是则将所述当前对象的对象框连接至上一对象的对象框的条件为真的工作流的指示标识处,若否则将所述当前对象的对象框连接至上一对象的对象框的条件为假的工作流的指示标识处。
5.根据权利要求1所述的自动化流程图的生成方法,其特征在于,所述继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图之后,包括:
对所述流程图进行检测,获取所述流程图中的嵌套部分;
将所述嵌套部分折叠,并生成用于展开或折叠所述嵌套部分的折叠按钮;
当接收到对所述折叠按钮的点击指令时,获取所述嵌套部分的状态,当所述嵌套部分的状态为折叠状态时,则展开所述嵌套部分,当所述嵌套部分的状态为展开状态时,则折叠所述嵌套部分。
6.根据权利要求1所述的自动化流程图的生成方法,其特征在于,所述若所述当前对象为循环对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息,包括:
判断所述循环对象的后面是否仍有下一对象,若无,则将所述循环对象对应的指向下一工作流的指示标识连接至上一与所述循环对象关联的逻辑分支对象。
7.一种自动化流程图的生成装置,其特征在于,包括:
存储单元,用于预先存储自动化测试用例所需的所有对象,每一所述对象均包括所述自动化测试用例的用例ID、对象类别、顺序ID和初始描述信息;
对象信息列表构建单元,用于当需要生成所述自动化测试用例的流程图时,根据所述自动化测试用例的用例ID查询所述自动化测试用例所需的所有对象,并按各所述对象的顺序ID对各所述对象进行排序,构成所述自动化测试用例的对象信息列表;
对象信息获取单元,用于按顺序遍历所述自动化测试用例的对象信息列表,获取所述对象信息列表中的当前对象的对象类别;
对象框生成单元,用于根据所述当前对象的对象类别生成当前对象的对象框,并将所述当前对象的对象框连接至上一对象的对象框的工作流的指示标识处,同时在所述当前对象的对象框上生成一指向下一工作流的指示标识,并在所述当前对象的对象框中填充所述初始描述信息;
流程图生成单元,用于继续按顺序遍历所述自动化测试用例的对象信息列表,直至遍历完所有对象,生成所述自动化测试用例的流程图;
所述对象框生成单元包括:
普通执行对象处理单元,用于若所述当前对象为普通执行对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成一个指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息;
逻辑分支对象处理单元,用于若所述当前对象为逻辑分支对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的菱形对象框以及在所述菱形对象框上生成一个指向条件为真的下一工作流的指示标识和一个指向条件为假的下一工作流的指示标识,并在所述菱形对象框中填充所述初始描述信息;
循环对象处理单元,用于若所述当前对象为循环对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的矩形对象框以及在所述矩形对象框上生成指向下一工作流的指示标识,并在所述矩形对象框中填充所述初始描述信息;
断言对象处理单元,用于若所述当前对象为断言对象时,则在上一对象的对象框所引出的工作流的指示标识处生成所述当前对象对应的菱形对象框以及在所述菱形对象框上生成一个指向断言为真的指示标识和一个指向断言为假的指示标识,并在所述菱形对象框中填充所述初始描述信息。
8.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的自动化流程图的生成方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至6任一项所述的自动化流程图的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011195599.0A CN112306876B (zh) | 2020-10-30 | 2020-10-30 | 自动化流程图的生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011195599.0A CN112306876B (zh) | 2020-10-30 | 2020-10-30 | 自动化流程图的生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306876A CN112306876A (zh) | 2021-02-02 |
CN112306876B true CN112306876B (zh) | 2023-08-29 |
Family
ID=74334249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011195599.0A Active CN112306876B (zh) | 2020-10-30 | 2020-10-30 | 自动化流程图的生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306876B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098205A (zh) * | 2022-06-17 | 2022-09-23 | 来也科技(北京)有限公司 | 基于rpa和ai实现ia的流程编辑界面的控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104412266A (zh) * | 2012-06-29 | 2015-03-11 | 诺基亚公司 | 用于具有动态排序的树结构的多维数据储存和文件系统的方法和装置 |
CN110928763A (zh) * | 2019-09-29 | 2020-03-27 | 京东数字科技控股有限公司 | 测试方法、装置、存储介质及计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408430B2 (en) * | 1998-09-03 | 2002-06-18 | Lucent Technologies, Inc. | Interactive software testing system and method |
KR101149828B1 (ko) * | 2010-10-20 | 2012-05-24 | 홍익대학교 산학협력단 | 유스케이스 다이어그램을 기반으로 하는 테스트 케이스 생성 프로그램 및 이를 이용하여 테스트 케이스를 생성하는 방법 |
-
2020
- 2020-10-30 CN CN202011195599.0A patent/CN112306876B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104412266A (zh) * | 2012-06-29 | 2015-03-11 | 诺基亚公司 | 用于具有动态排序的树结构的多维数据储存和文件系统的方法和装置 |
CN110928763A (zh) * | 2019-09-29 | 2020-03-27 | 京东数字科技控股有限公司 | 测试方法、装置、存储介质及计算机设备 |
Non-Patent Citations (1)
Title |
---|
嵌入式软件的图形化测试用例生成系统设计与实现;邹炳松;《中国优秀硕士学位论文全文数据库 (信息科技辑)》(第02期);I138-782 * |
Also Published As
Publication number | Publication date |
---|---|
CN112306876A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130263089A1 (en) | Generating test cases for functional testing of a software application | |
US20220188104A1 (en) | Microservices Graph Generation | |
US20180165179A1 (en) | Determining incompatibilities of automated test cases with modified user interfaces | |
CN108319711B (zh) | 数据库的事务一致性测试方法、装置、存储介质及设备 | |
CN108959067B (zh) | 搜索引擎的测试方法、装置及计算机可读存储介质 | |
CN111159982B (zh) | 文档编辑方法、装置、电子设备及计算机可读存储介质 | |
WO2011080062A1 (en) | Analyzing objects from a graphical interface for standards verification | |
CN114595343A (zh) | 图谱展示方法、装置、存储介质及电子设备 | |
JP4786998B2 (ja) | ソフトウェア再利用部品管理システム | |
CN112306876B (zh) | 自动化流程图的生成方法、装置、计算机设备及存储介质 | |
CN116560683A (zh) | 软件更新方法、装置、设备及存储介质 | |
CN115061908A (zh) | 缺陷代码的定位方法、装置、存储介质及计算机设备 | |
US20130275943A1 (en) | Determining interface differences between different versions of an operating system | |
US10073852B2 (en) | Computer-readable storage medium, file management apparatus, and file management method | |
WO2019134297A1 (zh) | 配置对命名重复的检测方法、装置、存储介质和智能设备 | |
CN117033249A (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
JP4846029B2 (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
CN115481025A (zh) | 自动化测试的脚本录制方法、装置、计算机设备及介质 | |
JP2011164785A (ja) | 動作検証装置、動作検証方法および動作検証プログラム | |
US20130325842A1 (en) | Computer-readable storage medium storing update program, update method, and update device | |
JP2010072876A (ja) | ルール作成プログラム、ルール作成方法及びルール作成装置 | |
CN109766480B (zh) | 一种数据查询方法和设备 | |
CN111610908B (zh) | 一种生成框架图的方法、计算机设备及可读存储介质 | |
CN112463896A (zh) | 档案编目数据处理方法、装置、计算设备及存储介质 | |
US20030192009A1 (en) | Method and system for representing text using markup language |
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 |