目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
在实际业务场景中,很多业务都需要先登录才能正常使用。
在做接口性能测试的时候,需要测试登录后才能访问的接口肯定是无法避免的。
那么,我们怎么才能完成先登录后发出请求的性能脚本呢?
思路
1、发出登录请求
2、提取响应的认证内容
3、后面的请求引用认证内容
提出问题
做性能测试,是模拟多个虚拟用户实现并发的,那我们的登录接口也需要重复发起吗?
可以类比一个场景
做UI自动化的时候肯定也需要登录的,一般我们会将登录放到全局前置来操作,所以整个测试流程下来只需要登录一次。
关键点
一个用户只需要登录一次,避免重复发起登录请求,造成不必要的资源消耗。
最简单的场景
所有虚拟用户使用同一个用户账户,每次都是先调登录接口,再调登录之后接口请求吗?
如果你的系统,业务上允许一个用户在不退出情况下,反复登录,且没有登录次数限制,这种最理想的情况,你完全可以这么做。
做完了,你可能会想,我不用一个账户,100个并发用户数,我就用100个独立账户,
每个用户拥有独立账户
每个虚拟用户都试用一个独立账户,还是先调登录,再调登录之后接口请求,这样可以吗,要怎么做?
在你的线程组里面用上csv数据文件设置读取出用户账户信息,或者用JDBCrequest从数据库获取出用户信息。
然后再在登录接口中用取出的用户信息来登录。
这样,在性能测试时,就会循环使用你用户总量中的用户来发送请求。
这样,理论上是行的通的,但是,现实有些骨感。
因为做性能测试,使用的是高并发,可能存在竞争关系,可能出现后续接口,使用的关联参数取不到值的情况。
从而导致请求报错,而这种错误,不是性能测试服务器响应报错,而是脚本问题导致报错,影响我们对性能结果的判断。
那么,我们就会问,还有没有其他办法呢?
解决问题的好办法
上面也说了一个关键点:一个用户只需要登录一次。
既然我们一个线程就是一个模拟用户,那我们只需要针对每个线程做到只发出一次登录请求,其他接口可以无限次发起。
具体步骤
1、在线程组下添加一个逻辑控制器【仅一次控制器】
2、在该逻辑控制器下添加登录请求
3、登录请求下添加提取器,提取登录响应内容
4、和逻辑控制器平级下添加需要并发的请求
…
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有在挫折面前不屈不挠,才能拥有成功的喜悦;只有在付出汗水的时候,才会收获辉煌的成果。奋斗吧,让努力成为一种习惯,让坚持成为一种信仰,你将收获人生最美好的回报。
每一个成功者,都曾面对挫折和失败。但他们从未放弃,一次又一次地尝试,最终成为了伟大的人物。所以无论何时,都要坚持不懈,直到成功为止。
每一步跨出去,都是变得更加优秀的决定。不要停下来,即使失败了也要继续前进。只有坚持和付出才能收获成功的果实。让我们一起努力,成为最好的自己!