CN109697150A - 展示测试报告的方法、装置、计算机设备及存储介质 - Google Patents
展示测试报告的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109697150A CN109697150A CN201811532035.4A CN201811532035A CN109697150A CN 109697150 A CN109697150 A CN 109697150A CN 201811532035 A CN201811532035 A CN 201811532035A CN 109697150 A CN109697150 A CN 109697150A
- Authority
- CN
- China
- Prior art keywords
- test
- information
- file
- report
- default
- 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 766
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012800 visualization Methods 0.000 claims abstract description 38
- 238000004458 analytical method Methods 0.000 claims abstract description 35
- 230000005540 biological transmission Effects 0.000 claims description 81
- 230000010354 integration Effects 0.000 claims description 37
- 238000000605 extraction Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 13
- 230000015572 biosynthetic process Effects 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000000926 separation method Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 11
- 238000013523 data management Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 238000007689 inspection Methods 0.000 description 6
- 238000000151 deposition Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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)
Abstract
本申请揭示了展示测试报告的方法、装置、计算机设备及存储介质,展示测试报告的方法,包括:获取测试案例的测试报告的文件类型;根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式;通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功;将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。同时实现xml文件、jtl文件等自动解析并友好展示的效果。
Description
技术领域
本申请涉及到自动化测试领域,特别是涉及到展示测试报告的方法、装置、计算机设备及存储介质。
背景技术
随着自动化测试的推广,各种测试框架的自动化测试工具层出不穷,但不同测试框架的自动化测试工具输出的测试报告的文件类型不同,且为满足自动化测试的需求,测试过程中预先编辑了符合测试框架的数据收集模式,以便自动化测试过程与自动化测试输出的测试报告一致,但自动化测试输出的测试报告中包含了较多便于机器识别的字符,以致于直接输出的测试报告的文件格式中内容较杂乱、布局繁琐,不符合用户的观看模式,且无对上述自动化测试输出的测试报告进行数据管理的有效平台,不利于测试人员查看和分析测试数据。
发明内容
本申请的主要目的为提供展示测试报告的方法,旨在解决现无针对自动化测试的测试报告进行数据管理的有效平台,不利于测试人员查看并分析测试数据的技术问题。
本申请提出一种展示测试报告的方法,包括:
获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配;
根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式;
通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功;
将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。
优选地,所述测试工具类型为Testng框架,所述测试报告的文件类型为xml文件,xml文件中以标签格式标识各测试信息,所述通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤,包括:
通过第一格式的正则表达式识别所述标签格式对应的标签信息,其中所述标签信息包括标签字符、标签字符的组合关系以及标签字符组合内包含的第一测试信息,所述标签字符、标签字符的组合关系与所述第一测试信息存在预设匹配关系;
根据所述标签字符和标签字符的组合关系,从所述标签字符组合内分别确定所述第一测试信息对应的开始字段和结束字段;
将所述开始字段与所述结束字段之间的所有字段提取出来并存储,以分离所述标签字符和所述第一测试信息。
优选地,在所述测试报告中包括多个第一测试案例的测试结果,所述测试报告包括多个相同的所述标签字符和标签字符的组合关系,相同的第一测试信息也包括多个,且按照先后提取时间同时存储于预设List中,所述将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤,包括:
遍历所述List,以按照先后提取时间区分相同的第一测试信息,以将相同的第一测试信息分别与各所述第一测试案例分别对应;
将对应于同一个第一测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个第一测试案例;
将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件;
将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
优选地,所述测试工具类型为Jmeter框架,所述测试报告的文件类型为jtl文件,jtl文件中以数据行格式标识各测试信息,所述通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤,包括:
通过第二格式的正则表达式识别所述数据行格式对应的数据行信息,其中所述数据行信息包括数据行编号以及数据行编号对应的第二测试信息,所述数据行编号与所述第二测试信息存在预设匹配关系;
根据所述数据行编号从所述数据行编号对应的数据行内提取所有字段并存储,以分离所述数据行编号和所述第二测试信息。
优选地,在所述测试报告中包括多个第二测试案例的测试结果,所述测试报告包括多个相同的所述数据行编号,相同的第二测试信息也包括多个,且按照先后提取时间同时存储于预设List中,所述将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤,包括:
遍历所述List,以按照先后提取时间区分相同的第二测试信息,以将相同的第二测试信息分别与各所述第二测试案例分别对应;
将对应于同一个所述第二测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个所述第二测试案例;
将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件;
将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
优选地,所述预设终端包括前端显示页面,所述将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示的步骤,包括:
接收后台传送的所述传输文件,并按照所述预设组合次序解析所述传输文件,得到各测试案例分别对应的测试信息;
将各测试案例分别对应的测试信息,分别存放于指定样式的Form表单中,以形成可视化文件进行展示。
优选地,所述测试案例的测试报告来自Jenkins集成工具,所述获取测试案例的测试报告的文件类型的步骤之前,包括:
监听所述Jenkins集成工具的预建立Job是否存在新构建记录,其中所述新构建记录为所述新构建记录为上一次从所述Jenkins集成工具获取所述测试报告后,所述Job执行自动化测试后的形成新测试报告的记录过程;
根据所述新构建记录同步更新待展示的测试报告,其中所述新构建记录包括新测试报告以及新测试报告对应的文件类型。
本申请还提供了一种展示测试报告的装置,包括:
获取模块,用于获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配;
选择模块,用于根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式;
提取模块,用于通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功;
展示模块,用于将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请通过在同一数据管理平台上配置多种文件类型分别对应的文件解析算法,以实现根据不同的文件类型调用对应格式的正则表达式,同时实现Testng框架的测试工具类型的xml文件,Jmeter框架的测试工具类型的jtl文件等自动解析并友好展示的效果,使各种自动化测试规则形成的比较难看懂的文件格式,通过文件解析算法将其转换为简洁清晰的展示文件,更易于测试人员进行查看和分析测试数据,避免了自动化测试报告内容较杂乱、繁琐的局面。本申请通过不同测试案例对应不同的存储区域,以便信息查询和信息整合,且便于传输过程的数据管理;并在数据传输前,将不同测试案例的对应的存储区域按照预设组合次序存放于同一个Map中,以便整体传送测试数据到指定终端的显示页面进行显示,以增加数据传输过程的方便管理性,且通过解析实现友好展示界面,支持可视化查看报告结果。本申请的数据处理平台支持实时刷新与Jenkins上最新Job的最新构建记录同步,为测试人员实时查看测试报告提供了极大的方便。
附图说明
图1本申请一实施例的展示测试报告的方法流程示意图;
图2本申请一实施例的展示测试报告的装置结构示意图;
图3本申请一实施例的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的展示测试报告的方法,包括:
S1:获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配。
本实施例中不同测试工具输出的测试报告的文件类型不同,比如,Testng框架的测试工具类型,对应测试报告的文件类型为xml文件;Jmeter框架的测试工具类型,对应测试报告的文件类型为jtl文件。
S2:根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式。
不同的文件类型的文件解析方法不同,本实施例的测试报告解析工具兼容解析各种文件类型,以便于及时查看和分析不同文件类型的测试报告的内容。本实施例通过在同一数据管理平台上配置多种文件类型分别对应的文件解析算法,以实现根据不同的文件类型调用对应格式的正则表达式。上述xml文件、jtl文件以及Excel文件等均为符合自动化测试规则形成的文件,均为比较难看懂的文件格式,内容较杂乱、繁琐,需要通过文件解析算法将其转换为简洁清晰的展示文件。
S3:通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功。
本实施例对测试报告的解析过程,为提取测试报告内所有的测试信息的过程,实现对测试报告中各种测试信息的提取,包括测试案例数、测试案例名称、测试案例编号、测试案例测试结果状态、错误信息栈、测试案例执行路径等。不同文件类型的测试报告,上述测试信息的排布规则不同,所以需要调用的正则表达式也不同。
S4:将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。
本实施例的预设终端包括测试平台的前端显示页面、数据处理平台的前端显示页面或指定系统的测试人员的工作页面等,以便满足用户可及时查看到自动化测试后的测试报告内的结果内容。本实施例的预设排布规则可根据用户预先设定的展示模式一致,以更符合用户的查阅习惯。
进一步地,所述测试工具类型为Testng框架,所述测试报告的文件类型为xml文件,xml文件中以标签格式标识各测试信息,所述通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤S3,包括:
S30:通过第一格式的正则表达式识别所述标签格式对应的标签信息,其中所述标签信息包括标签字符、标签字符的组合关系以及标签字符组合内包含的第一测试信息,所述标签字符、标签字符的组合关系与所述第一测试信息存在预设匹配关系。
本实施例以Testng框架的测试工具类型完成自动化测试后,输出的测试报告为xml文件为例。Testng是使用Java语言进行自动化测试案例开发的一套框架,使用Testng的关键是使用好他的一系列的注解,比如@BeforeTest、@AfterTest、@BeforeClass、@AfterClass等等,利用这些注解来实现执行案例时的一些顺序控制和传参等问题。xml文件中以标签格式标识各第一测试信息,包括开始标签和结束标签,以及位于开始标签和结束标签之间的第一测试信息。比如xml文件中的测试案例名称表示为“<a>测试案例名称</a>”,上述<a>测试案例名称</a>即为标签格式的第一测试信息,其中标签字符为<a>和</a>,标签字符的组合关系即<a>和</a>的一前一后配合使用的关系,标签字符组合内包含的第一测试信息为测试案例名称。
S31:根据所述标签字符和标签字符的组合关系,从所述标签字符组合内分别确定所述第一测试信息对应的开始字段和结束字段。
本实施例通过正则表达式识别开始标签和结束标签,以及根据开始标签和结束标签的预设匹配规则,确定位于开始标签和结束标签之间的第一测试信息的属性,进而确定第一测试信息具体的内容。本实施例通过识别开始标签的标签字符、结束标签的标签字符以及标签字符的组合关系,从标签字符组合内分别确定第一测试信息对应的开始字段和结束字段,以便准确提取位于开始标签和结束标签之间的第一测试信息。
S32:将所述开始字段与所述结束字段之间的所有字段分别提取出来并存储,以分离所述标签字符和所述第一测试信息。
本实施例通过识别开始标签和结束标签,确定标签内第一测试信息的属性,比如属于哪种数据,是测试案例名称还是测试案例的测试结果状态等,以便根据标签内第一测试信息的属性,将第一测试信息排布在可视化展示文件的对应位置;根据识别开始标签和结束标签,确定标签内第一测试信息的开始字符和结束字符,以便正确提取对应的第一测试信息。本申请另一实施例通过提取去除掉对应的标签字符,并将测试报告中除标签字符之外的第一测试信息,按照预设的排布方式进行位置调整,以形成可视化展示文件。
进一步地,在所述测试报告中包括多个第一测试案例的测试结果,所述测试报告包括多个相同的所述标签字符和标签字符的组合关系,相同的第一测试信息也包括多个,且按照先后提取时间同时存储于预设List中,所述将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤S4,包括:
S40:遍历所述List,以按照先后提取时间区分相同的第一测试信息,以将相同的第一测试信息分别与各所述第一测试案例分别对应。
本实施例为便于区分各第一测试信息的属性,将位于相同标签字符组合内的第一测试信息放于同一List内,以便区分各第一测试信息的属性,同一List内的属性相同,即对应的数据类型相同,比如均为测试案例名称等。同一List内的各第一测试信息按照先后提取时间依次从上到下排布于同一List内。上述出现数据类型相同为多个,分别对应于多个测试案例,比如三个测试案例名称,分别对应于三个第一测试案例。每个第一测试案例的自动测试时间不同,输出报告的时间也不同,通过文件解析算法提取第一测试信息的提取时间也不同,所以可通过时间段的对应关系,为各第一测试信息找到所属于的第一测试案例。
S41:将对应于同一个第一测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个第一测试案例。
本实施例的不同第一测试案例对应不同的存储区域,以便信息查询和信息整合,且便于传输过程的数据管理。
S42:将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件。
本实施例在数据传输前,将不同第一测试案例的对应的存储区域按照预设组合次序存放于同一个Map中,以便整体传送测试数据到指定终端的显示页面进行显示。上述Map可理解为存放多个所述指定存储区域的存储容器,以增加数据传输过程的方便管理性。
S43:将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
本实施例检测到数据发送至指定终端后,会自动打开上述Map,使各第一测试案例对应的测试信息,按照传输前的排布形式进行展示,实现展示和形成过程中的布局一致性,以便审查第一测试案例的各用户端观看的文件具有一致性,以便进行有效信息沟通。
进一步地,所述测试工具类型为Jmeter框架,所述测试报告的文件类型为jtl文件,jtl文件中以数据行格式标识各测试信息,所述通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤S3,包括:
S301:通过第二格式的正则表达式识别所述数据行格式对应的数据行信息,其中所述数据行信息包括数据行编号以及数据行编号对应的第二测试信息,所述数据行编号与所述第二测试信息存在预设匹配关系。
本实施例以Jmeter框架的测试工具类型完成自动化测试后,输出的测试报告为jtl文件为例。Jmeter是用于做接口测试和性能测试的工具,使用Jmeter可以减少对代码的编写,当然它也支持通过beanshell的方式进行代码编写。Jmeter可以通过对组件的添加和操作,实现自动化案例的开发。使用Jmeter执行自动化测试,生成的测试报告是jtl文件,jtl文件中的测试信息的记录方式和xml文件差别很大,无法像解析xml文件那样去解析jtl文件,所以解析算法有很大不同。解析jtl文件关键是要解析出每行httpSample中的各个属性。本实施例通过第二格式的正则表达式识别数据行格式对应的数据行信息,以分别获取每行httpSample中的各个属性。此处的“第二”仅用于区别“第一”,不用于限定,本申请其他处的类似用语作用相同,不赘述。
S302:根据所述数据行编号从所述数据行编号对应的数据行内提取所有字段并存储,以分离所述数据行编号和所述第二测试信息。
本实施例通过数据行编号,确定数据行编号对应行httpSample中的属性,比如属于哪种数据,是测试案例名称还是测试案例的测试结果状态等,以便根据数据行编号,将数据行编号对应的数据行内的第二测试信息提取出来,并排布在可视化展示文件的对应位置。本申请另一实施例通过提取并去除掉对应的数据行编号,并将测试报告中除数据行编号之外的第二测试信息,按照预设的排布方式进行位置调整,以形成可视化展示文件。
进一步地,在所述测试报告中包括多个第二测试案例的测试结果,所述测试报告包括多个相同的所述数据行编号,相同的第二测试信息也包括多个,且按照先后提取时间同时存储于预设List中,所述将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤S4,包括:
S401:遍历所述List,以按照先后提取时间区分相同的第二测试信息,以将相同的第二测试信息分别与各所述第二测试案例分别对应。
本实施例为便于区分各第二测试信息的属性,将位于相同数据行编号内的第二测试信息放于同一List内,以便区分各第二测试信息的属性,同一List内的属性相同,即对应的数据类型相同,比如均为测试案例名称等。同一List内的各第一测试信息按照先后提取时间依次从上到下排布于同一List内。上述出现数据类型相同为多个,分别对应于多个测试案例,比如三个测试案例名称,分别对应于三个第二测试案例。每个第二测试案例的自动测试时间不同,输出报告的时间也不同,通过文件解析算法提取第二测试信息的提取时间也不同,所以可通过时间段的对应关系,为各第二测试信息找到所属于的第二测试案例。
S402:将对应于同一个所述第二测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个所述第二测试案例。
本实施例的不同第二测试案例对应不同的存储区域,以便信息查询和信息整合,且便于传输过程的数据管理。
S403:将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件。
本实施例在数据传输前,将不同第二测试案例的对应的存储区域按照预设组合次序存放于同一个Map中,以便整体传送测试数据到指定终端的显示页面进行显示。上述Map可理解为存放多个所述指定存储区域的存储容器,以增加数据传输过程的方便管理性。
S404:将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
本实施例检测到数据发送至指定终端后,会自动打开上述Map,使各第二测试案例对应的测试信息,按照传输前的排布形式进行展示,实现展示和形成过程中的布局一致性,以便审查第二测试案例的各用户端观看的文件具有一致性,以便进行有效信息沟通。本实施例支持通过自动发送邮件等方式将传输文件发送至指定终端进行显示。
进一步地,所述预设终端包括前端显示页面,所述将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示的步骤S43或S404,包括:
S430:接收后台传送的所述传输文件,并按照所述预设组合次序解析所述传输文件,得到各测试案例分别对应的测试信息。
本实施例将数据由后台传送至前端进行显示时,按照形成传输文件的预设组合次序解析该文件,以解析出各测试案例分别对应的测试信息,以提高数据处理的有序性。
S431:将各测试案例分别对应的测试信息,分别存放于指定样式的Form表单中,以形成可视化文件进行展示。
本实施例通过将各测试案例分别对应的测试信息放于指定样式的Form表单中,以增加可视化文件的展示效果,使展示页面呈现的测试信息更加清晰明确,展示效果更加友好和美观。
进一步地,所述测试案例的测试报告来自Jenkins集成工具,所述获取测试案例的测试报告的文件类型的步骤S1之前,包括:
S101:监听所述Jenkins集成工具的预建立Job是否存在新构建记录,其中所述新构建记录为所述新构建记录为上一次从所述Jenkins集成工具获取所述测试报告后,所述Job执行自动化测试后的形成新测试报告的记录过程。
本实施例的测试报告来源于Jenkins集成工具,Jenkins集成工具中集成了多种测试框架的自动化测试工具,以满足不同的自动化测试要求。Jenkins是做具体的自动化测试案例的Job执行的。通过在Jenkins上会新建一个Job,则此Job会依次完成以下工作:监测保存自动化测试代码的svn地址是否有代码更新,若有则触发Job的运行;检测Job是否运行完毕,若运行完毕则从svn上筛选出最新的自动化测试案例的代码到指定执行机上,若没有指定执行机,则会筛选到master本地上;检查自动化测试案例的代码正确后,会执行ant命令,ant命令会扫描build.xml文件,该文件标识了一系列的自动化测试操作,包括编译、打包、执行Testng测试等;Testng执行完毕后,会生成测试报告,Job会把测试报告放在检出存储空间下,方便用户查看。Jenkins完成上面一系列自动化测试工作后,对应的Job实际就完成了一次最新构建记录,在Jenkins上就有了该Job的最新构建记录。
S102:根据所述新构建记录同步更新待展示的测试报告,其中所述新构建记录包括新测试报告以及新测试报告对应的文件类型。
本实施例的数据处理平台支持实时刷新与Jenkins上最新Job的最新构建记录同步,也就是会获取到Jenkins上的最新job的最新构建记录,并将最新构建记录对应的测试报告传回到数据处理平台,从而更新数据处理平台上的测试信息,为测试人员实时查看测试报告提供了极大的方便。
本实施例通过在同一数据管理平台上配置多种文件类型分别对应的文件解析算法,以实现根据不同的文件类型调用对应格式的正则表达式,同时实现Testng框架的测试工具类型的xml文件,Jmeter框架的测试工具类型的jtl文件等自动解析并友好展示的效果,使各种自动化测试规则形成的比较难看懂的文件格式,通过文件解析算法将其转换为简洁清晰的展示文件,更易于测试人员进行查看和分析测试数据,避免了自动化测试报告内容较杂乱、繁琐的局面。本申请通过不同测试案例对应不同的存储区域,以便信息查询和信息整合,且便于传输过程的数据管理;并在数据传输前,将不同测试案例的对应的存储区域按照预设组合次序存放于同一个Map中,以便整体传送测试数据到指定终端的显示页面进行显示,以增加数据传输过程的方便管理性,且通过解析实现友好展示界面,支持可视化查看报告结果。本申请的数据处理平台支持实时刷新与Jenkins上最新Job的最新构建记录同步,为测试人员实时查看测试报告提供了极大的方便。
参照图2,本申请一实施例的展示测试报告的装置,包括:
获取模块1,用于获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配。
本实施例中不同测试工具输出的测试报告的文件类型不同,比如,Testng框架的测试工具类型,对应测试报告的文件类型为xml文件;Jmeter框架的测试工具类型,对应测试报告的文件类型为jtl文件。
选择模块2,用于根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式。
不同的文件类型的文件解析方法不同,本实施例的测试报告解析工具兼容解析各种文件类型,以便于及时查看和分析不同文件类型的测试报告的内容。本实施例通过在同一数据管理平台上配置多种文件类型分别对应的文件解析算法,以实现根据不同的文件类型调用对应格式的正则表达式。上述xml文件、jtl文件以及Excel文件等均为符合自动化测试规则形成的文件,均为比较难看懂的文件格式,内容较杂乱、繁琐,需要通过文件解析算法将其转换为简洁清晰的展示文件。
提取模块3,用于通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功。
本实施例的对测试报告的解析过程,为提取测试报告内所有的测试信息的过程,实现对测试报告中各种测试信息的提取,包括测试案例数、测试案例名称、测试案例编号、测试案例测试结果状态、错误信息栈、测试案例执行路径等。不同文件类型的测试报告,上述测试信息的排布规则不同,所以需要调用的正则表达式也不同。
展示模块4,用于将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。
本实施例的预设终端包括测试平台的前端显示页面、数据处理平台的前端显示页面或指定系统的测试人员的工作页面等,以便满足用户可及时查看到自动化测试后的测试报告内的结果内容。本实施例的预设排布规则可根据用户预先设定的展示模式一致,以更符合用户的查阅习惯。
进一步地,所述测试工具类型为Testng框架,所述测试报告的文件类型为xml文件,xml文件中以标签格式标识各测试信息,所述提取模块3,包括:
第一识别单元,用于通过第一格式的正则表达式识别所述标签格式对应的标签信息,其中所述标签信息包括标签字符、标签字符的组合关系以及标签字符组合内包含的第一测试信息,所述标签字符、标签字符的组合关系与所述第一测试信息存在预设匹配关系。
本实施例以Testng框架的测试工具类型完成自动化测试后,输出的测试报告为xml文件为例。Testng是使用Java语言进行自动化测试案例开发的一套框架,使用Testng的关键是使用好他的一系列的注解,比如@BeforeTest、@AfterTest、@BeforeClass、@AfterClass等等,利用这些注解来实现执行案例时的一些顺序控制和传参等问题。xml文件中以标签格式标识各第一测试信息,包括开始标签和结束标签,以及位于开始标签和结束标签之间的第一测试信息。比如xml文件中的测试案例名称表示为“<a>测试案例名称</a>”,上述<a>测试案例名称</a>即为标签格式的第一测试信息,其中标签字符为<a>和</a>,标签字符的组合关系即<a>和</a>的一前一后配合使用的关系,标签字符组合内包含的第一测试信息为测试案例名称。
确定单元,用于根据所述标签字符和标签字符的组合关系,从所述标签字符组合内分别确定所述第一测试信息对应的开始字段和结束字段。
本实施例通过正则表达式识别开始标签和结束标签,以及根据开始标签和结束标签的预设匹配规则,确定位于开始标签和结束标签之间的第一测试信息的属性,进而确定第一测试信息具体的内容。本实施例通过识别开始标签的标签字符、结束标签的标签字符以及标签字符的组合关系,从标签字符组合内分别确定第一测试信息对应的开始字段和结束字段,以便准确提取位于开始标签和结束标签之间的第一测试信息。
第一提取单元,用于将所述开始字段与所述结束字段之间的所有字段分别提取出来并存储,以分离所述标签字符和所述第一测试信息。
本实施例通过识别开始标签和结束标签,确定标签内第一测试信息的属性,比如属于哪种数据,是测试案例名称还是测试案例的测试结果状态等,以便根据标签内第一测试信息的属性,将第一测试信息排布在可视化展示文件的对应位置;根据识别开始标签和结束标签,确定标签内第一测试信息的开始字符和结束字符,以便正确提取对应的第一测试信息。本申请另一实施例通过提取并去除掉对应的标签字符,并将测试报告中除标签字符之外的第一测试信息,按照预设的排布方式进行位置调整,以形成可视化展示文件。
进一步地,在所述测试报告中包括多个第一测试案例的测试结果,所述测试报告包括多个相同的所述标签字符和标签字符的组合关系,相同的第一测试信息也包括多个,且按照先后提取时间同时存储于预设List中,所述展示模块4,包括:
第一区分单元,用于遍历所述List,以按照先后提取时间区分相同的第一测试信息,以将相同的第一测试信息分别与各所述第一测试案例分别对应。
本实施例为便于区分各第一测试信息的属性,将位于相同标签字符组合内的第一测试信息放于同一List内,以便区分各第一测试信息的属性,同一List内的属性相同,即对应的数据类型相同,比如均为测试案例名称等。同一List内的各第一测试信息按照先后提取时间依次从上到下排布于同一List内。上述出现数据类型相同为多个,分别对应于多个测试案例,比如三个测试案例名称,分别对应于三个第一测试案例。每个第一测试案例的自动测试时间不同,输出报告的时间也不同,通过文件解析算法提取第一测试信息的提取时间也不同,所以可通过时间段的对应关系,为各第一测试信息找到所属于的第一测试案例。
第一统计单元,用于将对应于同一个第一测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个第一测试案例。
本实施例的不同第一测试案例对应不同的存储区域,以便信息查询和信息整合,且便于传输过程的数据管理。
第一存放单元,用于将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件。
本实施例在数据传输前,将不同第一测试案例的对应的存储区域按照预设组合次序存放于同一个Map中,以便整体传送测试数据到指定终端的显示页面进行显示。上述Map可理解为存放多个所述指定存储区域的存储容器,以增加数据传输过程的方便管理性。
第一形成单元,用于将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
本实施例检测到数据发送至指定终端后,会自动打开上述Map,使各第一测试案例对应的测试信息,按照传输前的排布形式进行展示,实现展示和形成过程中的布局一致性,以便审查第一测试案例的各用户端观看的文件具有一致性,以便进行有效信息沟通。
进一步地,所述测试工具类型为Jmeter框架,所述测试报告的文件类型为jtl文件,jtl文件中以数据行格式标识各测试信息,所述提取模块3,包括:
第二识别单元,用于通过第二格式的正则表达式识别所述数据行格式对应的数据行信息,其中所述数据行信息包括数据行编号以及数据行编号对应的第二测试信息,所述数据行编号与所述第二测试信息存在预设匹配关系。
本实施例以Jmeter框架的测试工具类型完成自动化测试后,输出的测试报告为jtl文件为例。Jmeter是用于做接口测试和性能测试的工具,使用Jmeter可以减少对代码的编写,当然它也支持通过beanshell的方式进行代码编写。Jmeter可以通过对组件的添加和操作,实现自动化案例的开发。使用Jmeter执行自动化测试,生成的测试报告是jtl文件,jtl文件中的测试信息的记录方式和xml文件差别很大,无法像解析xml文件那样去解析jtl文件,所以解析算法有很大不同。解析jtl文件关键是要解析出每行httpSample中的各个属性。本实施例通过第二格式的正则表达式识别数据行格式对应的数据行信息,以分别获取每行httpSample中的各个属性。此处的“第二”仅用于区别“第一”,不用于限定,本申请其他处的类似用语作用相同,不赘述。
第二提取单元,用于根据所述数据行编号从所述数据行编号对应的数据行内提取所有字段并存储,以分离所述数据行编号和所述第二测试信息。
本实施例通过数据行编号,确定数据行编号对应行httpSample中的属性,比如属于哪种数据,是测试案例名称还是测试案例的测试结果状态等,以便根据数据行编号,将数据行编号对应的数据行内的第二测试信息提取出来,并排布在可视化展示文件的对应位置。本申请另一实施例通过提取去除掉对应的数据行编号,并将测试报告中除数据行编号之外的第二测试信息,按照预设的排布方式进行位置调整,以形成可视化展示文件。
进一步地,在所述测试报告中包括多个第二测试案例的测试结果,所述测试报告包括多个相同的所述数据行编号,相同的第二测试信息也包括多个,且按照先后提取时间同时存储于预设List中,所述展示模块4,包括:
第二区分单元,用于遍历所述List,以按照先后提取时间区分相同的第二测试信息,以将相同的第二测试信息分别与各所述第二测试案例分别对应。
本实施例为便于区分各第二测试信息的属性,将位于相同数据行编号内的第二测试信息放于同一List内,以便区分各第二测试信息的属性,同一List内的属性相同,即对应的数据类型相同,比如均为测试案例名称等。同一List内的各第一测试信息按照先后提取时间依次从上到下排布于同一List内。上述出现数据类型相同为多个,分别对应于多个测试案例,比如三个测试案例名称,分别对应于三个第二测试案例。每个第二测试案例的自动测试时间不同,输出报告的时间也不同,通过文件解析算法提取第二测试信息的提取时间也不同,所以可通过时间段的对应关系,为各第二测试信息找到所属于的第二测试案例。
第二统计单元,用于将对应于同一个所述第二测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个所述第二测试案例。
本实施例的不同第二测试案例对应不同的存储区域,以便信息查询和信息整合,且便于传输过程的数据管理。
第二存放单元,用于将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件。
本实施例在数据传输前,将不同第二测试案例的对应的存储区域按照预设组合次序存放于同一个Map中,以便整体传送测试数据到指定终端的显示页面进行显示。上述Map可理解为存放多个所述指定存储区域的存储容器,以增加数据传输过程的方便管理性。
第二形成单元,用于将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
本实施例检测到数据发送至指定终端后,会自动打开上述Map,使各第二测试案例对应的测试信息,按照传输前的排布形式进行展示,实现展示和形成过程中的布局一致性,以便审查第二测试案例的各用户端观看的文件具有一致性,以便进行有效信息沟通。本实施例支持通过自动发送邮件等方式将传输文件发送至指定终端进行显示。
进一步地,所述预设终端包括前端显示页面,所述第一形成单元或第二形成单元,包括:
接收子单元,用于接收后台传送的所述传输文件,并按照所述预设组合次序解析所述传输文件,得到各测试案例分别对应的测试信息。
本实施例将数据由后台传送至前端进行显示时,按照形成传输文件的预设组合次序解析该文件,以解析出各测试案例分别对应的测试信息,以提高数据处理的有序性。
对应子单元,用于将各测试案例分别对应的测试信息,分别存放于指定样式的Form表单中,以形成可视化文件进行展示。
本实施例通过将各测试案例分别对应的测试信息放于指定样式的Form表单中,以增加可视化文件的展示效果,使展示页面呈现的测试信息更加清晰明确,展示效果更加友好和美观。
进一步地,所述测试案例的测试报告来自Jenkins集成工具,所述展示测试报告的装置,包括:
监听模块,用于监听所述Jenkins集成工具的预建立Job是否存在新构建记录,其中所述新构建记录为所述新构建记录为上一次从所述Jenkins集成工具获取所述测试报告后,所述Job执行自动化测试后的形成新测试报告的记录过程。
本实施例的测试报告来源于Jenkins集成工具,Jenkins集成工具中集成了多种测试框架的自动化测试工具,以满足不同的自动化测试要求。Jenkins是做具体的自动化测试案例的Job执行的。通过在Jenkins上会新建一个Job,则此Job会依次完成以下工作:监测保存自动化测试代码的svn地址是否有代码更新,若有则触发Job的运行;检测Job是否运行完毕,若运行完毕则从svn上筛选出最新的自动化测试案例的代码到指定执行机上,若没有指定执行机,则会筛选到master本地上;检查自动化测试案例的代码正确后,会执行ant命令,ant命令会扫描build.xml文件,该文件标识了一系列的自动化测试操作,包括编译、打包、执行Testng测试等;Testng执行完毕后,会生成测试报告,Job会把测试报告放在检出存储空间下,方便用户查看。Jenkins完成上面一系列自动化测试工作后,对应的Job实际就完成了一次最新构建记录,在Jenkins上就有了该Job的最新构建记录。
更新模块,用于根据所述新构建记录同步更新待展示的测试报告,其中所述新构建记录包括新测试报告以及新测试报告对应的文件类型。
本实施例的数据处理平台支持实时刷新与Jenkins上最新Job的最新构建记录同步,也就是会获取到Jenkins上的最新job的最新构建记录,并将最新构建记录对应的测试报告传回到数据处理平台,从而更新数据处理平台上的测试信息,为测试人员实时查看测试报告提供了极大的方便。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储展示测试报告的过程需要的所有数据。该计算机设备的网络接口用于与外部的端通过网络连接通信。该计算机程序被处理器执行时以实现展示测试报告的方法。
上述处理器执行上述展示测试报告的方法,包括:获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配;根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式;通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功;将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。
上述计算机设备,通过在同一数据管理平台上配置多种文件类型分别对应的文件解析算法,以实现根据不同的文件类型调用对应格式的正则表达式,同时实现Testng框架的测试工具类型的xml文件,Jmeter框架的测试工具类型的jtl文件等自动解析并友好展示的效果,使各种自动化测试规则形成的比较难看懂的文件格式,通过文件解析算法将其转换为简洁清晰的展示文件,更易于测试人员进行查看和分析测试数据,避免了自动化测试报告内容较杂乱、繁琐的局面。通过不同测试案例对应不同的存储区域,以便信息查询和信息整合,且便于传输过程的数据管理;并在数据传输前,将不同测试案例的对应的存储区域按照预设组合次序存放于同一个Map中,以便整体传送测试数据到指定终端的显示页面进行显示,以增加数据传输过程的方便管理性,且通过解析实现友好展示界面,支持可视化查看报告结果。数据处理平台支持实时刷新与Jenkins上最新Job的最新构建记录同步,为测试人员实时查看测试报告提供了极大的方便。
在一个实施例中,所述测试工具类型为Testng框架,所述测试报告的文件类型为xml文件,xml文件中以标签格式标识各测试信息,上述处理器通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤,包括:
通过第一格式的正则表达式识别所述标签格式对应的标签信息,其中所述标签信息包括标签字符、标签字符的组合关系以及标签字符组合内包含的第一测试信息,所述标签字符、标签字符的组合关系与所述第一测试信息存在预设匹配关系;根据所述标签字符和标签字符的组合关系,从所述标签字符组合内分别确定所述第一测试信息对应的开始字段和结束字段;将所述开始字段与所述结束字段之间的所有字段提取出来并存储,以分离所述标签字符和所述第一测试信息。
在一个实施例中,在所述测试报告中包括多个第一测试案例的测试结果,所述测试报告包括多个相同的所述标签字符和标签字符的组合关系,相同的第一测试信息也包括多个,且按照先后提取时间同时存储于预设List中,上述处理器将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤,包括:遍历所述List,以按照先后提取时间区分相同的第一测试信息,以将相同的第一测试信息分别与各所述第一测试案例分别对应;将对应于同一个第一测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个第一测试案例;将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件;将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
在一个实施例中,所述测试工具类型为Jmeter框架,所述测试报告的文件类型为jtl文件,jtl文件中以数据行格式标识各测试信息,上述处理器通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤,包括:通过第二格式的正则表达式识别所述数据行格式对应的数据行信息,其中所述数据行信息包括数据行编号以及数据行编号对应的第二测试信息,所述数据行编号与所述第二测试信息存在预设匹配关系;根据所述数据行编号从所述数据行编号对应的数据行内提取所有字段并存储,以分离所述数据行编号和所述第二测试信息。
在一个实施例中,在所述测试报告中包括多个第二测试案例的测试结果,所述测试报告包括多个相同的所述数据行编号,相同的第二测试信息也包括多个,且按照先后提取时间同时存储于预设List中,上述处理器将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤,包括:
遍历所述List,以按照先后提取时间区分相同的第二测试信息,以将相同的第二测试信息分别与各所述第二测试案例分别对应;将对应于同一个所述第二测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个所述第二测试案例;将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件;将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
在一个实施例中,所述预设终端包括前端显示页面,上述处理器将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示的步骤,包括:接收后台传送的所述传输文件,并按照所述预设组合次序解析所述传输文件,得到各测试案例分别对应的测试信息;将各测试案例分别对应的测试信息,分别存放于指定样式的Form表单中,以形成可视化文件进行展示。
在一个实施例中,所述测试案例的测试报告来自Jenkins集成工具,上述处理器获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配的步骤之前,包括:监听所述Jenkins集成工具的预建立Job是否存在新构建记录,其中所述新构建记录为所述新构建记录为上一次从所述Jenkins集成工具获取所述测试报告后,所述Job执行自动化测试后的形成新测试报告的记录过程;根据所述新构建记录同步更新待展示的测试报告,其中所述新构建记录包括新测试报告以及新测试报告对应的文件类型。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现展示测试报告的方法,包括:获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配;根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式;通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功;将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。
上述计算机可读存储介质,通过在同一数据管理平台上配置多种文件类型分别对应的文件解析算法,以实现根据不同的文件类型调用对应格式的正则表达式,同时实现Testng框架的测试工具类型的xml文件,Jmeter框架的测试工具类型的jtl文件等自动解析并友好展示的效果,使各种自动化测试规则形成的比较难看懂的文件格式,通过文件解析算法将其转换为简洁清晰的展示文件,更易于测试人员进行查看和分析测试数据,避免了自动化测试报告内容较杂乱、繁琐的局面。通过不同测试案例对应不同的存储区域,以便信息查询和信息整合,且便于传输过程的数据管理;并在数据传输前,将不同测试案例的对应的存储区域按照预设组合次序存放于同一个Map中,以便整体传送测试数据到指定终端的显示页面进行显示,以增加数据传输过程的方便管理性,且通过解析实现友好展示界面,支持可视化查看报告结果。数据处理平台支持实时刷新与Jenkins上最新Job的最新构建记录同步,为测试人员实时查看测试报告提供了极大的方便。
在一个实施例中,所述测试工具类型为Testng框架,所述测试报告的文件类型为xml文件,xml文件中以标签格式标识各测试信息,上述处理器通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤,包括:
通过第一格式的正则表达式识别所述标签格式对应的标签信息,其中所述标签信息包括标签字符、标签字符的组合关系以及标签字符组合内包含的第一测试信息,所述标签字符、标签字符的组合关系与所述第一测试信息存在预设匹配关系;根据所述标签字符和标签字符的组合关系,从所述标签字符组合内分别确定所述第一测试信息对应的开始字段和结束字段;将所述开始字段与所述结束字段之间的所有字段提取出来并存储,以分离所述标签字符和所述第一测试信息。
在一个实施例中,在所述测试报告中包括多个第一测试案例的测试结果,所述测试报告包括多个相同的所述标签字符和标签字符的组合关系,相同的第一测试信息也包括多个,且按照先后提取时间同时存储于预设List中,上述处理器将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤,包括:遍历所述List,以按照先后提取时间区分相同的第一测试信息,以将相同的第一测试信息分别与各所述第一测试案例分别对应;将对应于同一个第一测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个第一测试案例;将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件;将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
在一个实施例中,所述测试工具类型为Jmeter框架,所述测试报告的文件类型为jtl文件,jtl文件中以数据行格式标识各测试信息,上述处理器通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤,包括:通过第二格式的正则表达式识别所述数据行格式对应的数据行信息,其中所述数据行信息包括数据行编号以及数据行编号对应的第二测试信息,所述数据行编号与所述第二测试信息存在预设匹配关系;根据所述数据行编号从所述数据行编号对应的数据行内提取所有字段并存储,以分离所述数据行编号和所述第二测试信息。
在一个实施例中,在所述测试报告中包括多个第二测试案例的测试结果,所述测试报告包括多个相同的所述数据行编号,相同的第二测试信息也包括多个,且按照先后提取时间同时存储于预设List中,上述处理器将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤,包括:
遍历所述List,以按照先后提取时间区分相同的第二测试信息,以将相同的第二测试信息分别与各所述第二测试案例分别对应;将对应于同一个所述第二测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个所述第二测试案例;将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件;将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
在一个实施例中,所述预设终端包括前端显示页面,上述处理器将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示的步骤,包括:接收后台传送的所述传输文件,并按照所述预设组合次序解析所述传输文件,得到各测试案例分别对应的测试信息;将各测试案例分别对应的测试信息,分别存放于指定样式的Form表单中,以形成可视化文件进行展示。
在一个实施例中,所述测试案例的测试报告来自Jenkins集成工具,上述处理器获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配的步骤之前,包括:监听所述Jenkins集成工具的预建立Job是否存在新构建记录,其中所述新构建记录为所述新构建记录为上一次从所述Jenkins集成工具获取所述测试报告后,所述Job执行自动化测试后的形成新测试报告的记录过程;根据所述新构建记录同步更新待展示的测试报告,其中所述新构建记录包括新测试报告以及新测试报告对应的文件类型。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种展示测试报告的方法,其特征在于,包括:
获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配;
根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式;
通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功;
将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。
2.根据权利要求1所述的展示测试报告的方法,其特征在于,所述测试工具类型为Testng框架,所述测试报告的文件类型为xml文件,xml文件中以标签格式标识各测试信息,所述通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤,包括:
通过第一格式的正则表达式识别所述标签格式对应的标签信息,其中所述标签信息包括标签字符、标签字符的组合关系以及标签字符组合内包含的第一测试信息,所述标签字符、标签字符的组合关系与所述第一测试信息存在预设匹配关系;
根据所述标签字符和标签字符的组合关系,从所述标签字符组合内分别确定所述第一测试信息对应的开始字段和结束字段;
将所述开始字段与所述结束字段之间的所有字段提取出来并存储,以分离所述标签字符和所述第一测试信息。
3.根据权利要求2所述的展示测试报告的方法,其特征在于,在所述测试报告中包括多个第一测试案例的测试结果,所述测试报告包括多个相同的所述标签字符和标签字符的组合关系,相同的第一测试信息也包括多个,且按照先后提取时间同时存储于预设List中,所述将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤,包括:
遍历所述List,以按照先后提取时间区分相同的第一测试信息,以将相同的第一测试信息分别与各所述第一测试案例分别对应;
将对应于同一个第一测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个第一测试案例;
将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件;
将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
4.根据权利要求1所述的展示测试报告的方法,其特征在于,所述测试工具类型为Jmeter框架,所述测试报告的文件类型为jtl文件,jtl文件中以数据行格式标识各测试信息,所述通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息的步骤,包括:
通过第二格式的正则表达式识别所述数据行格式对应的数据行信息,其中所述数据行信息包括数据行编号以及数据行编号对应的第二测试信息,所述数据行编号与所述第二测试信息存在预设匹配关系;
根据所述数据行编号从所述数据行编号对应的数据行内提取所有字段并存储,以分离所述数据行编号和所述第二测试信息。
5.根据权利要求4所述的展示测试报告的方法,其特征在于,在所述测试报告中包括多个第二测试案例的测试结果,所述测试报告包括多个相同的所述数据行编号,相同的第二测试信息也包括多个,且按照先后提取时间同时存储于预设List中,所述将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示的步骤,包括:
遍历所述List,以按照先后提取时间区分相同的第二测试信息,以将相同的第二测试信息分别与各所述第二测试案例分别对应;
将对应于同一个所述第二测试案例的所有第一测试信息进行统计整合,并存放于指定存储区域,其中一个所述指定存储区域对应同一个所述第二测试案例;
将多个所述指定存储区域按照预设组合次序存放于同一个Map中,以形成传输文件;
将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示。
6.根据权利要求3或5所述的展示测试报告的方法,其特征在于,所述预设终端包括前端显示页面,所述将所述传输文件传输至预设终端,并按照所述预设组合次序分别形成可视化文件进行展示的步骤,包括:
接收后台传送的所述传输文件,并按照所述预设组合次序解析所述传输文件,得到各测试案例分别对应的测试信息;
将各测试案例分别对应的测试信息,分别存放于指定样式的Form表单中,以形成可视化文件进行展示。
7.根据权利要求1所述的展示测试报告的方法,其特征在于,所述测试案例的测试报告来自Jenkins集成工具,所述获取测试案例的测试报告的文件类型的步骤之前,包括:
监听所述Jenkins集成工具的预建立Job是否存在新构建记录,其中所述新构建记录为所述新构建记录为上一次从所述Jenkins集成工具获取所述测试报告后,所述Job执行自动化测试后的形成新测试报告的记录过程;
根据所述新构建记录同步更新待展示的测试报告,其中所述新构建记录包括新测试报告以及新测试报告对应的文件类型。
8.一种展示测试报告的装置,其特征在于,包括:
获取模块,用于获取测试案例的测试报告的文件类型,其中所述文件类型与输出所述测试报告的测试工具类型相匹配;
选择模块,用于根据所述文件类型选择与所述文件类型对应的文件解析算法,其中所述文件解析算法包括预设格式的正则表达式;
提取模块,用于通过所述正则表达式按照预设解析规则,分别提取所述测试报告内所有的测试信息,其中,所述测试信息包括测试案例名称、测试案例编号、测试案例测试结果状态和测试案例执行路径,所述测试案例测试结果状态包括测试失败和测试成功;
展示模块,用于将所有测试信息传输至预设终端,并按照预设排布规则形成可视化文件进行展示。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811532035.4A CN109697150A (zh) | 2018-12-14 | 2018-12-14 | 展示测试报告的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811532035.4A CN109697150A (zh) | 2018-12-14 | 2018-12-14 | 展示测试报告的方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109697150A true CN109697150A (zh) | 2019-04-30 |
Family
ID=66231654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811532035.4A Pending CN109697150A (zh) | 2018-12-14 | 2018-12-14 | 展示测试报告的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109697150A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413517A (zh) * | 2019-07-17 | 2019-11-05 | 北京达佳互联信息技术有限公司 | 一种测试报告生成方法、装置、电子设备和存储介质 |
CN111008150A (zh) * | 2019-12-23 | 2020-04-14 | 杭州迪普科技股份有限公司 | 一种测试报告生成方法、装置及设备 |
CN111367582A (zh) * | 2020-03-06 | 2020-07-03 | 上海赋华网络科技有限公司 | 一种高性能识别文件类型的方法 |
CN111506341A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 一种软件配置信息检测方法、装置及系统 |
CN112307152A (zh) * | 2019-08-29 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 一种数据解析方法、装置、电子设备及存储介质 |
CN112799934A (zh) * | 2020-10-16 | 2021-05-14 | 佛山欧神诺云商科技有限公司 | 接口测试方法、终端以及存储装置 |
CN113033165A (zh) * | 2019-12-24 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 电子表格文件解析方法、装置和计算机可读存储介质 |
CN113110998A (zh) * | 2021-04-23 | 2021-07-13 | 中国邮政储蓄银行股份有限公司 | 接口测试报告的生成方法和生成装置 |
CN113268555A (zh) * | 2021-05-26 | 2021-08-17 | 深圳市有方科技股份有限公司 | 多类型数据的地图生成方法、装置和计算机设备 |
CN113495819A (zh) * | 2020-03-20 | 2021-10-12 | 北京新能源汽车股份有限公司 | 一种整车测试报告的处理方法、装置及电动汽车 |
CN113822046A (zh) * | 2021-09-29 | 2021-12-21 | 平安银行股份有限公司 | 基于cucumber测试案例的解析方法、装置、设备及存储介质 |
CN113495819B (zh) * | 2020-03-20 | 2024-10-25 | 北京新能源汽车股份有限公司 | 一种整车测试报告的处理方法、装置及电动汽车 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8028276B1 (en) * | 2007-06-29 | 2011-09-27 | Oracle America, Inc. | Method and system for generating a test file |
CN103377406A (zh) * | 2012-04-25 | 2013-10-30 | 富泰华工业(深圳)有限公司 | 测试文件管理系统及方法 |
CN105447099A (zh) * | 2015-11-11 | 2016-03-30 | 中国建设银行股份有限公司 | 日志结构化信息提取方法及装置 |
CN108415832A (zh) * | 2018-02-07 | 2018-08-17 | 平安科技(深圳)有限公司 | 接口自动化测试方法、装置、设备及存储介质 |
CN108763083A (zh) * | 2018-05-30 | 2018-11-06 | 平安普惠企业管理有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
-
2018
- 2018-12-14 CN CN201811532035.4A patent/CN109697150A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8028276B1 (en) * | 2007-06-29 | 2011-09-27 | Oracle America, Inc. | Method and system for generating a test file |
CN103377406A (zh) * | 2012-04-25 | 2013-10-30 | 富泰华工业(深圳)有限公司 | 测试文件管理系统及方法 |
CN105447099A (zh) * | 2015-11-11 | 2016-03-30 | 中国建设银行股份有限公司 | 日志结构化信息提取方法及装置 |
CN108415832A (zh) * | 2018-02-07 | 2018-08-17 | 平安科技(深圳)有限公司 | 接口自动化测试方法、装置、设备及存储介质 |
CN108763083A (zh) * | 2018-05-30 | 2018-11-06 | 平安普惠企业管理有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413517A (zh) * | 2019-07-17 | 2019-11-05 | 北京达佳互联信息技术有限公司 | 一种测试报告生成方法、装置、电子设备和存储介质 |
CN112307152A (zh) * | 2019-08-29 | 2021-02-02 | 北京字节跳动网络技术有限公司 | 一种数据解析方法、装置、电子设备及存储介质 |
CN111008150A (zh) * | 2019-12-23 | 2020-04-14 | 杭州迪普科技股份有限公司 | 一种测试报告生成方法、装置及设备 |
CN111008150B (zh) * | 2019-12-23 | 2024-03-22 | 杭州迪普科技股份有限公司 | 一种测试报告生成方法、装置及设备 |
CN113033165A (zh) * | 2019-12-24 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 电子表格文件解析方法、装置和计算机可读存储介质 |
CN113033165B (zh) * | 2019-12-24 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 电子表格文件解析方法、装置和计算机可读存储介质 |
CN111367582B (zh) * | 2020-03-06 | 2023-08-25 | 上海赋华网络科技有限公司 | 一种高性能识别文件类型的方法 |
CN111367582A (zh) * | 2020-03-06 | 2020-07-03 | 上海赋华网络科技有限公司 | 一种高性能识别文件类型的方法 |
CN113495819B (zh) * | 2020-03-20 | 2024-10-25 | 北京新能源汽车股份有限公司 | 一种整车测试报告的处理方法、装置及电动汽车 |
CN113495819A (zh) * | 2020-03-20 | 2021-10-12 | 北京新能源汽车股份有限公司 | 一种整车测试报告的处理方法、装置及电动汽车 |
CN111506341B (zh) * | 2020-04-21 | 2023-11-03 | 北京同邦卓益科技有限公司 | 一种软件配置信息检测方法、装置及系统 |
CN111506341A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 一种软件配置信息检测方法、装置及系统 |
CN112799934A (zh) * | 2020-10-16 | 2021-05-14 | 佛山欧神诺云商科技有限公司 | 接口测试方法、终端以及存储装置 |
CN113110998A (zh) * | 2021-04-23 | 2021-07-13 | 中国邮政储蓄银行股份有限公司 | 接口测试报告的生成方法和生成装置 |
CN113268555A (zh) * | 2021-05-26 | 2021-08-17 | 深圳市有方科技股份有限公司 | 多类型数据的地图生成方法、装置和计算机设备 |
CN113268555B (zh) * | 2021-05-26 | 2024-05-14 | 深圳市有方科技股份有限公司 | 多类型数据的地图生成方法、装置和计算机设备 |
CN113822046A (zh) * | 2021-09-29 | 2021-12-21 | 平安银行股份有限公司 | 基于cucumber测试案例的解析方法、装置、设备及存储介质 |
CN113822046B (zh) * | 2021-09-29 | 2024-06-25 | 平安银行股份有限公司 | 基于cucumber测试案例的解析方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109697150A (zh) | 展示测试报告的方法、装置、计算机设备及存储介质 | |
CN110399293B (zh) | 系统测试方法、装置、计算机设备和存储介质 | |
KR101214195B1 (ko) | 특히, 전기통신 네트워크에서 중재를 위한 작업흐름 모델의 자동 생성 방법 | |
CN107832206A (zh) | 测试方法、装置、计算机可读存储介质和计算机设备 | |
CN108108297A (zh) | 自动化测试的方法和装置 | |
CA3152833C (en) | Webpage editing method and device | |
JP5134684B2 (ja) | ウェブページ構造分析を通したウェブサイトの情報把握方法 | |
CN101441587B (zh) | 用于自动分析gpu测试结果的方法和系统 | |
CN107622008B (zh) | 一种应用页面的遍历方法和装置 | |
CN109690570A (zh) | 一种机房管理方法及动环系统 | |
CN113282498B (zh) | 测试用例的生成方法、装置、设备及存储介质 | |
CN108804159A (zh) | javascript模块加载方法及其预处理方法、装置和计算机设备 | |
CN110287101A (zh) | 用户界面自动化测试方法、装置、计算机设备及存储介质 | |
CN110515830A (zh) | 操作轨迹可视化方法、装置、设备及存储介质 | |
CN109858021B (zh) | 业务问题统计方法、装置、计算机设备及其存储介质 | |
CN110489312A (zh) | 用于控件触发数据采集的数据关联方法和装置 | |
CN110134656B (zh) | 页面控制方法、装置、计算机可读存储介质和计算机设备 | |
CN111581076A (zh) | 系统代码的测试方法、装置、计算机设备和存储介质 | |
CN109933754A (zh) | 查找合同修改部分的方法、装置、计算机设备和存储介质 | |
US20220358105A1 (en) | Enterprise Data Flow Lineage from Enterprise Data Testing Metadata | |
CN113900955A (zh) | 自动化测试方法、装置、设备及存储介质 | |
KR20100069147A (ko) | 웹사이트 품질 테스트 방법 및 시스템 | |
CN104992136B (zh) | 识别条形码的方法及装置 | |
CN110069400A (zh) | 漏洞测试报告生成方法、装置、计算机设备和存储介质 | |
WO2007083472A1 (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190430 |