基于jmeter的批量导出加密参数的方法与流程

文档序号:31793576发布日期:2022-10-14 16:39阅读:149来源:国知局
基于jmeter的批量导出加密参数的方法与流程

1.本发明属于数据测试技术领域,具体涉及基于jmeter的批量导出加密参数的方法。


背景技术:

2.目前我们运用的工具是jmeter来编写性能测试脚本, jmeter工具是一个简单的web性能测试工具,利用工具中的多种控件进行编写性能测试脚本,最常用的性能测试控件http信息头管理器、http请求默认值、http请求、java请求、csv数据文件设置等,最常运用的手动编制性能测试脚本的控件是http请求。由于需求变更,目前对项目安全性的要求极高,公司项目要求的项目参数全部进行了加密,性能测试过程中需要构造批量加密参数,对其为了提高内容安全性,测试阶段对其beanshell取样器加密,需要编写java代码,这就对于性能测试脚本编写加大了难度,并且http请求单一方面并不能满足其加密要求。因此进行利用java请求和http请求单独的加密方法不能满足现阶段需求中的批量加密参数,导致无法完成需求中的性能测试脚本。
3.为了解决上述问题,尝试利用手动编写测试脚本过程中,首先对基于预先封装的beanshell取样器插件添加可编辑导出字段,使其编写脚本人员进行在图形文本界面直接输入可编辑内容,不再编写java代码,大量节约编写脚本时间,节约测试负载机内存,以上方法能够准确、完整的按照需求内容进行编写性能测试脚本。


技术实现要素:

