以JMeter登录录制脚本为例,让大家搞懂事务和单一接口的关系

以JMeter登录录制脚本为例,让大家搞懂事务和单一接口的关系_第1张图片

 

绝大多数刚刚入门性能测试的小伙伴都分不清事务和具体请求的关系,那么今天我就用一个登录的实例让大家彻底理解二者的区别!话不多说直接上例子!

录制登录系统过程

我们以通过ldap方式登录Metersphere为例(这里只是举一个系统登录的例子,没有使用过Metersphere的小伙伴也不用担心)

以JMeter登录录制脚本为例,让大家搞懂事务和单一接口的关系_第2张图片

 

使用JMeter进行系统登录的录制操作,详情请参考文章:避坑指南!一文帮您解决Jmeter录制chrome操作过程中遇到的问题!_jmeter录制浏览器_测试开发Kevin的博客-CSDN博客

录制脚本如下:

以JMeter登录录制脚本为例,让大家搞懂事务和单一接口的关系_第3张图片

 我们check这些录制的接口,不难看出与ldap登录相关的接口其实只有一个,如下图:

以JMeter登录录制脚本为例,让大家搞懂事务和单一接口的关系_第4张图片

 我们只是登录,为什么会录制出这么多的请求呢?很简单,就是在页面中进行登录这一个动作,实质上调用了后端很多请求!

后面的其他请求又都是什么呢?我们以其中的一个请求metersphere/project/list/related-490  为例进行分析,显然这个请求获取了userid 和workspaceId。

以JMeter登录录制脚本为例,让大家搞懂事务和单一接口的关系_第5张图片

最后划重点

看到这里 我们就可以理解了:metersphere/project/list/related-490 是一个接口,但不是登录接口!是登录成功后,需要获取信息的接口,这个接口获取的数据会显示在登录页面中。

如果我们只想测试登录接口的性能,我们只需要测试接口metersphere/ldap/signin-483 就可以了;

那么如果我们要测试系统的登录性能,需要测试录制的所有接口!因为这里的登录性能是一个事务的概念!在使用Jmeter时,我们可以把所有的请求都放在一个Transaction Controller中,这样在统计的时候就会记录这个Transaction的整体耗时以及处理能力。

于是请大家记住下面这个结论,重要的事情说三遍!

一个事务中包括多个请求(即接口)!

一个事务中包括多个请求(即接口)!

一个事务中包括多个请求(即接口)!

看到这里,相信大家这次一定会理解事务和具体请求二者之间的关系了吧!我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

  

你可能感兴趣的:(性能测试,jmeter,jmeter,性能优化,测试工具)