jmeter脚本写个小demo(html论坛自动发帖、json龙果学院-前后端分离)

bbs

bbs论坛实现登录、进入每个模块、在每一个模块发帖,有二级页面的在二级页面发帖,随机在某个模块发帖。
jmeter新建一个线程组,添加cookie管理器,请求默认值,请求,察看结果树
在这里插入图片描述
添加好默认值(ip和路径)
在这里插入图片描述
添加请求(要先进入首页,然后登录,登录后进入首页)
首页直接用请求默认值就行,不用设置
登录请求需要在浏览器中F12抓包,找到接口和传参(登录成功后F12会自动跳转到下一页的接口,所以要设置持续记录所有接口)
在这里插入图片描述
把接口中抓出来的路径和请求参数粘贴到jmeter中
在这里插入图片描述
登录后首页也不用设置
执行一下可以看到,现在是登陆成功的
在这里插入图片描述
登陆成功然后我要进入这些版块,但是不能设置固定的,有几个设置几个,而是要让它自动,如果页面增加或者减少了版块,不需要对脚本改动也可以成功进入的。
想进入这些版块就先需要获取到对应的版块,这些都可以从首页获取,用正则提取器提取出来
看看这些版块的接口有什么规律
默认版块:http://127.0.0.1/testbbs/forum.php?mod=forumdisplay&fid=2
android开发:http://127.0.0.1/testbbs/forum.php?mod=forumdisplay&fid=46
iOS开发:http://127.0.0.1/testbbs/forum.php?mod=forumdisplay&fid=47
性能测试:http://127.0.0.1/testbbs/forum.php?mod=forumdisplay&fid=42
功能测试:http://127.0.0.1/testbbs/forum.php?mod=forumdisplay&fid=48
可以看到只有fid不同,其他都一样
那么只需要在首页中准确定位到fid,把这些fid都提取出来就可以了
正则表达式的边界要确定好,不然可能会不准确(定位边界没什么技巧,只能去试)
在这里插入图片描述

可以添加一个Debug Samper(调试取样器)来看我提取的内容是否取到了
可以看到我取到了,但是有点乱,不知道是不是只提取了一个
在这里插入图片描述
这时可以添加foreach控制器,从fids中把fid一个个取出来
在这里插入图片描述
在foreach下可以添加一个java请求来进行测试,让resultdata打印fid
在这里插入图片描述
这里可以看出fid确实打印出来了,但是我只有5个模块,却提取出了10个请求,说明正则提取的还是有问题
在这里插入图片描述
继续尝试
在这里插入图片描述
执行,这回可以看出打印了5个请求,5个请求的值都是不同的,说明这回我把5个模块的fid都准确的获取到了
在这里插入图片描述
在foreach下面添加请求
还是找到页面的接口,把fid改成可变的
在这里插入图片描述
然后执行看看,可以看到已经成功进入不同的模块
在这里插入图片描述
然后我想要在不同的模块中发帖
这又是另一个接口
继续抓包,post的是发帖的接口
在这里插入图片描述
路径和请求分别粘出来复制到请求中

在这里插入图片描述

这里需要传哈希值,所以需要提取哈希,直接在响应数据的位置找就可以
在这里插入图片描述
发帖时间可以用函数助手获取10位的时间戳
在这里插入图片描述
这里是设置好的参数,提取哈希,设置发帖时间,标题我用jia+当前发帖时间替代,发帖内容我随机生成了一串字符串
在这里插入图片描述
执行一下看看,可以看到我发贴是成功的
在这里插入图片描述
刷新一下浏览器,可以看到我在每个模块发帖都是成功的
在这里插入图片描述
如果想随机选择一个模块进行发帖,只发一条,只需要在提取fid的时候把匹配数字写成0就可以,0代表随机,然后把发帖的请求放在迭代器外面
提取fid时用的名称是fids,所以这里要用fids
在这里插入图片描述

执行看看,发表成功
在这里插入图片描述
如果当前模块有二级模块,那么在foreach里再添加一个foreach
在这里插入图片描述
执行可以看到子模块也是发帖成功的
在这里插入图片描述

龙果学院

登录后请求接口
在这里插入图片描述
设置请求默认值
在这里插入图片描述
抓包找到请求参数
在这里插入图片描述
把请求参数放到jmeter的请求中
在这里插入图片描述
执行可以看到,虽然是绿色的,但其实是没登录成功的
在这里插入图片描述
因为要设置信息头
抓包时看到请求是JSON格式,如果不设置信息头那么默认是text文本格式
在这里插入图片描述

在这里插入图片描述
所以设置信息头
在这里插入图片描述
然后再执行,这时就是登录成功的
在这里插入图片描述
然后找一个接口请求看看,看我的课程这个接口
要传入的token,orgNo和userNo都需要从登录接口提取
在这里插入图片描述
所以要添加后置处理器-JSON提取器
在这里插入图片描述
请求参数是这些,但是只有这些直接执行是失败的
在这里插入图片描述
这里还有请求头,请求头也是要添加的
在这里插入图片描述
添加请求头,要和F12中的请求头对应上
在这里插入图片描述
这时再执行就是成功的状态
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值