LR录制Socket协议脚本乱码调研
作者:网络转载 发布时间:[ 2013/4/2 11:15:28 ] 推荐标签:
近在测试过程中使用LoadRunner录制Socket协议脚本,在data.ws中,中文参数显示为乱码,直接影响到参数化等操作,导致压力测试无法继续下去。本文对录制脚本的乱码问题进行了相关调研。
使用LoadRunner录制的脚本如下:
通过在网上搜索资源,查询到几种解决方案如下:
■ 方法一:通过字符串编码转换的函数修改脚本中的乱码;
通过一个字符串编码转换的函数lr_convert_string_encoding
在LoadRunner中,为我们提供了一个字符串编码转换的函数lr_convert_string_encoding,它可以把字符编码转换为UTF-8格式。
测试组人员通过对比发现,这个函数是在录制的脚本中出现乱码时使用的,例如:web_custom_request("CALL-H001I",
"EncType=text/xml; charset=UTF-8",
"BodyBinary=CALLH001I1040浣??01
????风?1
11000000
1000000.00A110102641122043#1??景榫"
"""x99"
"10001???100
但本次遇到的问题是在录制结束后,data.ws文件的中文参数显示为乱码。问题仍然得不到解决。
■ 方法二:录制选项中的Support charset选中UTF-8再重新录制
这种方法是在录制前,将录制选项的Support charset选中UTF-8后进行录制,这种方法主要适用于WEB页面录制时的场景。在录制使用Socket协议时,录制选项中没有Support charset,导致问题也不能解决。
■ 方法三:更改服务器操作系统的语言
将操作系统语言修改为英语,重启机器后,重新录制脚本,乱码问题即可解决。
但实际情况是,将操作系统语言改为英语后,重启机器,重新录制脚本,乱码只是变换了一种形式而已(且文件名称或目录中有中文时会显示成“??”),问题仍然无法解决。
■ 终解决方法
网上也有资料说这个问题无法解决(汗!!!),因为录制Socket协议是LoadRunner直接监控TCP这一层的数据流,任何数据,虽然在顶层应用层时是可见数据,但是一旦到了TCP层,均被封包成二进制。
所以呢,看来要用LoadRunner来测试Socket,还是得通过手写脚本的方式来实现。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11