一种自动解析jmeter脚本文件生成报表的方法及装置与流程

文档序号:29910254发布日期:2022-05-06 01:11阅读:96来源:国知局
一种自动解析jmeter脚本文件生成报表的方法及装置与流程

1.本发明属于计算机技术领域,具体涉及一种自动解析jmeter脚本文件生成报表的方法及装置。


背景技术:

2.jmeter做为一种开源的性能和功能测试工具,在软件测试的过程中发挥着很重要的作用。使用jmeter维护一组http/dubbo接口的自动化测试脚本,可以大大缩减我们执行人工的回归测试时间。但是随着项目的不断迭代更新,随着系统功能的不断增加,我们的自动化测试脚本也会越来越庞大,那么我们如何快速地统计出实现了多少个接口的自动化测试呢?通常的做法是,每次往.jmx脚本中添加一个新的接口时,就在某个excel表格文件中做一次记录,需要时刻记得将接口信息维护到表格中,否则会导致统计的不准确或者重复。


技术实现要素:

3.为了解决现有技术存在的问题,本发明实施例提供以下技术方案:
4.第一方面,本技术提供一种自动解析jmeter脚本文件生成报表的方法,包括:
5.接收文件读请求,所述文件读请求中包括待读取文件对应的文件标识;
6.根据所述待读取文件对应的文件标识,按照预设规则读取所述待读取文件的每一行关键字;
7.将所述关键字与预设关键字进行匹配,得到匹配结果;
8.根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表。
9.进一步地,所述根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表,包括:
10.若所述匹配结果为所述关键字包括“httpsampler.path”,则从上下文中读取httpsampler.path、httpsampler.protocol以及httpsampler.method的关键值,将所述httpsampler.path、httpsampler.protocol、httpsampler.method的关键值存入http集合中,并生成报表;
11.若所述匹配结果为所述关键字包括“field_dubbo_interface”,则上下文中读取field_dubbo_group、field_dubbo_interface以及field_dubbo_method的关键值,将所述field_dubbo_group、field_dubbo_interface以及field_dubbo_method的关键值存入dubbo集合中,并生成报表。
12.进一步地,所述根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表之前,还包括:
13.判断所述指定位置是否已存在所述匹配结果对应的关键值;
14.若所述指定位置是已存在所述匹配结果对应的关键值,则放弃将所述匹配结果对应的关键值存储至指定位置;
15.若所述指定位置是不存在所述匹配结果对应的关键值,则将所述匹配结果对应的
关键值存储至指定位置。
16.进一步地,所述根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表,包括:
17.根据http集合和dubbo集合中元素的数量,生成报表的汇总部分。
18.进一步地,所述根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表,包括:根据http集合和dubbo集合中每个元素的值,生成报表的明细部分。
19.进一步地,所述待读取文件对应的文件标识为扩展名为.jmx的脚本文件。
20.第二方面,本发明提供一种自动解析jmeter脚本文件生成报表的装置,包括:
21.接收模块,用于接收文件读请求,所述文件读请求中包括待读取文件对应的文件标识;
22.读取文件模块,用于根据所述待读取文件对应的文件标识,按照预设规则读取所述待读取文件的每一行关键字;
23.匹配模块,用于将所述关键字与预设关键字进行匹配,得到匹配结果;
24.生产报表模块,用于根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表。
25.本发明具有以下有益效果:
26.本发明实施例提供的一种自动解析jmeter脚本文件生成报表的方法,通过接收文件读请求,所述文件读请求中包括待读取文件对应的文件标识;根据所述待读取文件对应的文件标识,按照预设规则读取所述待读取文件的每一行关键字;将所述关键字与预设关键字进行匹配,得到匹配结果;根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表。本发明可以快速的解析扩展名为.jmx的脚本文件,汇总出已涵盖的接口数量、接口名称、接口类型,并输出报告,摒弃了繁琐的excel手工记录和统计工作。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1是本发明一个实施例中一种自动解析jmeter脚本文件生成报表的方法流程示意图。
29.图2是本发明另一个实施例中一种自动解析jmeter脚本文件生成报表的方法流程示意图。
30.图3是本发明一个实施例中一种自动解析jmeter脚本文件生成报表的装置的结构图。
具体实施方式
31.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有
其它实施方式,都属于本发明所保护的范围。
32.针对相关技术中的问题,本发明提供一种自动解析jmeter脚本文件生成报表的方法,图1为本技术一个实施例提供的一种自动解析jmeter脚本文件生成报表的方法的流程示意图,如图1所示,该方法包括如下步骤:包括:
33.步骤s101、接收文件读请求,所述文件读请求中包括待读取文件对应的文件标识;
34.需要说明的是,在接收读取文件请求前,可以初始化一个空的http集合和一个dubbo集合。接收到文件读取请求后,文件读取请求中包括待读取文件对应的文件标识,该文件标识能够唯一标识待读取文件,由此可以根据该文件标识找到该待读取的文件。所述待读取文件对应的文件标识为扩展名为.jmx的脚本文件。
35.步骤s102、根据所述待读取文件对应的文件标识,按照预设规则读取所述待读取文件的每一行关键字;
36.可选地,可以预先设置读取每一行的时间周期。从读取第一行开始计时。
37.步骤s103、将所述关键字与预设关键字进行匹配,得到匹配结果;
38.具体地,在一个实施例中,将该行关键字与预设的“httpsampler.path”进行匹配,如果该行关键字含有“httpsampler.path”,则认为该行为http类型的接口,即匹配结果为此处为http类型的接口;
39.如果将该行关键字与预设的“field_dubbo_interface”进行匹配,如果该行关键字含有关键字“field_dubbo_interface”,则认为该行为dubbo类型的接口;即匹配结果为此处为dubbo类型的接口;
40.步骤s104、根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表。
41.具体地,根据http集合和dubbo集合中元素的数量,生成报表的汇总部分。根据http集合和dubbo集合中每个元素的值,生成报表的明细部分。
42.在一个实施例中,请参阅图2,图2是本发明一个实施例所提供的一种自动解析jmeter脚本文件生成报表的方法流程图,如图2所示,若所述匹配结果为所述关键字包括“httpsampler.path”,则从上下文中读取httpsampler.path、httpsampler.protocol以及httpsampler.method的关键值,按照顺序进行判断httpsampler.path、httpsampler.protocol以及httpsampler.method的关键值,将所述httpsampler.path、httpsampler.protocol、httpsampler.method的关键值存入http集合,并生成报表;
43.若所述匹配结果为所述关键字包括“field_dubbo_interface”,则上下文中读取field_dubbo_group、field_dubbo_interface以及field_dubbo_method的关键值,按照顺序判断field_dubbo_group、field_dubbo_interface以及field_dubbo_method的关键值,将所述field_dubbo_group、field_dubbo_interface以及field_dubbo_method的关键值存入dubbo集合中,并生成报表。
44.可以理解为,本发明实施例提供的一种自动解析jmeter脚本文件生成报表的方法,通过接收文件读请求,所述文件读请求中包括待读取文件对应的文件标识;根据所述待读取文件对应的文件标识,按照预设规则读取所述待读取文件的每一行关键字;将所述关键字与预设关键字进行匹配,得到匹配结果;根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表。本发明可以快速的解析扩展名为.jmx的脚本文件,汇总
出已涵盖的接口数量、接口名称、接口类型,并输出报告,摒弃了繁琐的excel手工记录和统计工作。
45.作为上述方法的进一步改进,在一个实施例中,所述根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表之前,还包括:
46.判断所述指定位置是否已存在所述匹配结果对应的关键值;
47.若所述指定位置是已存在所述匹配结果对应的关键值,则放弃将所述匹配结果对应的关键值存储至指定位置;
48.若所述指定位置是不存在所述匹配结果对应的关键值,则将所述匹配结果对应的关键值存储至指定位置。
49.可以理解为,在读取文件的下一行时,在向集合中添加元素时,先判断是否已存在同样的元素,如果存在,则不做加入操作,继续读取下一行,直至文件解析完成。
50.请参阅图3,图3是本发明一个实施例提供的一种自动解析jmeter脚本文件生成报表的装置结构示意图,如图3所示,该装置包括:
51.接收模块301,用于接收文件读请求,所述文件读请求中包括待读取文件对应的文件标识;
52.读取文件模块302,用于根据所述待读取文件对应的文件标识,按照预设规则读取所述待读取文件的每一行关键字;
53.匹配模块303,用于将所述关键字与预设关键字进行匹配,得到匹配结果;
54.生产报表模块304,用于根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表。
55.本发明所提供的一种自动解析jmeter脚本文件生成报表的装置通过接收模块接收文件读请求,所述文件读请求中包括待读取文件对应的文件标识;通过读取文件模块根据所述待读取文件对应的文件标识,按照预设规则读取所述待读取文件的每一行关键字;通过匹配模块将所述关键字与预设关键字进行匹配,得到匹配结果;通过生产报表模块根据所述匹配结果,将所述匹配结果对应的关键值存储至指定位置,并生成报表。本发明通过代码程序智能解析jmeter的接口自动化脚本文件,免去人工在excel中维护接口信息;通过代码程序智能生成可视化的报表,针对已实现多少个接口、已实现哪些具体接口给出可视化的报表。
56.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
57.需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。
58.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
59.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述
实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
60.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
61.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
62.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
63.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
64.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1