4.为解决上述问题,本发明提供一种jmeter工具中批量导出加密参数的方法,解决了脚本中每次编写beansell取样器java代码的难度,提高了编写效率。同时在java请求中先批量导入参数,java代码中对其参数进行批量加密,调用beashell取样器可编辑导出文件字段内容的方式导出。使得编写过程中大大降低了负载机的内存利用率,提高了测试脚本的轻便性和可用性。
5.本发明采用的技术方案是:一种jmeter工具中批量导出加密参数的方法,所述批量导出加密参数的方法包括如下步骤:基于jmeter的批量导出加密参数的方法,包括如下步骤:步骤1、参数导入jmeter,参数名称分类包括身份证号码、登录账号,编写成为txt、csv文件,jmeter工具中添加csv取样器,将参数csv文件导入jmeter,批量的参数包括对项目需求中的参数提取,将项目参数进行提取并预设规定的参数值作为参数依据,规定的参数格式包括日期格式、数字和字母等,参数文件包括csv、txt格式,规定参数文件保存成编码格式ansi;步骤2、java请求批量参数加密,基于预先封装的rsa加密文件依赖jar包在线程租中新增java请求和查看结果树,将依赖的jar包文件存储到预设目录中,jmeter工具中添加取样器java请求,选择类名称,类名称基于封装依赖的jar包文件,再填写参数,参数结合步
骤1中的参数数据,并对参数进行命名,查看结果树插件是jmeter中最常用的监听器,基于查看结果树插件,获取java请求取样器中的加密数据;步骤3、正则表达式提取参数,添加正则表达式提取器,结合步骤2中的java请求取样器中的加密数据,选取步骤1中的批量参数值,并基于正则表达式提取器提取java请求取样器中的加密数据;步骤4、beanshell插件封装批量导出加密参数,基于beanshell取样器插件对导出文件代码进行封装,引入依赖包,依赖包包括:jmeter测试组件模型、beanshell取样器用户界面,继承abstractjavasamplerclient抽象类设置可用参数默认值getdefaultparameters;修改静态面板界面添加字段导出文本名称、变量名称;初始化变量,并将所述abstractjavasamplerclient抽象类中的方法修改为filewriter文件导出主逻辑;导出修改后的所述abstractjavasamplerclient抽象类为jar包;将所述jar包作为所述beanshell取样器插件存储到预设目录中;步骤5、添加beanshell取样器插件导出批量参数,所述beanshell插件展示的图形用户界面包括可编辑字段导出功能,所述可编辑字段至少包括:可编辑的文件导出名称、可编辑文件编码、可编辑变量名称;所述可编辑文本框均支持jmeter自定义变量。使用户直接操作界面,输入导出文件路径,文件即可导出;根据步骤3选择的加密参数,添加beansell取样器,在导出文件文本框中输入文件名称和路径,最后导出的参数为csv文件。
6.所述步骤4中依赖jar包预设目录为jmeter的lib\ext目录。
7.所述步骤5中基于封装的beanshell取样器插件请求中的文件导出格式包括csv文件、excel文件、txt文件,生成的文件如果为单个csv文件,则直接以csv文件的形式保存至主机指定的文件路径中;如果为多个csv文件,则可编辑文本名称中用逗号隔开,输出多个文件;可编辑变量名称如果为多个名称,则规定用逗号隔开方式。导出文件如果步骤4中包括txt文件及csv文件,则将所有批量加密文件以时间顺序排列的形式保存至主机指定的文件路径中。
8.本发明的有益效果是,通过上述jmeter脚本批量导出加密参数的方法,首先在编写测试脚本获取加密参数的过程中,无需每次在beansell取样器对参数进行加密,编写基于beansell取样器插件可编辑导出文件文本框进行直观性界面操作,消除了编写jmeter脚本的繁琐性、复杂性和测试负载机的内存依赖性。其次,通过简化的自定义批量参数的导入,同时由于参数中预设了项目实际需求参数值,可以快速完成相关参数的批量加密配置。避免了参数加密方法错误导致的脚本错误。通过本发明描述的方法,可以快速、准确地批量导出加密参数,并且提高了脚本的可用性、轻便性。
附图说明
9.图1为jmeter脚本批量导出加密参数方法的流程图。
具体实施方式
10.下面结合附图详细说明本发明的实施方式,其特征在于,包括以下步骤:s1、利用基于jmeter工具的csv文件管理器参数导入jmeter方法,对参数设置参数名称及参数值;根据实际需求设置参数属性,如参数分组、是否必需参数等;在需要的情况
下可以对参数中的多个操作定义为同一个参数或参数组;s2、java请求批量参数加密,包括执行测试需要的加密测试方法,加密方法包括md5加密、rsa非对称加密算法、aes 对称密钥加密等,对rsa加密算法进行编写封装jar包。将jar包放入jmeter文件lib\ext目录。基于查看结果树插件,获取java请求取样器中的加密数据。
11.s3、根据s1中的批量参数导入jmeter及s2中设计的加密方法,组合项目实际需要的参数,可以通过正则表达式的形式提取参数;s4、加密参数批量导出,如果s4中为单个csv文件,则直接以csv文件的形式保存至主机指定的文件路径中;如果s4中包括txt文件及csv文件,则将所有批量加密文件以时间顺序排列的形式保存至主机指定的文件路径中。
12.具体方案如下:步骤1、参数导入jmeter,参数名称分类包括但不限于身份证号码、登录账号,编写成为txt、csv文件,jmeter工具中添加csv取样器,将参数csv文件导入jmeter,批量的参数包括但不限于对项目需求中的参数提取,项目中的参数包括项目编码如a1001

