性能测试之利用jmeter开发脚本

前言

在这里咱不对比作者用过的或听说过的性能测试工具,因为通过百度就可以知道个大概。

本文主要是说jmeter,如何开发脚本、快速开发脚本、解决脚本的相关问题,总结其使用心得。

作者对jmeter算熟悉,尽管Loadrunner也同样的熟悉,但是目前从招聘JD中描述已知与它并驾齐驱。

一、JMeter介绍

本来已经粘贴好了一大段文字,但是我又删了,为什么呢?因为有些滥竽充数了,众所周知而已,

详细的介绍,作者推荐jmeter官网,具体可 参考官网,它上面不仅有介绍及安装步骤,还有各种元件的操作手册,还有更多高级玩法介绍,问百度不如看官网。欢迎不懂就问!!!

1.1、安装过程略

需要下载jdk、jmeter安装包;一般jdk1.8起一直下一步会自动加入path环境变量<java -version>

若没有则手动添加path环境变量,jmeter是免安装,解压即可,如需cmd快速启动,配置path即可。

启动jmeter界面效果如下:

1.2、如何使用

右键测试计划,创建线程组-->添加取样器-->添加后置处理器-->添加断言-->添加监听器-->ok完成!

tips:当然没有这么简单,注意:jmeter的元件是有执行顺序的,并不是元件位置至上而下执行。本文不介绍使用!

二、录制脚本

说起录制脚本,谁又能比得过Loadrunner呢?但是今日jmeter也不遑多让。

2.1、Badboy+jmeter录制

这个组合呢,很受初学者的欢迎,但是作者告诉你,它和浏览器多少会有些兼容问题,会出现让你录制失败而不得不放弃选择其他的方式开发脚本,到头来会得不偿失,建议放弃!!!

2.2、HTTP(S) Test Script Recorder[ (was: HTTP Proxy Server ) ]

名字很有意思,之前叫http代理服务器,通过设置代理将请求录制到线程组,现在叫测试脚本录制器。

第一步:右键先添加一个线程组(放置录制的脚本)

 

第二步:右键添加非测试元件:HTTP(S) Test Script Recorder


如下设置:port代理端口,需要在浏览器设置代理端口保持一致,https domains就是你要访问的地址


第三步:需要设置本地代理服务器,设置浏览器高级设置,端口与jmeter的代理端口保持一致;
第四步:点击启动,会出现弹窗,点击确定,会在jmeter/bin目录下生成证书,此证书是为录制https准备的,


如果需要录制https协议的脚本,则需要添加jmeter信任证书,点击直接安装即可


第五步:点击启动,确定弹窗<每次都弹>,新版本已经可以添加事务了,即每次不同的业务场景可以命名事务

可以看到每次不同的事务名称:index\login\view\replay\topic

第六步:则可以退出录制,点击绿色三角,开始回放脚本(这一步之后,一需要分析脚本;二完善脚本),毕竟回放不一定能成功,因为这里涉及参数关联(也可能是鉴权校验等限制)

那么录制脚本到这里就结束了吗?

很明显没有,作者有此一问,是要教各位高效的录制脚本过程,怎么做?

Jmeter为使用者提供了更高级的功能:快速创建测试计划模版:你可以点击文件或者点击工具栏第二个绿色书本icon,选择名字叫Recording的模版,一路创建即可。


它有几个好处:一是添加了很多默认元件,二是在线程组添加了录制控制器可以一键清除,三是默认设置了过滤器

2.3、手写http协议的脚本(略)

这个没啥可说,一是通过抓包工具、二是接口文档;一步一个脚印,这是没有捷径可走的。

2.4、其他协议的脚本

要是遇到dubbo、soap、mq等协议的接口如何开发脚本呢?这里不详细说明,但是会给大家一个解决方案

  1. dubbo协议:两个方案,一是telnet这个命令,二是开发jmeter采样器插件。

第一种不能复用,用来调试就可以;

第二种有要求难度大,有幸,别人已经开发好了插件,所以是不用重复造轮子了, github下载地址

  1. soap协议:jmeter原来是有支持的,当然现在也支持,只是稍微变了点样子。

jmeter提供了创建模版,快速创建soap协议的测试脚本,不要去浪费时间想办法录制、手写啥的。


这里soap request只是名字,其实就是http sampler采样器,soap协议,我推荐soapUI,它完全是为soap制造的

  1. mq协议,是不是有些懵逼?

作者也懵,甚至有些项目都没用过mq这类框架。但是全完不妨碍有测试它的办法, github下载地址

三、总结

总结不一定是心得,也可以是在开发脚本过程中遇到的问题,并且有了解决办法,这个心得、甚至是经验很有价值

3.1、问题

手写脚本也好、录制脚本也罢,总归是完成脚本开发,回放或调试过程中没有问题,那是不可能的。

  1. 脚本请求成功了吗?
  2. 录制回放成功了吗?
  3. 都成功了,那么数据入库了吗?

jmeter请求sampler只是响应成功,并不代表业务成功。

3.2、jmeter脚本录制乱码


一般情况是设置http sampler请求的编码格式 

二是修改jmeter.properties配置文件sampler的编码格式 

三是添加前置处理器指定编码格式

以上三类方法是用来解决响应乱码、post请求输入中文结果乱码;这是录制时入参就乱码了?

作者尝试了多种办法,结果一无所获,唯有跑去jmeter官网下载最新5.4.1版本,完美解决;

在录制元件有个编码方式,再说说新版的UI,看上去顺眼很多、比较细腻,感觉也很高大上。

3.3、问题到这里就解决了吗?

不是,这里只是将脚本开发完,性能测试说的还是场景设计。最终脚本开发如下:

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

  全套资料获取方式:点击下方小卡片自行领取即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值