loadrunner-录制和回放时的乱码问题

本文介绍LoadRunner在录制和回放过程中出现中文乱码的原因及解决办法。主要涉及LoadRunner与被测网站编码不一致导致的问题。

原理:

    被测网站是UTF-8编码(24位),loadrunner是GB-X编码(16位)。

    如果录制时未选择支持UTF-8,录制出来的就是UTF-8(24位),所以原来的两个字在此时就显示为三个字的乱码,回放时应该选择no,否则这个乱码又被转换为UTF-8就更是乱码了;

    如果录制时选择了支持UTF-8,那么录制出来的就是被转换为正常显示的中文,回放时应该选择yes,便被转换为原来的UTF-8编码。


(1)录制时出现乱码

录制之前就要改好这个设置:



(2)回放时出现乱码

  




### 解决 LoadRunner 快照中文乱码问题 #### 设置编码环境变量 为了确保脚本运行过程中字符集的一致性正确性,可以在VuGen中设置环境变量`LR_VUSER_LANGUAGE`为`Chinese_Simplified_PRC.936`。这一步骤有助于统一整个测试过程中的文字编码标准[^1]。 ```c // 在全局声明部分加入如下代码片段 lr_setenv("LR_VUSER_LANGUAGE", "Chinese_Simplified_PRC.936"); ``` #### 使用 `web_reg_save_param` 函数捕获并转换编码 当遇到返回内容存在乱码的情况,可以通过`web_reg_save_param`函数先保存响应数据至参数化变量内,再利用`lr_convert_string_encoding()`来进行必要的编码格式转变操作[^2]: ```c // 插入此段代码于需要处理的地方之前 web_reg_save_param("body", "LB=", "RB=", LAST); // 执行实际的HTTP请求动作... // 对捕捉到的内容做编码变换 char *converted; int ret_code = lr_convert_string_encoding(lr_eval_string("{body}"), LR_ENC_UTF8, LR_ENC_SYSTEM_LOCALE, &converted); if(ret_code == 0){ lr_output_message("%s", converted); } free(converted); ``` #### 验证关联值的有效性 对于某些情况下可能出现因为空白或其他异常情况而导致无法正常解析的问题,建议增加对所提取出来的参数长度检查逻辑以增强稳定性[^3]: ```c if(strlen(lr_eval_string("{param}")) != 0){ // 继续后续业务流程... }else{ lr_error_message("Failed to get valid response."); } ``` 通过上述措施的应用能够有效改善LoadRunner快照中存在的中文乱码现象,并提高自动化性能测试的质量与可靠性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值