一种Jmeter脚本自动生成方法技术

技术编号:24937677 阅读:32 留言:0更新日期:2020-07-17 20:52
本发明专利技术涉及软件性能测试技术领域,具体涉及一种Jmeter脚本自动生成方法,包括如下步骤:S1:封装Jmeter脚本关键字;S2:设置测试策略;S3:选择关键字并配置参数;S4:关键字及其参数校验;S5:上下文关联校验;S6:数据合规性校验;S7:生成Jmeter脚本。通过本发明专利技术描述的方法,可以快速、准确地自动生成Jmeter脚本,并且提高了脚本配置的易读性、易理解性。

【技术实现步骤摘要】
一种Jmeter脚本自动生成方法
本专利技术涉及软件性能测试
,具体涉及一种Jmeter脚本自动生成方法。
技术介绍
Jmeter工具作为当前较为流行的一款开源的性能测试工具,被越来越多地应用于各类服务器、软件系统、软件接口等的性能测试中。测试脚本是性能测试的基础,完整的Jmeter脚本应至少包括测试计划、线程组、外部参数化文件、HTTP请求、请求响应读取、结果报告等内容。同时由于测试需求的多样性及多变性,测试脚本也会随之发生更改。通常性能测试脚本的编制都是由性能测试人员进行手工编制,由于性能测试人员的经验、技术能力存在较大差异,加之Jmeter工具及脚本中有大量不易掌握的专业术语和技巧,因此手工编写的Jmeter脚本在实际执行性能测试时往往存在诸多错误,导致效率低下甚至无法完成预期的性能测试。为了解决上述问题,现有技术中存在一些半自动化生成Jmeter测试脚本的方法或辅助工具,这些工具在一定程度上能够提高Jmeter脚本的编写速率,但是无法自动生成完整的Jmeter测试脚本,仍然需要在JmeterGUI工具中进行二次开发和调整。另外由于半自动化生成的Jmeter脚本有可能会存在大量报错或者Jmeter工具不兼容的情况,因次对Jmeter脚本的编写及生成提升效率不大,不能生成准确、完整、灵活度高的自动化测试脚本,同时也没有降低Jmeter脚本的编写难度。
技术实现思路
为克服上述现有技术中存在的问题,本专利技术的目的是提供一种Jmeter脚本自动生成方法,解决了现有技术中存在的问题。本专利技术所采用的技术方案是:一种Jmeter脚本自动生成方法,包括如下步骤:S1:封装Jmeter脚本关键字;S2:设置测试策略;S3:选择关键字并配置参数;S4:关键字及其参数校验;S5:上下文关联校验;S6:数据合规性校验;S7:生成Jmeter脚本。进一步所述的步骤S1中封装的Jmeter脚本关键字包括测试计划、执行计划、httpCookie管理器、http请求默认值、http请求、事务(场景)控制器、简单控制器、条件分支控制器、循环控制器、正则表达式、生成csv文件、上传csv文件、后端监听器;进一步所述的步骤S2中设置测试策略为:定义性能测试场景,根据需求确定性能测试的范围及测试策略,测试策略包括并发用户数、执行时间(次数)、集合时间、并发用户增长方式等;进一步所述的步骤S3先结合步骤S2中定义的性能测试场景,选取步骤S1中封装的Jmeter关键字,并根据步骤S2中的要求对选取的关键字进行参数配置;进一步所述的步骤S4关键字及其参数校验包括关键字合法性校验、关键字参数的必填校验、内容合法性校验,同时对整个Jmeter脚本所必需的关键字进行是否选择的校验,同时对于校验不通过的项目给出清晰明确的提示及建议值;进一步所述的步骤S5上下文关联校验为性能测试场景上下文关联校验,包括多个http请求存在请求之间参数数据传递时,对涉及的http请求前后顺序、参数传递的合法性进行校验;进一步所述的步骤S6数据合规性校验为性能测试场景数据合规性校验,包括对http请求中需要参数化的字段对应的数据来源进行合法性校验,同时对上传或生成的csv文件数据合法性及数据是否被http请求引入进行校验;进一步所述的步骤S7生成Jmeter脚本是根据步骤S3选择的关键字及配置的参数,在经过步骤S4至S6的校验后,对校验通过的关键字按照Jmeter脚本规范生成Jmeter脚本,生成的脚本文件为jmx文件,同时如果步骤3中选择上传csv、生成csv文件,并且通过步骤S6的校验后,生成的文件同时还包括csv文件。进一步所述的步骤S1中在关键字的封装过程中,将自定义的关键字名称与Jmeter的操作进行对应,同时对Jmeter的参数进行提取并预设参数值作为封装关键字的参数及参数数据。进一步所述的步骤S2中在设置测试策略后自动生成并发用户数的增长趋势图作为直观参考。进一步所述的步骤S3中选择关键字并配置关键字参数数值后,自动进行步骤S4,并将校验结果反馈至当前配置页面,同时能复执行步骤S3选择多个关键字。进一步所述的步骤S3中的关键字支持父子关系关键字,即一个关键字中能包括多个子关键字作为一组关键字,步骤3中的http请求关键字通过外部excel文件、csv文件、json文件等格式化文件进行批量导入,同时导入的包括http请求关键字中的参数及参数数据。进一步所述的步骤S4中的关键字合法性包括选择的关键字是否与步骤S1中封装的关键字相对应,关键字的参数及参数的要求是否与步骤S1中封装的关键字参数及参数的要求相对应,关键字参数的必填校验为已经配置数据的关键字参数是否满足步骤S1中预设的关键字最小参数集合,内容合法性校验为配置的关键字参数数据是否满足Jmeter要求的数据形式,同时对数据的安全性、合法性、合规性进行校验,对Jmeter脚本必需的关键字是否选择的校验为利用Jmeter执行一个完整的、成功的性能测试所必须的关键字的最小集合,同时根据实际需求设置必需关键字。进一步所述的步骤S5中的上下文关联校验为步骤S3、步骤S4执行结束后进行的校验,多个http请求之间的参数传递包括两个及两个以上的接口进行参数数据的传递。进一步所述的步骤S6中对http请求中需要参数化的字段对应的数据来源进行合法性检查包括对http请求设置了参数化的参数数据来源的有无、合法性、一致性、合规性进行校验,同时对上传或生成的csv文件的数据字段是否与http请求的参数化参数对应进行校验,同时对csv文件数据的合法性、合规性进行校验。进一步所述的步骤S7中生成的文件如果为单个jmx文件,则直接以jmx文件的形式保存至主机指定的文件夹中,如果步骤S7中包括jmx文件及csv文件,则将所有相关文件以压缩包的形式保存至主机指定的文件夹中。本专利技术的有益效果是:通过上述Jmeter脚本自动生成方法,首先在配置脚本内容时可以不需要安装Jmeter工具及其必须的环境,消除了编写Jmeter脚本对工具以及环境的依赖性;其次,通过简化的自定义关键字实现脚本关键参数及数据的配置,同时由于关键字中预设了部分数据值,可以快速完成相关数据的配置;并且,所有关键字的参数数据值均做了符合性校验,避免了数据、参数配置错误导致的脚本错误;同时,在生成脚本的同时对脚本的上下文关联及参数化数据来源进行了校验,避免了脚本执行时由于缺失数据导致的执行失败及报错。通过本专利技术描述的方法,可以快速、准确地自动生成Jmeter脚本,并且提高了脚本配置的易读性、易理解性。附图说明图1是本专利技术方法步骤流程图。具体实施方式下面结合附图和具体实施方式对本专利技术进行详细说明:一种Jmeter脚本自动生成方法,包括如下步骤:S1:封装Jmeter脚本关键字;S2:设置测试策略;S3:选择关键字并配置参数本文档来自技高网...

