serena_meledy 发表于 2007-10-9 17:40:53

含中文字符的文字检查点问题

在baidu中,检查搜索结果页面是否含有“的”,使用web_find。

1运行后,报错如下:
=================================================================
Action.c(18): Continuing after Error -27195: "web_find" failed. 0 occurrence(s) of "的" found (RightOf="", LeftOf="")         
=================================================================
2脚本如下:
*****************************************************************
Action()
{
   web_url("s_2",
   "URL=http://www.baidu.com/s?wd=serena+zhang%B5%C4&cl=3",
   "Resource=0",
   "RecContentType=text/html",
   "Referer=http://www.baidu.com/",
   "Snapshot=t91.inf",
   "Mode=HTML",
   EXTRARES,
   "URL=http://s.baidu.com/w.gif?path=http://www.baidu.com/s?wd=serena+zhang%B5%C4&cl=3&t=1191921178379", "Referer=http://www.baidu.com/s?wd=serena+zhang%B5%C4&cl=3", ENDITEM,
   LAST);
web_find("web_find",
   "RightOf=",
   "LeftOf=",
   "What=的",
   LAST);
return 0;
}
*****************************************************************

3根据网上搜索的关于“文字检查点出错”关于中文字符的设置,现设置如下:

1.recording option--advanced--选中support charset为UTF-8
2.run-time-setting-browers--brower emulation->chage设置语言为chinese(PRC)

请大家帮忙分析是什么原因?

serena_meledy 发表于 2007-10-9 18:02:59

check英文的是没问题。

引用jut9849070的帖子
可能是这个原因


也许登陆后的页面实际上是包含N个小的页面,找到那个确实包含‘您好’的页面

这是什么意思?如果是这个原因,那么英文的为什么可以呢?

shanxi 发表于 2007-10-9 18:53:27

回复 2# 的帖子

他说的也许是网页中有iframe,不过百度搜索页面是没有的。

你仔细看你要搜索的页面“http://www.baidu.com/s?wd=serena+zhang%B5%C4&cl=3”的客户端代码第2行:
“<meta http-equiv="content-type" content="text/html;charset=gb2312">”

问题也许不难,只涉及到网页html标签和网页的Encoding。

serena_meledy 发表于 2007-10-10 09:55:55

to:shanxi

谢谢,我知道了原因了。

但是,这该怎么解决呢?怎么设置才能让loadrunner支持gb2312编码呢?在网上搜索了一下,问题得到解决了,方法如下(我的方法是不设置第1、2步;不过还有个疑问就是不知道第二步具体是什么用)::)


在使用LoadRunner 8.1 进行录制脚本,其脚本中中文信息存在乱码,其解决方法如下所示:
1、新建脚本--->选择协议(Http)-->选项-->高级-->选择“支持字符集”并点选“UTF-8”;
2、在回放脚本之前:Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择 “中文(中国)”;
进行如上设置以后即可。

补充说明:主要看被测试应该程序的编码形式是什么。如果是UTF-8的形式则采用上述形式设置,如果是Gb2312则不进行步骤1、的操作。感觉步骤2、不是很重要,如果哪位有更确切跟合理的解释,请多赐教:)

yaya625 发表于 2007-10-10 10:14:08

不好意思,楼主 你可以把你的解决方法再说一遍麽?
没看懂您说的意思:L

serena_meledy 发表于 2007-10-11 13:44:10

呵呵,就是:

1 不要选择“新建脚本--->选择协议(Http)-->选项-->高级-->支持字符集”(vugen中默认是选中的)
2 不用选择Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择 “中文(中国)”;(vugen默认就是没有选中的)


经过对网上资料认真学习之后,这两个选项选中的话是不适用于gb2312编码的。而摆渡中查看源文件发现中文正是gb2312编码的,所以这两个根本就不用选。多此一举啊,不过这样算是比较好的理解检查点这个功能了。:)

serena_meledy 发表于 2007-10-11 13:44:32

5#

这样你清楚了吗?

shanxi 发表于 2007-10-11 15:11:41

也许LR默认是读取当前运行的操作系统的Encoding,你可以尝试该变当前OS的国家和区域设置再尝试。

以前写一个爬网页的工具时,当网页写的很不规范导致爬网页头后仍找不到该网页的编码方式(国内的网页基本如此)最后读当前系统设置。

serena_meledy 发表于 2007-10-12 11:08:08

to:shanxi

恩,更深入的思考中。。。。有结果了再跟大家分享。:)

yaya625 发表于 2007-10-15 22:30:55

谢谢楼主

walsh_wx 发表于 2007-12-21 13:06:11

我觉得还是和LR对中文的支持有关,另外还和你的应用程序使用的encoding有关。
我有一个网站encoding=ch,无论怎么调都不能在replay时显示中文字符,我只好在web_reg_find("Text=")里面选上那段乱码。

[ 本帖最后由 walsh_wx 于 2007-12-21 14:55 编辑 ]

sunny6026 发表于 2007-12-22 00:37:24

回复 6# 的帖子

我的设置根你的相同也没有选择你所说的那两项,为什么我的依然是报与你相同的错误呢!真是郁闷死我了!!!

zy_test01 发表于 2010-1-26 16:17:10

原帖由 serena_meledy 于 2007-10-11 13:44 发表 http://bbs.51testing.com/images/common/back.gif
呵呵,就是:

1 不要选择“新建脚本--->选择协议(Http)-->选项-->高级-->支持字符集”(vugen中默认是选中的)
2 不用选择Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择 “中 ...

好贴啊。
找了大半天,给俺找到了。
多谢了。:victory:

Nio 发表于 2011-2-25 16:45:39

Loadrunner9.5:

Step1. Vuser->Run-time setting->Internet Protocol->Preferences->Options
Step2. 在Advanced Options窗口的Property列中找到General->Convert from/to UTF-8, 并设置其值为Yes。
页: [1]
查看完整版本: 含中文字符的文字检查点问题