1. 首页 > 科技

录制Web脚本时,生成的脚本中存在乱码该如何解决?

录制Web脚本时,生成的脚本中存在乱码该如何解决?

录制脚本中包含中文,出现乱码怎么办

把BAT批处理脚本文件的编码改为ANSI,不要使用其它保存编码。

loadrunner录制的脚本乱码怎么办

一、录制回放中文乱码

我录制登陆的脚本,用户名中出现中文,回放的时候总是提示登陆失败。如下图:

5

图1 LR回放中文乱码

解决中文乱码可以在录制的时候在Virtual User Gen的 Tools->Recoding Options -> Advanced -> Support charset -> UTF-8。重新录制后中文乱码问题得到解决。

二、整合脚本中文乱码

录制增强(参数化,关联,检查点,事务)脚本后决定将几个脚本整合在一起。于是新建了一个空的脚本,将登陆退出公用操作分别放在vuser_init和vuser_end中,其他操作放在各自的Action中。整理完成回放后又出现中文乱码。为解决这个问题,最关键的是要把本地GBK编码的汉字转换成UTF-8编码格式的信息,为此我们引进loadrunner自带的编码函数lr_convert_string_encoding。

int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);

该函数有4个参数,含义如下:

sourceString:被转换的源字符串。

fromEncoding:转换前的字符编码。

toEncoding:要转换成为的字符编码。

paramName:转换后的目标字符串。

实践一:

1

2

3

4

5

6

7

lr_convert_string_encoding("登陆账号",LR_ENC_SYSTEM_LOCALE,

LR_ENC_UTF8,

"Account");

web_submit_data("login.quick",

……

"Name=account",

"Value={Account}",

ENDITEM,

……

LAST);

回放脚本的时候依然报错。查看lr_convert_string_encoding的解释,它会在其转换的字符串末尾加上\x00。在C语言中\X00是一个字符串的结束,而正是这个\x00的存在导致了脚本回放失败。

实践二:

1

2

3

4

5

6

7

8

9

10

11

char

tmp[100];

lr_convert_string_encoding("登陆账号",LR_ENC_SYSTEM_LOCALE,

LR_ENC_UTF8,

"Account");

strcpy(tmp,lr_eval_string("{Account}"));

lr_save_string(tmp,"Account");

web_submit_data("login.quick",

……

"Name=account",

"Value={Account}",

ENDITEM,

……

LAST);

通过strcpy和lr_save_string的处理屏蔽\x00的影响,测试结果正常

用loadrunner录制脚本时出现乱码,回放日志时乱码增多,请问脚本该怎样修改?

看看是不是开发引用了什么框架。

回放乱码增多是,是关联回放还是直接回放。

使用loadrunner回放脚本时,页面出现乱码怎么办,已经在Recording options 选中UTF-8,但还是出现乱码,

Timeout expired while trying to accept connection 这个提示是连接socket端口超时了,无法链接,估计问题出在脚本 lrs_accept_connection("socket0", "socket1"); 上面,实在不行你在重新录制一个脚本,对比一下看看。

还有记得把防火墙和杀毒软件关了试试看!