loadrunner脚本之关联token代码实例演示

1.session

session的作用:服务器要知道当前发请求给自己的是谁,
为了做这种区分,服务器就给每个客户端分配不同的身份标识
session存在:
内存
cookie本身
缓存中,比如说redis
数据库中
session机制:是一种服务器端的机制,客户端对服务器请求时,
服务器会检查请求中是否包含一个session标识(sessionid)

2.token

token的意思就是令牌:
1.客户端使用用户名和密码请求登录
2.登录成功之后,点击投标
3.生成一个token信息
4.后面输入金额,进行投标的时候,需要拿着这个金额+token一起来服务器认证
5.认证成功了,就投标成功

3.代码示例

Action()
{
	

	//放在事务之前,为了保证时间更正确

	web_reg_save_param_ex(
		"ParamName=success",
		"LB=<p class=\"success\">",
		"RB=</p>",
		SEARCH_FILTERS,
		"Scope=ALL",
		LAST);

	
	
	lr_start_transaction("登陆开始"); 

	
	web_submit_data("登陆",
		"Action=http://120.78.xxx.xx:8765/Frontend/Index/login",
		"Method=POST",
		"EncType=application/x-www-form-urlencoded;charset=UTF-8",
		"RecContentType=application/json",
		"TargetFrame=",
		"Referer=http://120.78.xxx.xx:8765/Index/login.html",
		"Mode=HTTP",
		ITEMDATA,
		"Name=phone", "Value=1391xx86542", ENDITEM,
		"Name=password", "Value=520xxtest", ENDITEM,
		"Name=vcode", "Value=", ENDITEM,
		"Name=remember_me", "Value=1", ENDITEM,
		"Name=notify_url", "Value=", ENDITEM,
		LAST);
	
	lr_end_transaction("登陆结束", LR_AUTO);

	lr_error_message("登陆成功:%s",lr_eval_string("{success}"));
	//比较2个字符串是否一致,一致则表明匹对成功,获取的信息一致
	if(strcmp(lr_eval_string("{success}"),"登录成功")==0){
		lr_end_transaction("登录成功", LR_PASS);
	}else{
		lr_end_transaction("登录失败", LR_FAIL);
	}


    
   //ID关联
	web_reg_save_param_ex(
		"ParamName=ID",
		"LB=href=\"/loan/loan_detail/Id/",
		"RB=.html",
		"Ordinal=1",  //捕获到多个ID,取第几个值
		SEARCH_FILTERS,
		"Scope=ALL",
		LAST);

	

	web_url("首页",
		"URL=http://120.78.xxx.xx:8765/Index/index",
		"TargetFrame=",
		"Resource=0",
		"Referer=",
		"Mode=HTML",
		LAST);

	
	web_reg_save_param_ex(
		"ParamName=token",
		"LB=data-token=\"",
		"RB==\"",
		"Ordinal=1",
		SEARCH_FILTERS,
		"Scope=ALL",
		LAST);

	
	web_url("ID",
		"URL=http://120.78.xxx.xx:8765/loan/loan_detail/Id/{ID}.html",
		"TargetFrame=",
		"Resource=1",
		"Referer=",
		"Mode=HTML",
		LAST);
   
   if(atoi(lr_eval_string("{ID}"))>=1){
		lr_end_transaction("ID获取成功",LR_PASS);  //成功
		lr_output_message("ID获取成功,值为:%s",lr_eval_string("{username}"));
	}else{
		lr_end_transaction("ID获取成功",LR_FAIL); //失败
	}
   

    lr_error_message("ID获取成功:%s",lr_eval_string("{ID}"));  //注意输出语句要放在参数显示的后面,不然会获取不到参数值
   
	lr_start_transaction("投标开始");

  
	web_submit_data("投标",
		"Action=http://120.78.xxx.xx:8765/Invest/invest",
		"Method=POST",
		"EncType=application/x-www-form-urlencoded; charset=UTF-8",
		"RecContentType=application/json",
		"TargetFrame=",
		"Referer=",
		"Mode=HTTP",
		ITEMDATA,
		"Name=id", "Value={ID}", ENDITEM,
		"Name=val", "Value=1000", ENDITEM,
		"Name=token", "Value={token}", ENDITEM,
		"Name=rewardValue", "Value=0", ENDITEM,
		LAST);
	lr_end_transaction("投标结束", LR_AUTO);
	lr_error_message("token获取成功:%s",lr_eval_string("{token}"));


	if(strcmp(lr_eval_string("{token}"),"1")==0){
		lr_end_transaction("token获取成功",LR_PASS);  //成功
		lr_output_message("token获取成功,值为:%s",lr_eval_string("{username}"));
	}else{
		lr_end_transaction("token获取失败",LR_FAIL); //失败
	}
	
	
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米雪唲2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值