jmter测试

本文旨在记忆jmter操作,如有错误请温柔指正。

场景描述:任务是完成公司项目的压力测试,采用的工具是jmeter。

新建一个testplan这个其他博客都有讲到,单个的测试也比较简单这里就不赘述了。假设要测试500,1000个样本,这种该如何测试。这里只需要设置线程数,时间就可以,然后在http请求里填地址就可以了。这是非常简单的测试,如果我的http请求里面有参数呢,那不可能一个个填写的对吧!这里就要借助csv数据文件设置了。

文件名是你的资源参数所在的路径,像我就直接放在d盘。变量名称就是你的参数名,这里怎么填都无所谓,不过最好起跟http请求参数相对应的名字,因为好记。分隔符建议使用逗号,然后这个csv文件就设置好了。

接着就是在HTTP请求那里填写参数了。

如图所示:假如我的http请求为登录接口,username,password参数,注意,这里的值就很关键了,这里必须要跟你的csv文件参数相对应${username},跟请求参数相同就是为了怕搞错。做到这里,请求这里已经做的差不多了,点一下run,可以查看汇总报告的内容

这里就是汇总报告了,箭头所指向的几个参数是比较重要的之妙,samples样本是200,Average以毫秒记,至于为什么要那么久,抱歉,带宽问题(论坛上有人指出,如有专业测试劳烦留言告知我一下可能性)。

做到这里就差不多,结束了。但是,在这里还要再提一个问题,登录成功之后,假如我要顺着登录这个口子继续做其他事情呢?就是说当用户登录完毕之后,我想要发起其他的http请求该如何做,而且,最关键的是其他请求跟登录请求是一个顺延的关系,先登录才能做其他的事情。这就要求我在登录之后,从登录成功的返回值中拿到token,用做下一个请求的请求头或者参数。

方法类似,还是要借助csv工具。

在登录请求的那个plan里面建立一个Json提取器(我的返回值是json,至于其他可能用正则比较好)

如图,我的返回值json格式为data:"{access_token:""}",对应规则要看清楚。

然后再新建一个http请求,在请求参数那一栏中,将access_token=${access_token}填如即可,这样就完成了顺延的请求测试了。

按理说我这里就差不多了,但是我补充一种,我将登录请求之后的返回值存在本地,然后再新建一个testplan,弄一个csv提取器,将刚才的路径填在csv就行了。这里的难点是如何保存在本地。

新建一个BeanShell

看图,这个是后置处理器的一个选项,然后在script里面填入代码。

(图太小不想敲?懂)

FileWriter fstream = new FileWriter("D:\\login.txt",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("access_token"));
out.newLine();
out.close();
fstream.close();

对应参数根据实际出发,做到这一步基本就可以了,我是将返回的响应参数放到了D盘,在另外一个testplan里面的csv路径跟这个路径就能保持一致了。然后的步骤就是重复我登录的接口就行了。

累死我了>__<

参考文档:https://blog.csdn.net/nielinqi520/article/details/80310806

猜你喜欢

转载自blog.csdn.net/weixin_41195786/article/details/84068780