本发明涉及软件测试,尤其涉及一种基于jmeter的性能测试方法、装置、设备及介质。
背景技术:
1、jmeter也称为“apache jmeter”,jmeter是一款开源的、100%纯java的应用程序,带有图形界面,被设计为用于测试客户端或服务端结构的软件,例如web应用程序。jmeter旨在分析和衡量各种应用程序和服务的性能。以下是jmeter在使用的一些最重要的特性:(1)开源应用程序:jmeter是一个免费的开源应用程序,可以帮助用户或开发人员使用源代码开发其他应用程序;(2)支持多种协议:jmeter支持http、webservice、jdbc、ldap、jms和ftp等协议;(3)支持多种测试:如性能测试、功能测试、回归测试等。
2、通常在现有技术中,性能测试脚本的编制、运行、结果统计都是由性能测试人员手工运行及统计,无法做到完全自动化执行性能测试。由于性能测试人员的经验和技术存在较大差异,加上jmeter中存在大量专业术语和技巧,使得性能测试的完成难度较大。
技术实现思路
1、有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种基于jmeter的性能测试方法、装置、设备及介质。
2、本发明提供如下技术方案:
3、第一方面,本公开实施例中提供了一种基于jmeter的性能测试方法,所述方法包括:
4、在性能分析工具平台上配置实例环境,并利用jmeter工具编写jmx脚本,在jenkins工具的job程序上配置运行信息;
5、根据所述运行信息在所述实例环境上执行所述jmx脚本,并对所述jmx脚本进行调试;
6、将调试正常的jmx脚本发送至压测服务器,并运行所述job程序,通过所述job程序执行性能测试,输出性能报告。
7、进一步地,所述运行信息包括所述jmx脚本的名称、执行路径、执行时间和对应的实例环境标识。
8、进一步地,所述在性能分析工具平台上配置实例环境,包括:
9、在所述性能分析工具平台上配置实例环境的实例类型,其中,所述实例类型用于指定所述jmeter工具的运行内存;
10、在所述性能分析工具平台上配置实例环境的硬盘类型,其中,所述硬盘类型用于运行所述性能测试的特定压力场景。
11、进一步地,所述运行所述job程序,通过所述job程序执行性能测试,包括:
12、运行所述job程序,在所述特定压力场景中定时启动多个后端api性能定时任务;
13、实例化多个服务器,通过各所述服务器对各所述后端api性能定时任务对应的测试环境进行所述性能测试,输出多个所述性能报告。
14、进一步地,所述输出性能报告之后,还包括:
15、对所述性能报告进行selenium爬虫处理,提取所述性能报告的关键信息,其中,所述关键信息包括全量统计图表信息、错误图表信息和关键错误图表信息;
16、对所述全量统计图表信息、所述错误图表信息和所述关键错误图表信息进行逻辑判断,得到所述性能测试的度量结果;
17、将所述性能测试的度量结果存储至对应的数据库中。
18、进一步地,所述提取所述性能报告的关键信息之后,还包括:
19、将所述关键信息的格式转换为json数据格式,并利用api接口将转换后的关键信息存储至对应的数据库中;
20、对各所述关键信息进行处理,生成测试文件,并将所述测试文件存储至对应的执行路径中。
21、进一步地,所述对各所述服务器执行所述性能测试得到的关键信息进行处理,生成测试文件之后,还包括:
22、通过所述性能分析工具平台,将所述测试文件发送至指定目录,并生成对应的下载链接。
23、第二方面,本公开实施例中提供了一种基于jmeter的性能测试装置,所述装置包括:
24、配置模块,用于在性能分析工具平台上配置实例环境,并利用jmeter工具编写jmx脚本,在jenkins工具的job程序上配置运行信息;
25、执行模块,用于根据所述运行信息在所述实例环境上执行所述jmx脚本,并对所述jmx脚本进行调试;
26、测试模块,用于将调试正常的jmx脚本发送至压测服务器,并运行所述job程序,通过所述job程序执行性能测试,输出性能报告。
27、第三方面,本公开实施例中提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中所述的基于jmeter的性能测试方法的步骤。
28、第四方面,本公开实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述的基于jmeter的性能测试方法的步骤。
29、本申请的实施例具有如下优点:
30、本申请实施例提供的基于jmeter的性能测试方法,方法包括:在性能分析工具平台上配置实例环境,并利用jmeter工具编写jmx脚本,在jenkins工具的job程序上配置运行信息;根据所述运行信息在所述实例环境上执行所述jmx脚本,并对所述jmx脚本进行调试;将调试正常的jmx脚本发送至压测服务器,并运行所述job程序,通过所述job程序执行性能测试,输出性能报告。通过上述方法,可以完全自动化执行性能测试,整个性能测试生命周期人工介入时间极少,日常维护成本较低,极大提升了日常工作效率,节约了性能测试的成本。
31、为使本发明的上述目的、特征和优点能更明显和易懂,下文特举较佳实施例,并配合所附附图,做详细说明如下。
1.一种基于jmeter的性能测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于jmeter的性能测试方法,其特征在于,所述运行信息包括所述jmx脚本的名称、执行路径、执行时间和对应的实例环境标识。
3.根据权利要求2所述的基于jmeter的性能测试方法,其特征在于,所述在性能分析工具平台上配置实例环境,包括:
4.根据权利要求3所述的基于jmeter的性能测试方法,其特征在于,所述运行所述job程序,通过所述job程序执行性能测试,包括:
5.根据权利要求4所述的基于jmeter的性能测试方法,其特征在于,所述输出性能报告之后,还包括:
6.根据权利要求5所述的基于jmeter的性能测试方法,其特征在于,所述提取所述性能报告的关键信息之后,还包括:
7.根据权利要求6所述的基于jmeter的性能测试方法,其特征在于,所述对各所述服务器执行所述性能测试得到的关键信息进行处理,生成测试文件之后,还包括:
8.一种基于jmeter的性能测试装置,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的基于jmeter的性能测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的基于jmeter的性能测试方法的步骤。