一种快速生成消息中心jmeter接口测试脚本的方法及系统与流程

文档序号:29120307发布日期:2022-03-04 21:50阅读:241来源:国知局
一种快速生成消息中心jmeter接口测试脚本的方法及系统与流程

1.本发明涉及自动化测试技术领域,具体涉及一种快速生成消息中心jmeter接口测试脚本的方法及系统。


背景技术:

2.目前消息中心的jmeter接口测试脚本,主要是通过人工手动生成,通过在消息中心后台根据消息场景号找到对应的消息模版、发送消息的账户code、发送消息的账户key,从消息模版中提炼出报文中的字段,在测试工具平台,通过发送消息的账户code、发送消息的账户key生成报文中的密钥,在jmeter工具中新增一个请求模版,将接口请求相关内容填写后保存生成jmx文件。
3.现有技术通过人工手动生成消息中心的jmeter接口测试脚本有以下几个缺点:1消息模版是一串很长的字符串,字符串中部分内容为报文中需要的字段,因此从一长串字符串中提炼出需要的字段耗时且容易遗漏;2有些消息场景会对应多个模版,人工提炼报文中需要字段的复杂度更高;3报文中的密钥需要先通过消息场景找到接入该场景的账号,再通过账号找到发送消息的账户code、发送消息的账户key,最后还需要打开另一个测试工具平台,在该平台上输入信息生成。以上需要在2个系统的多个页面中操作,增加用户费力度;4需要在jmeter工具中填写接口请求相关内容后保存生成jmx文件。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种快速生成消息中心jmeter接口测试脚本的方法及系统,以解决现有技术中因为人工提炼报文字段耗时费力而导致的脚本编写效率低的问题。
5.根据本发明实施例的第一方面,提供一种快速生成消息中心jmeter接口测试脚本的方法,包括:
6.确定待生成的请求报文类型;
7.模拟用户单点登录后台系统,以调用后台系统接口查找接入消息场景的账号,并根据所述账号,获取消息模版、发送消息的账户密码、发送消息的账户密钥;
8.根据发送消息的账户密码、发送消息的账户密钥,生成请求报文密钥;
9.根据待生成的请求报文类型,从所述消息模版中提取报文字段或从历史发送记录中提炼出报文内容;
10.将所述报文字段与请求报文密钥生成请求报文,或者,将所述报文内容与请求报文密钥生成请求报文;
11.确定jmx文件中需要替换的内容,将生成的请求报文替换掉jmx文件中需要替换的内容,并另存为新的jmx文件,作为jmeter接口测试脚本。
12.优选地,所述确定待生成的请求报文类型,具体为:
13.根据用户传入后台系统接口的参数值,确定待生成的请求报文类型;
14.若所述参数值为1,则确定待生成的请求报文类型为生成新的请求报文;
15.若所述参数值为2,则确定待生成的请求报文类型为系统中已有发送成功记录的请求报文。
16.优选地,所述根据发送消息的账户密码、发送消息的账户密钥,生成请求报文密钥,具体为:
17.根据发送消息的账户密码、发送消息的账户密钥,利用正则表达式,生成请求报文密钥。
18.优选地,所述根据待生成的请求报文类型,从所述消息模版中提取报文字段或从历史发送记录中提炼出报文内容,包括:
19.若待生成的请求报文类型为生成新的请求报文,从所述消息模版中提取报文字段;
20.若待生成的请求报文类型为系统中已有发送成功记录的请求报文,从历史发送记录中提炼出报文内容。
21.优选地,所述从消息模版中提取报文字段,具体为:
22.将消息模版中的字符串传入到预设的处理模型中,提取出报文字段。
23.优选地,所述从历史发送记录中提炼出报文内容,具体为:
24.调用查询发送记录接口,将指定时间段内的发送记录取出,通过遍历找到一条发送成功的记录,并提炼出报文内容。
25.优选地,所述确定jmx文件中需要替换的内容,具体为:
26.利用正则表达式,找到jmx文件中需要替换的内容。
27.根据本发明实施例的第二方面,提供一种快速生成消息中心jmeter接口测试脚本的系统,包括:
28.确定模块,用于确定待生成的请求报文类型;
29.调用模块,用于模拟用户单点登录后台系统,以调用后台系统接口查找接入消息场景的账号,并根据所述账号,获取消息模版、发送消息的账户密码、发送消息的账户密钥;
30.生成模块,用于根据发送消息的账户密码、发送消息的账户密钥,生成请求报文密钥;
31.还用于根据待生成的请求报文类型,从所述消息模版中提取报文字段或从历史发送记录中提炼出报文内容;
32.还用于将所述报文字段与请求报文密钥生成请求报文,或者,将所述报文内容与请求报文密钥生成请求报文;
33.还用于确定jmx文件中需要替换的内容,将生成的请求报文替换掉jmx文件中需要替换的内容,并另存为新的jmx文件,作为jmeter接口测试脚本。
34.本发明的实施例提供的技术方案可以包括以下有益效果:
35.通过确定待生成的请求报文类型,模拟用户单点登录后台系统,以调用后台系统接口查找接入消息场景的账号,并根据账号,获取消息模版、发送消息的账户密码、发送消息的账户密钥,根据发送消息的账户密码、发送消息的账户密钥,生成请求报文密钥,根据待生成的请求报文类型,从消息模版中提取报文字段或从历史发送记录中提炼出报文内容,将报文字段与请求报文密钥生成请求报文,或者,将报文内容与请求报文密钥生成请求
报文,确定jmx文件中需要替换的内容,将生成的请求报文替换掉jmx文件中需要替换的内容,并另存为新的jmx文件,作为jmeter接口测试脚本,从而解决了现有技术中因为人工提炼报文字段耗时费力而导致的脚本编写效率低的问题,提升了用户体验,用户体验度好、满意度高。
36.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
37.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
38.图1是根据一示例性实施例示出的一种快速生成消息中心jmeter接口测试脚本的方法的流程图。
39.图2是根据一示例性实施例示出的一种快速生成消息中心jmeter接口测试脚本的系统的示意框图。
具体实施方式
40.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
41.实施例一
42.图1是根据一示例性实施例示出的一种快速生成消息中心jmeter接口测试脚本的方法的流程图,如图1所示,该方法包括:
43.步骤s11、确定待生成的请求报文类型;
44.步骤s12、模拟用户单点登录后台系统,以调用后台系统接口查找接入消息场景的账号,并根据所述账号,获取消息模版、发送消息的账户密码、发送消息的账户密钥;
45.步骤s13、根据发送消息的账户密码、发送消息的账户密钥,生成请求报文密钥;
46.步骤s14、根据待生成的请求报文类型,从所述消息模版中提取报文字段或从历史发送记录中提炼出报文内容;
47.步骤s15、将所述报文字段与请求报文密钥生成请求报文,或者,将所述报文内容与请求报文密钥生成请求报文;
48.步骤s16、确定jmx文件中需要替换的内容,将生成的请求报文替换掉jmx文件中需要替换的内容,并另存为新的jmx文件,作为jmeter接口测试脚本。
49.在具体实践中,所述确定待生成的请求报文类型,具体为:
50.根据用户传入后台系统接口的参数值,确定待生成的请求报文类型;
51.若所述参数值为1,则确定待生成的请求报文类型为生成新的请求报文;
52.若所述参数值为2,则确定待生成的请求报文类型为系统中已有发送成功记录的请求报文。
53.在具体实践中,所述模拟用户单点登录后台系统,以调用后台系统接口查找接入
消息场景的账号,并根据所述账号,获取消息模版、发送消息的账户密码、发送消息的账户密钥,具体为:
54.通过python实现模拟用户单点登录后台系统;
55.通过python调用后台系统接口获取接入消息场景的账号。
56.在具体实践中,所述根据发送消息的账户密码、发送消息的账户密钥,生成请求报文密钥,具体为:
57.通过python调用测试工具平台的接口,根据发送消息的账户密码、发送消息的账户密钥,利用正则表达式,生成请求报文密钥。
58.在具体实践中,所述根据待生成的请求报文类型,从所述消息模版中提取报文字段或从历史发送记录中提炼出报文内容,包括:
59.若待生成的请求报文类型为生成新的请求报文,从所述消息模版中提取报文字段;
60.若待生成的请求报文类型为系统中已有发送成功记录的请求报文,从历史发送记录中提炼出报文内容。
61.在具体实践中,所述从消息模版中提取报文字段,具体为:
62.将消息模版中的字符串传入到预设的处理模型中,提取出报文字段。
63.在具体实践中,所述从历史发送记录中提炼出报文内容,具体为:
64.调用查询发送记录接口,将指定时间段内的发送记录取出,通过遍历找到一条发送成功的记录,并提炼出报文内容。
65.在具体实践中,所述确定jmx文件中需要替换的内容,具体为:
66.通过python读取事先准备好的jmx文件,利用正则表达式,找到jmx文件中需要替换的内容。
67.可以理解的是,本实施例提供的技术方案,通过确定待生成的请求报文类型,模拟用户单点登录后台系统,以调用后台系统接口查找接入消息场景的账号,并根据账号,获取消息模版、发送消息的账户密码、发送消息的账户密钥,根据发送消息的账户密码、发送消息的账户密钥,生成请求报文密钥,根据待生成的请求报文类型,从消息模版中提取报文字段或从历史发送记录中提炼出报文内容,将报文字段与请求报文密钥生成请求报文,或者,将报文内容与请求报文密钥生成请求报文,确定jmx文件中需要替换的内容,将生成的请求报文替换掉jmx文件中需要替换的内容,并另存为新的jmx文件,作为jmeter接口测试脚本,从而解决了现有技术中因为人工提炼报文字段耗时费力而导致的脚本编写效率低的问题,提升了用户体验,用户体验度好、满意度高。
68.实施例二
69.图2是根据一示例性实施例示出的一种快速生成消息中心jmeter接口测试脚本的系统100的示意框图,如图2所示,该系统100包括:
70.确定模块101,用于确定待生成的请求报文类型;
71.调用模块102,用于模拟用户单点登录后台系统,以调用后台系统接口查找接入消息场景的账号,并根据所述账号,获取消息模版、发送消息的账户密码、发送消息的账户密钥;
72.生成模块103,用于根据发送消息的账户密码、发送消息的账户密钥,生成请求报
文密钥;
73.还用于根据待生成的请求报文类型,从所述消息模版中提取报文字段或从历史发送记录中提炼出报文内容;
74.还用于将所述报文字段与请求报文密钥生成请求报文,或者,将所述报文内容与请求报文密钥生成请求报文;
75.还用于确定jmx文件中需要替换的内容,将生成的请求报文替换掉jmx文件中需要替换的内容,并另存为新的jmx文件,作为jmeter接口测试脚本。
76.可以理解的是,本实施例提供的技术方案,通过确定待生成的请求报文类型,模拟用户单点登录后台系统,以调用后台系统接口查找接入消息场景的账号,并根据账号,获取消息模版、发送消息的账户密码、发送消息的账户密钥,根据发送消息的账户密码、发送消息的账户密钥,生成请求报文密钥,根据待生成的请求报文类型,从消息模版中提取报文字段或从历史发送记录中提炼出报文内容,将报文字段与请求报文密钥生成请求报文,或者,将报文内容与请求报文密钥生成请求报文,确定jmx文件中需要替换的内容,将生成的请求报文替换掉jmx文件中需要替换的内容,并另存为新的jmx文件,作为jmeter接口测试脚本,从而解决了现有技术中因为人工提炼报文字段耗时费力而导致的脚本编写效率低的问题,提升了用户体验,用户体验度好、满意度高。
77.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
78.需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
79.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
80.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
81.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
82.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机
可读取存储介质中。
83.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
84.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
85.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1