LoadRunner字符集与检查点的探讨
作者:网络转载 发布时间:[ 2013/2/18 11:00:21 ] 推荐标签:
很多人在loadrunner测试脚本中加入中文检查点的时候会出现检查失败的情况,究竟是为什么呢?其实是被测试系统与loadrunner字符集之间的转换出现了问题。下面我们来一一解释。
我们知道loadrunner在录制选项中有一个字符集的设置:Recording Options>>Advanced>>Support charset,在这里可以设置loadrunner支持的字符集。
那么被测试系统的字符集与loadrunner字符集会有什么样的关系呢?下面我们以百度、Google为例子加以说明。
首先分别查看百度、Google网站的字符集是什么?打开相应的网站,通过右键查看源文件来获取它们的字符集。百度的字符集为?:gb2312,源文件代码中内容为:<!doctype html><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312">;Google的字符集为?:UTF-8,源文件代码中内容为:<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">。
1、在录制百度的测试脚本的时候不设置loadrunner字符集,脚本如下:
Action()
{
web_reg_find("Search=body",
"SaveCount=times",
"Text=百度",
LAST);
web_url("www.baidu.com",
"URL=http://www.baidu.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
EXTRARES,
"Url=/img/i2.png", ENDITEM,
"Url=/img/arr.gif", ENDITEM,
"Url=/js/bdsug.js?v=1.0.3.0", ENDITEM,
"Url=/cache/hps/js/hps-1.0.js", ENDITEM,
LAST);
if(atoi(lr_eval_string ("{times}"))>0)
lr_output_message("search successful");
else
lr_error_message("search failed");
return 0;
}
运行测试脚本,检查点可以通过。
2、设置loadrunner的字符集为:UTF-8,再次录制一个百度的测试脚本,测试脚本同上。这时运行测试脚本,会发现检查点没有通过,日志信息显示:Action.c(26): Error: search failed。
为什么没有设置loadrunner的字符集的检查点可以通过,而设置loadrunner的字符集为:UTF-8的检查点却不能通过呢?我们来看下这两个脚本所产生的代码生成日志信息,在测试脚本的data目录下的CodeGenerationLog.txt文件中。这时我们可以在两个文件中搜索检查点“百度”关键字,可以发现在没有设置loadrunner字符集的这个文件中可以搜索到“百度”关键字而在设置loadrunner的字符集为:UTF-8的这个文件中却搜索不到“百度”关键字。这是因为设置loadrunner的字符集为:UTF-8会把测试脚本所生成的信息会强制将gb2312转换为UTF-8。所以对于被测试系统字符集是gb2312的网站,loadrunner中又将字符集设置为:UTF-8,中文关键字作为检查点的时候可能失败。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11