JMETER 压测遇到的坑

作者: 壹粒砂 | 来源:发表于2019-04-27 11:07 被阅读16次

    简单说一下场景:抢权益,类似于秒杀。一个登陆用户只能抢一个。必须要验证用户是否登陆,登陆后才能抢。

    一、使用CSV Data Set Config 来参数化

    准备好需要登陆的登陆账号,因为我们使用的验证码登陆,所以我使用了万能验证码(这个需要运维帮忙开放一个万能验证码)。

    首先新建一个txt文档,把所有的号码粘贴进去,保存到本地。类似于一下:


    1.jpg

    然后先添加一个Thread Group,添加信息头就不用说了塞。 然后添加一个CSV Data Set Config (Add -> Config Element -> CSV Data Set Config)

    2.jpg

    然后填写参数

    3.jpg

    二、添加登录接口

    4.jpg

    注意body data的数据,变量的传入

    三、正则表达式提取token值

    5.jpg

    说明:

    (1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。

    (2)正则表达式:

    ():括起来的部分就是要提取的。

    .:匹配任何字符串。

    +:一次或多次。

    ?:不要太贪婪,在找到第一个匹配项后停止。

    (3)模板:用引用起来,如果在正则表达式中有多个正则表达式,则可以是$23等等,表示解析到的第几个值给title。如:1$表示解析到的第1个值

    (4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

    (5)缺省值:如果参数没有取得到值,那默认给一个值让它取

    四、把token值放入cookie值中

    这里也是我琢磨了很久的。最后发现下一个接口token值并不是入参,所以并不能像大多数网上的解决方案那样,直接使用token值作为入参使用。必须把token值放入到cookie中去

    这里应该用cookie管理器,但是我用的信息头。不过都一样的,我写的要复杂点。

    6.jpg

    这样配结果中就是这样

    7.jpg

    五、配置抢权益接口

    8.jpg

    六、配置监听器

    9.jpg

    看需要自己选取

    总结:自己再cookie处坑了很久。一直以为接口实现是把token作为了入参。后面和开发沟通,他说放在redis中的。最后一下想通了。

    技术不熟练,欢迎评论交流!

    相关文章

      网友评论

        本文标题:JMETER 压测遇到的坑

        本文链接:https://www.haomeiwen.com/subject/sqbhnqtx.html