LoadRunner录制脚本中文乱码如何解决?

2020-08-22 11:35发布

LoadRunner录制脚本中文乱码如何解决?

LoadRunner录制脚本中文乱码如何解决?

2条回答
老测试 -华为资深测试
1楼 · 2020-08-25 09:44.采纳回答

脚本中出现的乱码分成两种情况:

一种是在输入框中输入的内容,比如文件标题,如果在脚本显示为乱码,可以把录制选项中的Advance页面中的“Support Charset”-》“UTF-8开关打开,然后重新录制脚本,新的脚本就不会乱码了。

一种情况是请求的URL部分乱码,这种乱码是一种URL编码(URL encoding),解决时url不能有中文和空格等特殊字符的问题。

无需指教
2楼 · 2020-08-22 20:38

在使用Loadrunner录制或者回放脚本的时候有时候会出现乱码的情况,来看看怎么解决这种情况,以及UTF-8及GBK字符编码的定义是什么。


 1 录制的脚本出现乱码

录制的时候出现乱码,有的时候可以正常回放,我们可以不用管它,但如果影响回放,我们可以使用以下方法解决:


1)更改录制选项

选择菜单栏 Tools-->Recording Options


勾选Advance页面中的“Support Charset”和“UTF-8”两项。


2)更改web服务器端的字符编码

更改服务器端使用的字符编码,使其与本地使用字符编码一致,例如改为“gb2312”。


 2 回放脚本时出现乱码

LoadRunner回放脚本时,如果在日志中出现乱码,可以按以下方法操作:


1)更改运行时设置:

点击菜单栏中的Vuser,选择Run-time Settings(或者直接按F4键):


在弹出的窗口左侧点击Internet Protocol Preference下的Advanced,然后在右侧窗口中点击Options按钮,在弹出的窗体中找到General下的Convert from/to UTF-8,将其设为Yes。


2)更改IE浏览器设置:

打开IE浏览器,在页面-->编码-->勾选“自动选择”和“Unicode(UTF-8)”。 


3)使用函数转换编码:

可以使用lr_convert_string_encoding函数来转换编码。

下面是一个使用的例子:

//关联取值函数,取出的值放入resp中

    web_reg_save_param("resp",  

        "LB=responseMsg\":\"",  

        "RB=\",",  

        "NotFound=ERROR",  

        "Search=All",  

        LAST);  


//请求语句

    web_custom_request("pay.htm",   

        "URL=http://xxx/...",   

        "Method=POST",   

        "TargetFrame=",   

        "Resource=0",   

        "RecContentType=application/json",

        "Referer=",   

        "Mode=HTML",   

        "EncType=application/x-www-form-urlencoded; charset=UTF-8",   

        LAST); 

 

//使用转换函数将resp值做编码转换并存入msg

    lr_convert_string_encoding(lr_eval_string("{resp}"),"utf-8",NULL,"msg");


//输出打印转换编码后的结果,便于定位问题

    lr_output_message("转换编码后的resp-------:%s",lr_eval_string("{msg}"));



 3 字符编码介绍

UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。


GBK:是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。


GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:

GBK、GB2312-Unicode-UTF8  

UTF8-Unicode-GBK、GB2312


END


关注:【性能测试自动化】,每天轻松学习性能测试。


相关问题推荐

  • 回答 20
    已采纳

    性能测试是基于功能、接口完整的情况下,对服务端进行压力测试、负载测试、疲劳测试、并发测试,来发现性能瓶颈。一、负载测试。负载测试的目的主要是为了测试软件系统是否达到需求文档设计的目标;例如一款软件在一定时期内,最大支持多少并发用户数,软件请...

  • 什么是基准测试?2020-08-12 15:46
    回答 4

    基准测试基准测试(benchmarking)是一种测量和评估软件性能指标的活动。在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响,这是基准测试最常见的用途。其他用途包...

  • 回答 5

    一、平均响应时间:在每一个采样时间段,多个并发事务的平均响应时间;二、百分比响应时间:在某次测试中,有百分之y的请求,其响应时间在x秒以内;三、每秒事务数:针对每个选定的事务,在并发场景下,平均每秒服务器能处理完成多少次;四、Throuput:每秒从...

  • 回答 17
    已采纳

    响应时间、并发用户数、TPS、吞吐量、CPU利用率、内存使用率、在线并发用户数等

  • 回答 6

    计算机的性能测试时我们需要关注的指标有: RT:响应时间 TPS:每秒完成事务数CPU性能指标:利用率、负载 Mem:内存性能指标,可用物理内存、虚拟内存使用率 Disk:磁盘性能指标,Disk Time、IO等待 NetWork:网络指标,带宽使用率、任务队列长度TCP连接数,...

  • 回答 13
    已采纳

    性能测试主要包括以上几个方面

  • 回答 9

    在测试前,应该对测试结果有一个初步的估计。比如,性能(IO/CPU)应该是提升,还是降低,大概幅度会有多少。这样当测试结果与预估偏差极远时,很可能测试的过程或者方法是有问题的。1) 如果是已有模块,可以参考改模块历史的测试数据。看变化是否合理。2)...

  • 回答 9

    UI主要是软件的使用和操作,软件测试需要验证程序中的问题,好学不好学还是要看你是不是擅长程序,如果擅长那就好学,如果不擅长那就是UI好学

  • 回答 16

    一般在系统功能稳定没有大的缺陷之后开始执行。但前期准备工作可以从系统需求分析时就开始:性能目标制定、场景获取、环境申请等。

  • 回答 4

    性能测试的目的: 评估系统的能力----测试中得到的负荷和响应时间数据可被用于验证所计划的模型的能力,并帮助作出决策。识别体系中的弱点----受控的负荷被增加到一个极端水平,并突破它,从而修复体系的瓶颈或薄弱的地方。系统调优---重复运行测试,验证调...

  • 回答 4
    已采纳

    LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应...

  • 回答 3

    手工测试者最适合成为领域专家,他们可以把相当复杂的业务逻辑存在最强力的测试工具——大脑里。而且手工测试速度比较慢,测试者就有时间可以观察分析细微的逻辑问题。速度虽然慢些,但是比较容易。...

  • 回答 8

    前言1.需要写明本文当编写的目的,是给那些人看的,能起到怎样的作用。2.本文档中出现的专业术语需要有个解释,非软件测试的人员能看懂。3.参考资料,也是我们编写测试计划的依据,说明你这个测试计划不是凭空而来。4.测试模块的优先级别,可以从这里看出系统...

没有解决我的问题,去提问