loadrunner使用web_add_header添加HTTP信息头(比如Content-Type,token等)和使用

本文介绍如何在LoadRunner中使用web_add_header添加HTTP信息头如Content-Type和token,以及如何通过web_custom_request函数提交JSON数据,包括设置请求方式为POST,填写请求地址,转义并输入JSON字符串,设置EncType为application/json。

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

关于loadrunner使用web_add_header添加HTTP信息头(比如Content-Type,token等)和使用

1.web_add_header添加HTTP信息头(比如Content-Type,token等)

 

2.用web_custom_request()函数实现提交json数据

 

Method填入相应的请求方式,我这是POST

URL填入请求的地址

Body填入请求的json字符串,此处注意要转义

EncType填入application/json

这样子就可以利用

Action() { //提前token web_reg_save_param_ex( "ParamName=token", "LB=\"token\":\"",//修正左边界 "RB=\"", SEARCH_FILTERS, LAST); //登录 web_custom_request("login", "URL=http://192.168.1.250:10003/gkgsbg_sz/login", "Method=POST", "Resource=0", "RecContentType=application/json", "Referer=http://192.168.1.250:10003/gkgsbg/", "Snapshot=t2.inf", "Mode=HTML", "EncType=application/json", "Body={\"username\":\"{name}\",\"password\":\"{pwd}\"}", LAST); //lr_output_message("获取的token:%s",lr_eval_string("{token}")); //查询操作检查点 web_reg_save_param_ex( "ParamName=msg", "LB=\"msg\":\"", "RB=\"", SEARCH_FILTERS, LAST); //开始事物 lr_start_transaction("CX"); //添加认证头 web_add_header("Authorization",lr_eval_string("Bearer {token}")); //公式库查询 web_custom_request("list_3", "URL=http://192.168.1.250:10003/gkgsbg_sz/gkgsGskInfo/list?pageNum=1&pageSize=20", "Method=POST", "Resource=0", "RecContentType=application/json", "Referer=http://192.168.1.250:10003/gkgsbg/", "Snapshot=t9.inf", "Mode=HTML", "EncType=application/json", "Body={\"kssj\":[],\"jssj\":[],\"name\":\"{GSMC}\"}", LAST); web_cleanup_header(); //lr_output_message("服务器返回消息:%s",lr_eval_string("{msg}")); //结束事物 lr_end_transaction("CX",LR_AUTO); return 0; } Action.c(38): 警告 -26593: 将添加的标头应用于生成的所有代表下一个脚本函数的 URL 时,可能会导致不可预测的结果。它只适用于主 URL。 [MsgId: MWAR-26593] Action.c(38): web_add_header("Authorization") 最高严重级别为“warning” [MsgId: MMSG-26391] Action.c(41): web_custom_request("list_3") 已启动 [MsgId: MMSG-26355] Action.c(41): 通知: 参数替换:参数“GSMC”=“木渎分区调度负荷” Action.c(41): 通知: 正在保存参数“msg = 查询成功”。 Action.c(41): web_custom_request("list_3") 已成功,2149 个正文字节,424 个标头字节,12 个分块开销字节 [MsgId: MMSG-26385] Action.c(52): 错误: C 解释器运行时间错误: Action.c (52): Error -- Unresolved symbol : web_cleanup_header
最新发布
08-13
<think>好的,我现在需要回答用户关于LoadRunnertoken使用方法及示例的问题。首先,我得回顾一下用户提供的引用内容,确保准确引用相关信息。用户提到的引用1到5主要涉及tokenLoadRunner中的关联、参数化使用场景。 首先,用户的问题集中在token的用法相关问题解决。根据引用1,token作为令牌,在客户端登录后生成,并在后续请求中用于认证。引用25提到了如何在脚本中获取token并通过关联将其传递到请求头中。引用34则涉及参数化函数的使用,比如lr_eval_stringweb_custom_request。 接下来,我需要组织回答的结构。系统级指令要求分步骤说明,并生成相关问题。首先应介绍token的作用,然后详细步骤包括关联方法、参数化、传递到请求头以及调试技巧。示例代码需要符合用户提供的引用中的格式,比如使用web_reg_save_param函数web_add_header。同时,要确保使用正确的LaTeX格式,尽管在代码示例中可能不需要数学表达式,但其他部分若有公式需注意。 需要验证每个步骤的正确性。例如,关联token通常使用web_reg_save_param函数,放在请求之前。参数化部分可能需要引用4中的参数设置方法。传递到header需要使用web_add_header,如引用2中的示例。调试部分引用3中的lr_output_message函数来输出token值,确保正确获取。 可能遇到的问题包括正则表达式提取token的准确性,参数化是否正确,以及header是否设置正确。需要提醒用户注意这些点,并参考相关引用中的示例代码。此外,生成的相关问题应围绕token的关联方法、参数化、调试实际应用场景展开,确保覆盖用户可能关心的其他方面。 最后,检查是否符合所有系统级指令:正确的中文回答、LaTeX格式(虽然这里可能用不上)、引用标注、相关问题生成。确保没有使用markdown,段落间用空行分隔,代码块用三个反引号包裹,引用标识自然添加在句末。</think>在LoadRunner中,token常用于接口认证会话保持。以下是具体使用方法及示例: ### 一、Token的核心作用 1. **身份认证**:客户端登录后生成token,后续请求需携带该令牌进行服务端认证[^1]。 2. **会话跟踪**:保持用户操作连续性,例如投标场景中需传递金额token组合参数[^1]。 ### 二、Token关联实现步骤 1. **捕获Token** ```c // 在登录请求前注册关联函数 web_reg_save_param("token_value", "LB=\"token\":\"", "RB=\"", LAST); // 发送登录请求 web_submit_data("login", "Action=http://api.example.com/login", "Method=POST", ITEMDATA, "Name=username", "Value={userName}", ENDITEM, "Name=password", "Value={encryptedPwd}", ENDITEM, LAST); ``` 使用`web_reg_save_param`通过左右边界提取响应中的token值[^2][^5]。 2. **参数化存储** ```c // 将捕获值存入参数 lr_save_string(lr_eval_string("{token_value}"), "auth_token"); ``` 通过`lr_save_string`将动态值保存为可重用参数[^3][^4]。 3. **请求头传递** ```c // 添加自定义请求头 web_add_header("Authorization", "Bearer {auth_token}"); // 发送业务请求 web_custom_request("bid", "URL=http://api.example.com/bid", "Method=POST", "Body=amount=1000&token={auth_token}", LAST); ``` 使用`web_add_header`将token注入HTTP头,或在请求体组合参数[^5]。 ### 三、调试关键点 1. **日志验证** ```c lr_output_message("当前Token值:%s", lr_eval_string("{auth_token}")); ``` 通过`lr_output_message`输出参数值验证提取结果。 2. **关联位置**:必须将关联函数置于产生token的请求之前[^2]。 ### 四、典型报错处理 | 错误类型 | 解决方案 | |---------|----------| | Token过期 | 实现动态刷新机制 | | 签名错误 | 检查参数加密算法是否与服务端一致 | | 值未命中 | 验证LB/RB边界值是否准确 |
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值