博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LoadRunner录制Socket协议脚本乱码调研
阅读量:6001 次
发布时间:2019-06-20

本文共 1058 字,大约阅读时间需要 3 分钟。

最近在过程中使用录制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后进行录制,这种方法主要适用于页面录制时的场景。在录制使用Socket协议时,录制选项中没有Support charset,导致问题也不能解决。

  ■ 方法三:更改服务器的语言

  将操作系统语言修改为英语,重启机器后,重新录制脚本,乱码问题即可解决。

  但实际情况是,将操作系统语言改为英语后,重启机器,重新录制脚本,乱码只是变换了一种形式而已(且文件名称或目录中有中文时会显示成“??”),问题仍然无法解决。

  ■ 最终解决方法

  网上也有资料说这个问题无法解决(汗!!!),因为录制Socket协议是LoadRunner直接监控TCP这一层的数据流,任何数据,虽然在最顶层应用层时是可见数据,但是一旦到了TCP层,均被封包成二进制。

  所以呢,看来要用LoadRunner来测试Socket,还是得通过手写脚本的方式来实现。方法呢,其实很简单。看下一篇吧!

最新内容请见作者的GitHub页:http://qaseven.github.io/

转载地址:http://xscmx.baihongyu.com/

你可能感兴趣的文章
利用Powershell和ceye.io实现Windows账户密码回传
查看>>
Windows 8.1 今年 1 月市场份额超 Vista
查看>>
《设计团队协作权威指南》—第1章1.5节总结
查看>>
【PMP认证考试之个人总结】第 5 章 项目时间管理
查看>>
Chair:支付宝前端团队推出的Node.js Web框架
查看>>
《Total Commander:万能文件管理器》——第3.8节.后续更新
查看>>
BSD vi/vim 命令大全(下)[转]
查看>>
css3中变形与动画(一)
查看>>
[XMove-自主设计的体感解决方案] 系统综述
查看>>
设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
查看>>
【LINUX学习】磁盘分割之建立primary和logical 分区
查看>>
【YUM】第三方yum源rpmforge
查看>>
IOS(CGGeometry)几何类方法总结
查看>>
才知道系列之GroupOn
查看>>
⑲云上场景:超级减肥王,基于OSS的高效存储实践
查看>>
linux kswapd浅析
查看>>
变更 Linux、Ubuntu 时区、时间
查看>>
高仿QQ空间 侧滑Menu效果且换肤功能《IT蓝豹》
查看>>
mac的git的21个客户端
查看>>
Spring Cloud自定义引导属性源
查看>>