loadrunner 12 ---token、session 设置跳过登陆 & web_add_cookie()、web_add_auto_header()

问题

cookie 和token 同时存在,token设置了关联,cookie没设置关联,多人并发执行场景报错。

分析

cookie 是 浏览器本地的缓存的值,同时只能存在1个,多人同时登陆,浏览器保存的是最后一个user的cokie ,所以报错。
需要将 user、token、cookie 三者 对应起来。
token 和cookie 有一部分的值是相同的。

解决思路

将cookie、token写成参数,后续脚本直接调用参数
参数设置:
在这里插入图片描述

	web_add_auto_header("token",  //自动往后续调用接口的header中添加 token
		"bearer;{Cookie}");    
	

	web_add_cookie("ParametersCookie=Ture;path=/;domain=地址;token-test={Cookie}"); //设置cookie

注意:1、参数取值要根据对应的User取值,故 user和cookie(token)的顺序要在同一行
2、登陆账号可通过 RedisDesktopManager 获取

函数详解:web_add_cookie()

web_add_cookie(“ParametersCookie=Ture;path=/;domain=地址;token-test={Cookie}”); //设置cookie
函数原型:int web_add_cookie( const char *Cookie);

其中cookie参数列表格式添加如下:
name=VALUE; (required) //需要添加的cookie变量名=变量值,必须有
domain=DOMAIN_NAME; (required) 需要cookie的域名,必须有
expires=DATE; 失效日期 可以可无,最好有。
其实该字段是根据服务端设置的,服务端设置可以保存多长时间,就保存多长时间,Lr在模拟时该时间一般要在服务端允许的时间范围内,但是不在范围内好像也不报错,估计也不会有用,有的cookie是根据session来的,比如截图中的cookie有效期为end of session,意思就是session死了,cookie也就失效了,所以你设置再长时间也没有用啦。
path=PATH;(default path is “/”) //cookie的适应范围,
/代表该cookie从该程序的根目录起适用,lr中按照此设置即可。

函数详解:web_add_auto_header

因为需要,请求头有时候要带上一些参数,比如cookie、token、ssession等等,平时用web_add_header()就行了,但是如果是多个请求,而每个请求头都要加上参数,这下就必须用web_add_auto_header(),比如在测试多接口的情况下。使用web_add_auto_header()会自动把参数都加入到每个请求头里。

web_revert_auto_header()

禁止(停止)脚本将自定义的(特定)请求头信息,添加到后续HTTP请求中使用
https://blog.csdn.net/testingstar/article/details/78090511

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值