含中文字符的文字检查点问题
在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)
请大家帮忙分析是什么原因? check英文的是没问题。
引用jut9849070的帖子
可能是这个原因
也许登陆后的页面实际上是包含N个小的页面,找到那个确实包含‘您好’的页面
这是什么意思?如果是这个原因,那么英文的为什么可以呢?
回复 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。
to:shanxi
谢谢,我知道了原因了。但是,这该怎么解决呢?怎么设置才能让loadrunner支持gb2312编码呢?在网上搜索了一下,问题得到解决了,方法如下(我的方法是不设置第1、2步;不过还有个疑问就是不知道第二步具体是什么用)::)
在使用LoadRunner 8.1 进行录制脚本,其脚本中中文信息存在乱码,其解决方法如下所示:
1、新建脚本--->选择协议(Http)-->选项-->高级-->选择“支持字符集”并点选“UTF-8”;
2、在回放脚本之前:Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择 “中文(中国)”;
进行如上设置以后即可。
补充说明:主要看被测试应该程序的编码形式是什么。如果是UTF-8的形式则采用上述形式设置,如果是Gb2312则不进行步骤1、的操作。感觉步骤2、不是很重要,如果哪位有更确切跟合理的解释,请多赐教:)
不好意思,楼主 你可以把你的解决方法再说一遍麽?
没看懂您说的意思:L 呵呵,就是:
1 不要选择“新建脚本--->选择协议(Http)-->选项-->高级-->支持字符集”(vugen中默认是选中的)
2 不用选择Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择 “中文(中国)”;(vugen默认就是没有选中的)
经过对网上资料认真学习之后,这两个选项选中的话是不适用于gb2312编码的。而摆渡中查看源文件发现中文正是gb2312编码的,所以这两个根本就不用选。多此一举啊,不过这样算是比较好的理解检查点这个功能了。:)
5#
这样你清楚了吗? 也许LR默认是读取当前运行的操作系统的Encoding,你可以尝试该变当前OS的国家和区域设置再尝试。以前写一个爬网页的工具时,当网页写的很不规范导致爬网页头后仍找不到该网页的编码方式(国内的网页基本如此)最后读当前系统设置。
to:shanxi
恩,更深入的思考中。。。。有结果了再跟大家分享。:) 谢谢楼主 我觉得还是和LR对中文的支持有关,另外还和你的应用程序使用的encoding有关。我有一个网站encoding=ch,无论怎么调都不能在replay时显示中文字符,我只好在web_reg_find("Text=")里面选上那段乱码。
[ 本帖最后由 walsh_wx 于 2007-12-21 14:55 编辑 ]
回复 6# 的帖子
我的设置根你的相同也没有选择你所说的那两项,为什么我的依然是报与你相同的错误呢!真是郁闷死我了!!! 原帖由 serena_meledy 于 2007-10-11 13:44 发表 http://bbs.51testing.com/images/common/back.gif呵呵,就是:
1 不要选择“新建脚本--->选择协议(Http)-->选项-->高级-->支持字符集”(vugen中默认是选中的)
2 不用选择Vuser-->运行时设置-->浏览器-->浏览器仿真-->更改-->使用浏览器-->语言下来选择 “中 ...
好贴啊。
找了大半天,给俺找到了。
多谢了。:victory: Loadrunner9.5:
Step1. Vuser->Run-time setting->Internet Protocol->Preferences->Options
Step2. 在Advanced Options窗口的Property列中找到General->Convert from/to UTF-8, 并设置其值为Yes。
页:
[1]