解决LR回放的response body中文乱码之【lr_convert_string_encoding】函数详解

解决LR回放的response body中文乱码之【lr_convert_string_encoding】函数详解

在实际项目中碰到了请求某地址后,在回放的body中出现了中文乱码如“闅\x90绉\x81澹版\x98?”,导致无法检验返回是否正确,需要将其转换成为可读性的语言,在网上查了一下使用RuntimeSetting中的几项设置后仍不好使,最终通过【lr_convert_string_encoding】函数解决了此问题,下面是实战

【lr_convert_string_encoding】:将回放的body中的中文乱码转换为可读的汉字;
首先要建立关联将需要转码的部分使用左右边界确定scope,然后在请求后添加函数;

函数主体内容包含四个字段,sourceString, fromEncoding,toEncoding, paramName;
四个参数分别对应 :
sourceString:被转换的源字符串
fromEncoding:转换前的字符编码
toEncoding:要转换成为的字符编码
paramName:转换后的目标字符串

语法示例:lr_convert_string_encoding(lr_eval_string("{ct}"),“utf-8”,“gb2312”,“str”);
用法示例:

    web_reg_save_param_ex(
        "ParamName=ct",
        "LB=\"documents\"",
        "RB=",
        SEARCH_FILTERS,
        "Scope=BODY",
        LAST);//此函数关联下面请求中的body,将匹配到左右边界的value保存在“ct”参数中,后续在输入被转换的源字符串时使用

    web_custom_request("web_custom_request",
        "URL=https://www.cnblogs.com",
        "Method=GET",
        "TargetFrame=",
        "Resource=0",
        "Referer=",
        "Mode=HTTP",
        "EncType=application/json",
        "Body=",
        LAST);//请求的主体内容
    
    lr_convert_string_encoding(lr_eval_string("{ct}"),"utf-8","gb2312","str");
//lr_convert_string_encoding(被转换的源字符串),"转换前的字符编码","需要转换成为的目标编码","转换后的目标字符串");
    lr_output_message("转换后的body为:%s",lr_eval_string("{str}"));
//打印转换完成后的字符串

转换前的response body

[ {\n    "id" : "PS",\n    "docTitle" : "闅\x90绉\x81澹版\x98?,\n    "revision" : "2.0",\n    "country" : "CN"....................省略

使用 lr_convert_string_encoding转换后的response body

[ {\n    "id" : "PS",\n    "docTitle" : "隐私声明",\n    "revision" : "2.0",\n    "country" : "CN"....................省略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值