基于Jmeter的自动化性能测试方法及系统与设计方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本技术提供了一种基于Jmeter的自动化性能测试方法及系统,所述方法采用在Jmeter测试工具中设置并发量、端口号、IP地址及循环数,运行Jmeter得到测试结果,同时编写统计结果脚本,分析Jmeter测试结果,获得最终的性能测试结果;同时本技术还通过编写Shell脚本将并发量、端口号、IP地址、循环数及Jmeter测试结果和保存目录进行参数化,来实现多个接口,多组并发,多个不同IP地址或端口的测试;本技术无需多次输入执行命令,无需多次重写脚本,无需将测试结果拷贝到安装了jmeter GUI的电脑中,可节约大量时间,提升工作效率,提升工作准确率。
权利要求书
1.一种基于Jmeter的自动化性能测试方法,其特征在于,压测机服务器、API服务器及数据库
均在由代理服务器提供网络连接的同一个内网中,所述压测机服务器与API服务器通过API 接口进行连接,所述数据库提供API接口所需要调用的数据,压测机服务器上加载Jmeter性能测试工具,所述方法包含以下步骤:
S1:启动Jmeter性能测试工具,设置压测机服务器发送请求的并发数、代理服务器的IP地址及端口号及每个请求的发送循环数;
S2:设置好步骤S1中的参数后运行Jmeter进行测试,将Jmeter测试结果保存在Jtl文件中;
S3:分析Jtl文件,编写统计结果代码,形成统计脚本,运行统计脚本,得到最终的统计结果,形成最终性能测试报告。
2.根据权利要求1所述一种基于Jmeter的自动化性能测试方法,其特征在于,还包括编写Shell 脚本来将步骤S1中的压测机服务器发送请求的并发数、代理服务器的IP地址及端口号、每个请求的发送循环数及Jmeter测试结果保存目录进行设置和参数化,将所述Shell脚本导入Jmeter并运行,以执行多个测试接口,多组压测机并发,多个不同IP地址或端口的测试。
3.根据权利要求2所述一种基于Jmeter的自动化性能测试方法,其特征在于,所述Shell脚本通过C或Python编写。
4.根据权利要求1所述一种基于Jmeter的自动化性能测试方法,其特征在于,根据步骤S3中所述Jmeter测试结果:第一列数据为时间戳,第二列代表响应时间,根据公式:每秒请求数=(总请求数/总运行时间)得到每秒请求数。
5.根据权利要求1所述一种基于Jmeter的自动化性能测试方法,其特征在于,步骤S3中得到的最终性能测试结果包含:平均响应时间、响应时间中值、最小响应时间、最大响应时间、90%响应时间、95%响应时间、每秒查询速度、每秒从服务器接收的数据量、每秒从服务器发出的数据量、吞吐量及错误率。
6.一种基于Jmeter的自动化性能测试系统,其特征在于,采用权利要求1-5所述任意一项基于Jmeter的自动化性能测试方法来实现Jmeter的自动化性能测试。
技术说明书
一种基于Jmeter的自动化性能测试方法及系统
技术领域
本技术涉及自动化测试领域,尤其涉及一种基于Jmeter的自动化性能测试方法及系统。
背景技术
目前的进行服务器端性能测试的主流工具有loadrunner,jmeter。loadrunner更像是一个模拟器,它比较适用于前端构造较复杂场景的情况,比如模拟100个用户登录的场
景,LoadRunner对非技术人员提供了很好的支持。LoadRunner不适用后端接口。针对接口复杂的后端端口,jmeter可以导入jar包,实现多种协议的测试,扩展性很强。因此jmeter更适合服务器端性能测试。
Jmeter的GUI方式的测试简单,容易上手。然而,如果要实现大并发测试,只能采用non-gui 的方式。利用non-gui的测试方式会面临一下两个问题:
1)一般利用性能测试,如果并发量,端口号,nginx或API的ip地址发生变化,脚本都需要重新修改。
2)另外,jmeter命令行生成的测试报告,仅对单一的并发量有效。当需要测试的并发量设置为一个任意值,且需要多组并发量来衡量某个接口的性能时,需要多组脚本。
3)jmeter的扩展工具可对测试期间CPU,内存统计工具,但仅对tomcat项目或java项目有效。
如果是C,python项目,统计工具无法生效。
技术内容
针对现有技术需要重写脚本,且测试结果生成很麻烦,将运行结果文件导出来非常耗时,浪费大量时间的缺点,提供了一种基于Jmeter的自动化性能测试方法及系统。
所述基于Jmeter的自动化性能测试方法中,压测机服务器、API服务器及数据库均在由代理服务器提供网络连接的同一个内网中,所述压测机服务器与API服务器通过API接口进行连接,所述数据库提供API接口所需要调用的数据,压测机服务器上加载Jmeter性能测试工具,所述方法包含以下步骤:
S1:启动Jmeter性能测试工具,设置压测机服务器发送请求的并发数、代理服务器的IP地址及端口号及每个请求的发送循环数;
S2:设置好步骤S1中的参数后运行Jmeter进行测试,将Jmeter测试结果保存在Jtl文件中;
S3:分析Jtl文件,编写统计结果代码,形成统计脚本,运行统计脚本,得到最终的统计结果,形成最终性能测试报告。
在本技术的一种基于Jmeter的自动化性能测试方法中,还包括编写Shell脚本来将步骤S1中的压测机服务器发送请求的并发数、代理服务器的IP地址及端口号、每个请求的发送循环数及Jmeter测试结果保存目录进行设置和参数化,将所述Shell脚本导入Jmeter并运行,以执行多个测试接口,多组压测机并发,多个不同IP地址或端口的测试。
在本技术的一种基于Jmeter的自动化性能测试方法中,所述Shell脚本通过C或Python编写。
在本技术的一种基于Jmeter的自动化性能测试方法中,根据步骤S3中所述Jmeter测试结果:第一列数据为时间戳,第二列代表响应时间,根据公式:每秒请求数=(总请求数/总运行时间)得到每秒请求数。