美文网首页软件测试
需要先登录的接口如何做性能测试?

需要先登录的接口如何做性能测试?

作者: 0fdd04f992cd | 来源:发表于2019-12-18 12:02 被阅读0次

我们的实际工作中,需要先登录,然后才能做某些操作的现象非常常见。

但是,对于一个刚刚学会用jmeter做性能测试的人来说,这可能是自己的性能测试之路的第一个坎。

为什么这么说呢

首先,从这个诉求中,我们至少能提取出两个重要信息:

1、需要登录

2、登录后才能做

以为着登录之后的接口,都有登录认证,判断是否登录,登录认证未通过,那么接口请求就会失败。

那么好了,问题来了。

我做性能测试,是需要用多个虚拟用户来实现并发的。

场景一:我是用把所有虚拟用户使用同一个用户账户,每次都是先调登录接口,再调登录之后接口请求吗?

如果你的系统,业务上允许一个用户在不退出情况下,反复登录,且没有登录次数限制,这种最理想的情况,你完全可以这么做。

做完了,你可能会想,我不用一个账户,100个并发用户数,我就用100个独立账户,

场景二:每个虚拟用户都试用一个独立账户,还是先调登录,再调登录之后接口请求,这样可以吗,要怎么做?

当然可以,做法也非常简单,就是在你的线程组里面用上“csv数据文件设置”读取出用户账户信息,或者用JDBCrequest从数据库获取出用户信息,然后再在登录接口中用取出的用户信息来登录。

这样,在性能测试时,就会循环使用你用户总量中的用户来发送请求,这样,理论上是行的通的。

但是,现实有些骨干,因为我们做性能测试,使用的是高并发,可能存在竞争关系,就可能出现后续接口,使用的关联参数可能取不到值,从而导致请求报错,而这种错误,不是性能测试服务器响应报错,而是脚本问题导致报错,影响我们对性能结果的判断。

那么,我们就会问,还有没有其他办法呢?

场景三:用一定量的用户登录一次,登录之后,再去调其他接口,是不是也可以呢?下面,我就重点讲讲这种做法。


还没明白?

下面,给大家解释一下,我们在一个普通的线程组下面,新增一个逻辑控制器中的‘仅一次控制器’,在这个控制器下面,新增一个 login登录接口的请求;

再在仅一次逻辑控制器平级的位置添加如 ‘重置密码’‘修改密码’等接口(模拟你的需要登录之后才能调用的接口)。

因为接口需要关联,所以,在登录接口下添加一个后置处理器(json提取器),提取出参数,最为后续接口的输入参数,实现接口关联。

从上面,是不是发现,线程数设置5,登录接口总共调用5次,而其他接口,在整个测试运行过程中,一直运行。

从最后的这个聚合报告,我们也可以看出,login接口,总共调用5次。

重置密码接口分别对5个用户进行了并发请求(从后缀可以看出),只是需要明确,并发请求,并不代表整个过程每个用户的并发总次数相等(从样本总数不同可以看出)。

好了,你是否已经懂得需要先登录才能请求的接口,性能测试脚本该怎么写了呢?

附带衍生的知识点是否get到了?

本文由Allen老师原创,转载须注明出处!


一节课了解接口性能测试!

需要学习视频,可加小米老师微信:13327316731

或者扫描下方二维码

相关文章

  • 需要先登录的接口如何做性能测试?

    我们的实际工作中,需要先登录,然后才能做某些操作的现象非常常见。 但是,对于一个刚刚学会用jmeter做性能测试的...

  • Locust 处理登录问题

    做接口的性能测试时,常需要先登录认证。一种方式是:先调用登录接口,从响应头中获取token信息;再将token写入...

  • 2018-12-06

    接口性能测试文档(预生产): 目标 后端接口性能测试前需要有量化目标。例如: N用户登录(或不登录状态),观察K线...

  • Jmeter中的setUp线程组实现用户先登录

    使用场景:在做购买流程性能测试时需要用户先登录,然后再获取用户的token传给需要登录的接口。jmeter中可以使...

  • Postman测试带cookie

    在测试接口时,需要先登录获取token,然后才能测试其它接口。在Postman中添加cookie的方法如下图 注意...

  • jmeter保存接口输出到txt

    前言:性能测试中很多情况下需要准备数据,比如登录token。当前事物无需登录注册接口的介入,还需要token作为登...

  • 性能测试方案模板

    背景 描述本次性能测试的背景 测试目标 描述本次性能测试的测试目标。比如说哪个场景的哪些接口: 用户购物场景登录接...

  • Jmeter处理cookie

    Jmeter测试接口时,往往需要先执行登录接口,在正常登录后才能继续进行下一步操作,本文主要介绍Jmeter如何保...

  • JMeter获取登录的token

    这是之前在公司一个实际的接口性能测试项目中,遇到的问题。现在有空总结一下。我们所做的项目一般都需要先登录,这个时候...

  • PostMan设置环境变量保存登录Token

    工作中有这种需求,测试接口时需要先登录,然后把登录成功的Token和Uid等信息传入获取个人信息接口的请求参数中。...

网友评论

    本文标题:需要先登录的接口如何做性能测试?

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