51Testing软件测试论坛

标题: 含中文字符的文字检查点问题 [打印本页]

作者: serena_meledy    时间: 2007-10-9 17:40
标题: 含中文字符的文字检查点问题
在baidu中,检查搜索结果页面是否含有“的”,使用web_find。

1  运行后,报错如下:
=================================================================
Action.c(18): Continuing after Error -27195: "web_find" failed. 0 occurrence(s) of "的" found (RightOf="", LeftOf="")          [MsgId: MERR-27195]
=================================================================
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
check英文的是没问题。

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


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


这是什么意思?如果是这个原因,那么英文的为什么可以呢?
作者: shanxi    时间: 2007-10-9 18:53
标题: 回复 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
标题: 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
不好意思,楼主 你可以把你的解决方法再说一遍麽?
没看懂您说的意思
作者: serena_meledy    时间: 2007-10-11 13:44
呵呵,就是:

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


经过对网上资料认真学习之后,这两个选项选中的话是不适用于gb2312编码的。而摆渡中查看源文件发现中文正是gb2312编码的,所以这两个根本就不用选。多此一举啊,不过这样算是比较好的理解检查点这个功能了。
作者: serena_meledy    时间: 2007-10-11 13:44
标题: 5#
这样你清楚了吗?
作者: shanxi    时间: 2007-10-11 15:11
也许LR默认是读取当前运行的操作系统的Encoding,你可以尝试该变当前OS的国家和区域设置再尝试。

以前写一个爬网页的工具时,当网页写的很不规范导致爬网页头后仍找不到该网页的编码方式(国内的网页基本如此)最后读当前系统设置。
作者: serena_meledy    时间: 2007-10-12 11:08
标题: to:shanxi
恩,更深入的思考中。。。。有结果了再跟大家分享。
作者: yaya625    时间: 2007-10-15 22:30
谢谢楼主
作者: walsh_wx    时间: 2007-12-21 13:06
我觉得还是和LR对中文的支持有关,另外还和你的应用程序使用的encoding有关。
我有一个网站encoding=ch,无论怎么调都不能在replay时显示中文字符,我只好在web_reg_find("Text=")里面选上那段乱码。

[ 本帖最后由 walsh_wx 于 2007-12-21 14:55 编辑 ]
作者: sunny6026    时间: 2007-12-22 00:37
标题: 回复 6# 的帖子
我的设置根你的相同也没有选择你所说的那两项,为什么我的依然是报与你相同的错误呢!真是郁闷死我了!!!
作者: zy_test01    时间: 2010-1-26 16:17
原帖由 serena_meledy 于 2007-10-11 13:44 发表
呵呵,就是:

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


好贴啊。
找了大半天,给俺找到了。
多谢了。
作者: Nio    时间: 2011-2-25 16:45
Loadrunner9.5:

Step1. Vuser->Run-time setting->Internet Protocol->Preferences->Options
Step2. 在Advanced Options窗口的Property列中找到General->Convert from/to UTF-8, 并设置其值为Yes。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2