a1999、项目参数按照实际需求进行编写,项目编码可以但不限于按照自增方式。将项目参数进行提取并预设规定的参数值作为参数依据,规定的参数格式包括但不限于日期格式、数字和字母等,参数文件包括但不限于csv、txt格式。如果参数值为身份证号码显示,则规定格式必须18位,csv文件中转成文本格式;如果是数字、字母组合参数值,则规定与项目系统默认数据一致即可。将规定的参数数据填写到csv文件中,按照参数名称每列填写数据,则规定参数文件保存成编码格式ansi。
13.步骤2、java请求批量参数加密,目前采用开发最常用的加密方法为md5加密、rsa非对称加密算法。rsa加密算法是一种非对称加密算法,这种算法非常可靠,密钥越长,它就越难破解。目前被破解的最长rsa密钥是768个二进制位。非对称加密是通过两个密钥(公钥-私钥)来实现对数据的加密和解密的。公钥用于加密,私钥用于解密。本实施例中基于预先封装的rsa加密文件依赖jar包在线程租中新增java请求和查看结果树。将依赖的jar包文件存储到预设目录中。预设目录为jmeter的lib\ext目录。jmeter工具中添加取样器java请求,选择类名称,类名称基于封装依赖的jar包文件,再填写参数,参数结合步骤1中的参数数据,并对参数进行命名,命名格式为${name}。查看结果树插件是jmeter中最常用的监听器,可以看到请求的发送和返回信息。基于查看结果树插件,获取java请求取样器中的加密数据。
14.步骤3、正则表达式提取参数,添加正则表达式提取器,结合步骤2中的java请求取样器中的加密数据,选取步骤1中的批量参数值,并基于正则表达式提取器提取java请求取样器中的加密数据。
15.步骤4、beanshell插件封装批量导出加密参数,基于beanshell取样器插件对导出文件代码进行封装,封装实现方式如:引入依赖包,依赖包包括:jmeter测试组件模型、beanshell取样器用户界面,继承abstractjavasamplerclient抽象类设置可用参数默认值getdefaultparameters;修改静态面板界面添加字段导出文本名称、变量名称。初始化变量,并将所述abstractjavasamplerclient抽象类中的方法修改为filewriter文件导出主逻辑;导出修改后的所述abstractjavasamplerclient抽象类为jar包;将所述jar包作为所
述beanshell取样器插件存储到预设目录中。预设目录为jmeter的lib\ext目录。
16.步骤5、添加beanshell取样器插件导出批量参数,所述beanshell插件展示的图形用户界面包括可编辑字段导出功能,所述可编辑字段至少包括:可编辑的文件导出名称、可编辑文件编码、可编辑变量名称。,所述可编辑文本框均支持jmeter自定义变量。使用户直接操作界面,输入导出文件路径,文件即可导出。根据步骤3选择的加密参数,添加beansell取样器,在导出文件文本框中输入文件名称和路径,文件名称和路径包括但不限于格式如:./name.csv、./name.txt;文件编码规定utf-8格式;变量名称规定${usname}格式。最后导出的参数为csv文件。
17.作为优选的,步骤1中的批量参数为满足项目需求的实际参数,同时也可以根据函数制造随机参数,随即参数构造方式包括但不限于基于jmeter自带函数_random,设置1自增到9999方式并进行扩展。参数导入方式为基于jmeter中csv文件管理器。
18.作为优选的,步骤2中在设置批量参数加密方法后,同时可以对批量提取的参数进行顺序组合和随机组合策略,顺序组合包括但不限于如:项目实际需求给出加密参数由时间戳201209012和字段名称项目编码a10001组合,顺序按照时间和项目编码一一对应,如:20120912_a1001组合。随机组合包括但不限于变量名称机构代码awqq2333格式和地点名称测试街道组合,变量顺序先后随机组成如:测试街道awqq2333或者awqq2333测试街道。根据项目实际需求对顺序组合参数进行加密封装,对随机组合参数进行加密封装。
19.作为优选的,步骤3中正则表达式提取的加密参数格式,按照参数_g1、参数_g2等提取。
20.作为优选的,步骤4中依赖jar包预设目录包括但不限于为jmeter的lib\ext目录。
21.作为优选的,步骤5中基于封装的beanshell取样器插件请求中的文件导出格式包括但不限于csv文件、excel文件、txt文件,生成的文件如果为单个csv文件,则直接以csv文件的形式保存至主机指定的文件路径中;如果为多个csv文件,则可编辑文本名称中用逗号隔开,输出多个文件。可编辑变量名称如果为多个名称,则规定用逗号隔开方式。导出文件如果步骤4中包括txt文件及csv文件,则将所有批量加密文件以时间顺序排列的形式保存至主机指定的文件路径中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1