loadrunner12 获取token,存入文件

本文档介绍了一种解决方案,通过自动化脚本登录系统并抓取Cookie和Token,然后将其写入参数文件,以提高压测效率。具体步骤包括使用LR(LoadRunner)的web_reg_save_param_regexp函数来捕获Token,接着在登录操作后将Token写入文本文件,从而避免手动复制粘贴的低效过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

跳过登陆,直接设置cookie和token 进行压测时,需要知道用户的token值,从下图软件中获取需要挨个复制粘贴,较慢
在这里插入图片描述

解决

通过脚本账号登陆系统,获取token,直接写入参数文件中

代码实现

Action()
{
	int flen;  	
	long filedes;  	
	char file[256]="D:\\token.txt";  
			
	web_reg_save_param_regexp(
		"ParamName=Token",
		"RegExp=token-test=(.*?);",
		SEARCH_FILTERS,
		"Scope=Cookies",
		"RequestUrl=*/Login.aspx*",
		LAST);
		
	lr_start_transaction("login");
	
	web_submit_data("Login.aspx_2", 
		"Action={ip}/Login.aspx", 
		"Method=POST", 
		"TargetFrame=", 
		"RecContentType=text/html", 
		"Referer={ip}/Login.aspx", 
		"Snapshot=t151.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		"Name=__VIEWSTATE", "Value=/wEPDwUKLTE5NTc2MzgyN2Rkijbf9cHKLxdHWmvPwck4SSt22+8sHV3/wFeQnLqxcWU=", ENDITEM, 
		"Name=__VIEWSTATEGENERATOR", "Value=C2EE9ABB", ENDITEM, 
		"Name=__EVENTVALIDATION", "Value=/wEdAAcLnZNlnUz85ydGJj4EGdMBt93hYdIOB6Ps/2Dq0TZfLlwK8/1gnn25OldlRNyIedl/9BRvSY4VwnrafBovdLp5P1qEFGFACsSlXbPbUXTmTipfN33tJAUrNJnGsfw4NccSxqKF3aD/Hh+VrO5iCsU56vEYZcvGbRvwgNgUWYlU6hIXMxKlYTz5obWjOr6+wVo=", ENDITEM, 
		"Name=UserID", "Value={NewParam}", ENDITEM, 
		"Name=Password", "Value=111111", ENDITEM, 
		"Name=Code", "Value=", ENDITEM, 
		"Name=btnLogOn", "Value=登 录", ENDITEM, 
		"Name=hfwxid", "Value=", ENDITEM, 
		"Name=wxid", "Value=", ENDITEM, 
		LAST);

	lr_end_transaction("login",LR_AUTO);
	
	lr_output_message(lr_eval_string("{Token}"));
	
//	lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),"utf-8",NULL,"msg"); //很多时候返回值有中文,需要转码,转码后的值存在了msg中
	
//	lr_output_message("转换编码后msg----%s",lr_eval_string("{msg}"));  //打印返回值
	
	flen=strlen(lr_eval_string("{Token}"));
	
	lr_output_message("%d",flen);  //打印获取的token的长度
	
	if(flen > 0)	
	{	
	//以写方式打开文件	
	if ((filedes = fopen(file, "a+")) == NULL)	
	{	
	lr_output_message ("Unable to create %s");
		
	return -1;	
	}
	
	//写入文件内容
	
 // fwrite(lr_eval_string("{Token}"),flen,1, filedes);
	
//	fprintf(filedes,"%s  ",lr_eval_string("{NewParam}"));
	
	fprintf(filedes,"%s\n",lr_eval_string("{Token}"));
	
	//关闭文件	
	fclose(filedes);	
	}		
	return 0;
}

原文 https://www.jianshu.com/p/41b525e2c3f0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值