全网最细,Jmeter接口测试-实现动态关联实战整理,你要的都有...


前言

业务场景:
用户输入正确的用户名及密码登录系统,若该登录用户存在多个公司则需要选择相应的公司进入系统(若仅有一家公司则直接进入系统),可浏览公司相关产品信息。

实现逻辑:
用户登陆成功后首先会获取一个token值,出于安全机制会同步提供一个access_token。登录时选择公司及进入系统后的操作,如浏览产品会校验token值与access_token值是否正常。

两者均正常,则可操作成功,但未传token值与access_token值或其失效的话,后续操作失败。

两个接口在同一个线程组:
如果两个接口在同一个线程组中,JMeter实现动态关联比较简单,通过添加Http信息头管理器可以完成。

如下图所示,登录选择公司时没有传相应token及access_token,导致选择公司接口执行失败,后续产品浏览相关操作也同样失败。

C1

我们看下HTTP信息头管理器中的内容,通过变量 t o k e n 获取登录请求下的 t o k e n 值,通过 {token}获取登录请求下的token值,通过 token获取登录请求下的token值,通过{token_tpye}${access_token}获取AccessToken请求下对应token类型及access_token值。

C2

启用HTTP信息头管理器后,再次执行可以正常通过。

C3

如果登录系统与浏览产品不在一个线程组下,那如何实现参数的动态关联呢?

今天在学到这块的时候,总结了下大致思路,不足之处希望大家指正。

两个接口不在同一个线程组:
现在登录系统与浏览产品不在同一个线程组下,如果按照之前那种处理方式,添加一个HTTP信息头管理器执行发现仍然报401错误,如图所示。

C4

解决思路:
1、先提取上一个接口中的token与access_token值;
2、将提取出来的token与access_token设为全局变量;
3、同时需要用到Beanshell取样器,目的用来执行一段java代码;
4、这里需要用到函数助手__setProperty将token与access_token设为全局变量,将生成的代码

${
    
    __setProperty(Token,${
    
    token},)}

${
    
    __setProperty(Token_Type,${
    
    token_type},)}

${
    
    __setProperty(Access_Token,${
    
    access_token},)}

放入Beanshell取样器中;

5、在下一个接口中通过函数助手__property 生成代码

${
    
    __property(Token,,)}

${
    
    __property(Token_Type,,)}

${
    
    __property(Access_Token,,)}

6、在下一个接口中,HTTP信息头管理器中通过第5步生成的代码获取响应的token与access_token值。

操作步骤:
1、通过函数助手__setProperty将token,token_type,access_token设置为全局变量,并放入BeanShell取样器中;

C5

2、通过函数助手__property生成可被调用的Token、Token_Type、Access_Token表达式和对应名称,在下一个接口中,HTTP信息头管理器中调用相应的值。

C6

至此,接口已经调试通过。

C7

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生犹如航行的船只,每一次奋斗都是向前扬帆的力量。不要畏惧风浪,勇往直前,相信自己的努力和坚持,终将驶入成功的港湾,让梦想的旗帜翻飞,展示奋斗的光芒与荣耀!

奋斗是梦想的翅膀,拼搏是实现的起点。不论前路有多崎岖,只要心怀勇气和坚定,脚下就有一条通向成功的道路。相信自己,勇往直前,用汗水浇灌理想,终将绽放出辉煌的人生之花!

梦想是奋斗的指南针,汗水是成就的滋养剂。不论身处何境,怀揣信念前行,每一步坚定向前,都是自己人生的勇敢注脚。奋斗的路上创造辉煌。

猜你喜欢

转载自blog.csdn.net/csdnchengxi/article/details/132300823
今日推荐