jmeter批量执行关注用户的能力

发布于:2022-08-04 ⋅ 阅读:(218) ⋅ 点赞:(0)

背景

最近版本需求里有个功能,每个人只能关注3000个用户,超过上限就会提示不可继续添加,但是测试环境测试号关注的人都很少,如果一个个搜索别人去关注的话,效率太低了,于是就想着调用接口来添加,那么用jmeter的批量来循环调用接口就很方便。

过程

我是第一次真正意义上自己使用jmeter来做接口测试,于是先在脑中大致想了一下操作步骤。首先我需要调用登录接口,然后拿到用户的uid和token;之后再调用关注接口,传入当前用户的token和需要关注的用户的uid。

登录接口调用和关注接口调用

1. 因为开发的接口文档不是很好维护,于是我自己通过Android抓包,找到了登录的接口,感谢用的是get请求,拿到接口后,直接传入用户的手机号和密码就能请求成功,然后拿到用户的uid和token

2. 查看结果树里可看到uid和accessToken数据。

3. 因为接口响应是json格式,所以我添加一个后置处理器 - json提取器,分别用来提取uid和token

 

 4. 这样提取到的数据就属于参数化了,我在下一个关注接口中就可以直接使用了,jmeter里的变量使用需要加$符号哦

 5. 综上其实已经完成了关注用户的行为,但是我需要的是关注100个用户,所以我需要100个uid来供我关注,所以登录接口那边我需要进行参数化,然后拿到100个uid。

 循环提取uid,进行关注用户操作

1. 自定义了一个userInfo.txt的文档,里面传入手机号和密码,存入了100个手机号和密码。

2. 在线程组里新建一个CSV数据文件设置,然后将本地的txt数据放置进去,并且定义2个变量名,username和password

 

 3. 既然这里用了变量名了,那么登录接口那边的参数内容也需要用变量名的样式,这样接口调用时才会从txt文档里拿数据

4. 到这里,其实已经实现参数化了,但是执行的时候会发现,登录只取了第一条数据,所以关注接口也只执行了一次,因为线程组那边的循环次数没改,默认设置的是1

5. 因为我需要接口每次从文档里读取不同的手机号数据,所以循环我设置的是线程组1,循环次数为100

6. 之后就直接调用接口,就会发现执行了100次关注。但由于有的账号可能密码是错的,或者网络问题导致关注失败,所以在关注接口中我又加了一个响应断言。方便我查看是哪个账号关注的时候失败了。

我用的是响应文本,因为有的是单方面关注,有的是互相关注,有的账号已经关注过了,所以我的匹配模式选的是或者,测试模式里任意匹配成功一个都算作关注成功。之后就是一键执行啦。

 

 总结

一个岗位呆的久了,有时确实容易温水煮青蛙停止不前了。jmeter5年前我就听说了,并且尝试用过,但是每次都是无功而返。这一次我就打定主意一定要把这个自动关注的接口弄好,并且不要求助别人。

因为项目提测在下周五,所以还有时间,我想的是给自己3天时间,我就不信完成不了。

结果就是我只花了3个小时的时间,就把这块弄好了。所以有些东西其实没有那么难,而是我们没有去认真对待。

昨天看到一句话,一个人学习一个新技能的时候,可能2年就能学到90%,而最后的10%可能你要花费10年甚至20年都不一定能达到,那么作为普通人的我们,其实学会90%就已经够用了啊,遗憾的是很多人不愿意花2年来完成而已,大部分人都是坚持不了1个月或2个月。

发出来与大家共勉,测试这行虽然很卷,但我们静下心来学习还是会有收获的,希望大家都能成为更好的自己!

 

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告


今日签到

点亮在社区的每一天
去签到