【技术保护点】
1.一种Jmeter脚本自动生成方法,其特征在于包括如下步骤:/nS1:封装Jmeter脚本关键字;/nS2:设置测试策略;/nS3:选择关键字并配置参数;/nS4:关键字及其参数校验;/nS5:上下文关联校验;/nS6:数据合规性校验;/nS7:生成Jmeter脚本。/n

【技术特征摘要】
1.一种Jmeter脚本自动生成方法,其特征在于包括如下步骤:
S1:封装Jmeter脚本关键字;
S2:设置测试策略;
S3:选择关键字并配置参数;
S4:关键字及其参数校验;
S5:上下文关联校验;
S6:数据合规性校验;
S7:生成Jmeter脚本。


2.根据权利要求1所述的一种Jmeter脚本自动生成方法,其特征在于:所述的步骤S1中封装的Jmeter脚本关键字包括测试计划、执行计划、httpCookie管理器、http请求默认值、http请求、事务(场景)控制器、简单控制器、条件分支控制器、循环控制器、正则表达式、生成csv文件、上传csv文件、后端监听器;
所述的步骤S2中设置测试策略为:定义性能测试场景,根据需求确定性能测试的范围及测试策略,测试策略包括并发用户数、执行时间(次数)、集合时间、并发用户增长方式等;
所述的步骤S3先结合步骤S2中定义的性能测试场景,选取步骤S1中封装的Jmeter关键字,并根据步骤S2中的要求对选取的关键字进行参数配置;
所述的步骤S4关键字及其参数校验包括关键字合法性校验、关键字参数的必填校验、内容合法性校验,同时对整个Jmeter脚本所必需的关键字进行是否选择的校验,同时对于校验不通过的项目给出清晰明确的提示及建议值;
所述的步骤S5上下文关联校验为性能测试场景上下文关联校验,包括多个http请求存在请求之间参数数据传递时,对涉及的http请求前后顺序、参数传递的合法性进行校验;
所述的步骤S6数据合规性校验为性能测试场景数据合规性校验,包括对http请求中需要参数化的字段对应的数据来源进行合法性校验,同时对上传或生成的csv文件数据合法性及数据是否被http请求引入进行校验;
所述的步骤S7生成Jmeter脚本是根据步骤S3选择的关键字及配置的参数,在经过步骤S4至S6的校验后,对校验通过的关键字按照Jmeter脚本规范生成Jmeter脚本,生成的脚本文件为jmx文件,同时如果步骤3中选择上传csv、生成csv文件,并且通过步骤S6的校验后,生成的文件同时还包括csv文件。


3.根据权利要求2所述的一种Jmeter脚本自动生成方法,其特征在于:所述的步骤S1中在关键字的封装过程中,将自定义的关键字名称与Jmeter的操作进行对应,同时对Jmeter的参数进行提取并预设参数值作为封装关键字的参数及参数数据。


4.根据权利要求2所述的一种Jmeter脚本自动生成...

【专利技术属性】
技术研发人员:何鹏林王朝晖刘磊李旭水晓艺吕婧
申请(专利权)人:中电万维信息技术有限责任公司
类型:发明
国别省市:甘肃;62

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1