WEB并发测试怎么取出最后出现页面的内容?
我现在要做的是一个网页的并发测试,除了测试压力外,还要对网页中出现的内容进行提取,应该怎么把所有跑成功的用户最后出现的页面的内容取出来呢?麻烦大家帮忙,谢谢了!!!你提取内容是怎么一个形式输出的?
图片 还是 html 还是其它 原帖由 shanxi 于 2009-4-30 15:23 发表 http://bbs.51testing.com/images/common/back.gif图片 还是 html 还是其它
是以文字的形式输出的,内容如下
<?xml version="1.0" encoding="UTF-8" ?>
- <netsunAuth>
<username>niw2ota@toocle.com</username>
<nounce>04171022171930771</nounce>
<user_ok>2</user_ok>
</netsunAuth>
红色的部分是我要提取的内容,它有三种情况,0、1、2,我想要把他返回的结果提取出来进行统计 虽然我可以提供C++写的exe,但对于你来说这个是QTP能解决的问题
如果用LR,你需要把最后那个页面保存为文件形式,再准备一个程序去解析这个文件
[ 本帖最后由 shanxi 于 2009-4-30 16:03 编辑 ] 原帖由 shanxi 于 2009-4-30 16:00 发表 http://bbs.51testing.com/images/common/back.gif
虽然我可以提供C++写的exe,但对于你来说这个是QTP能解决的问题
但是QTP不能解决并发啊。。。怎么实现保存最后那个文件啊?
[ 本帖最后由 huangkai 于 2009-4-30 16:04 编辑 ] 原帖由 xzf2001 于 2009-4-30 16:14 发表 http://bbs.51testing.com/images/common/back.gif
你设置检查点不行吗?
然后用lr_output_message输出说成功。
在runtime setting 中的LOG 设置always send message。。记得是Controller 里面的runtime setting
可以啊,但是我想能把它们的内容取出来就更好了,因为每种情况对应不同的结果,如果实在取不出来也只有增加检查点了, 原帖由 xzf2001 于 2009-4-30 16:41 发表 http://bbs.51testing.com/images/common/back.gif
用关联可以吗?先用检查点判断,如果成功,就关联,并输出关联的东西
懂你的意思,但是不知道具体怎么操作,呵呵,我是新手 原帖由 xzf2001 于 2009-4-30 17:13 发表 http://bbs.51testing.com/images/common/back.gif
我也是新手,没操作过。。不晓得可以不,提供个想法而已。。。貌似不成功,呵呵。。。
···:L 试试 可以参考zee的这个循环打印web_reg_save_param保存的参数
http://www.51testing.com/?17369/action_viewspace_itemid_5632.html
Action()
{
char buffer = {0};
int j;
int i;
web_reg_save_param("param1",
"LB=Content-Length: ",
"RB=\r\n""",
"NotFound=ERROR",
"Ord=all",
"Search=Headers",
LAST);
web_url("www.hao123.com",
"URL=http://www.hao123.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t2.inf",
"Mode=HTML",
LAST);
//lr_save_string(lr_eval_string("{param1_count}"),"j");
j=atoi(lr_eval_string("{param1_count}"));
lr_output_message("the j is %d",j);
for(i=1;i<=atoi(lr_eval_string("{param1_count}"));i++)
{
sprintf( buffer, "{param1_%d}", i);
lr_output_message("the conut is %s.",lr_eval_string(buffer));
}
return 0;
}
回复 13# 的帖子
感谢楼上提供的信息,谢谢了,学习中!!!回复 15# 的帖子
谢谢提供资料,正在研究!! 请问楼主你最后使用完了吗?到底怎么测更好呢?还请公布~~期待额~~~~~~
把web_reg_save_param("user_ok", "LB=<user_ok>", "RB= </user_ok>", LAST); 放在最后一个请求前面。如果你对多个参数有兴趣,按照这个写法一样写。像上面这样,你那个加红的那个数字会存在参数user_ok中。
然后有个问题是你如何在场景运行之后得知这个值。要回答这个问题那必须知道你究竟要干什么。
如果你是要确定这个值是否为你想要的那个值比如说“2”
在最后添加判断如下:
//判断是否为2(当然2也可能是你参数化文件中的一个参数,有对应关系的。)
if(strcmp(lr_eval_string("{user_ok}"),"2")!=0){
//如果不是2,则抛error并输出实际值
lr_error_message("user_ok is not 2. It's %s",lr_eval_string("{user_ok}"));
}
如果你要确定每一个虚拟用户获得的这个值,比方说这个值是会变的。并且没有什么规律。也就是说你不能用如上的判断形势。那么直接用lr_error_message("user_ok is%s",lr_eval_string("{user_ok}"));打出错误信息。这里用errormessage的原因是这些信息会在场景运行的时候直接出现在error中。比较方便查阅。同时也容易和运行的虚拟用户对应起来。
如果你不想在运行的时候看到那么多错误,只想在最后去运行日志里面看的话那么可以参考以下方法
//放在action的最前面
int id, scid;
char *vuser_group;
//放在最后面
lr_whoami(&id, &vuser_group, &scid);
lr_out_message( "Group: %s, vuser id: %d, scenario id %d,user_id ",
vuser_group, id, scid,lr_eval_string("{user_ok}"));
记得在control里面把enablelog关掉。确保日志里面只出现你指定的这些输出,不然相当的难找。运行完之后去res文件夹下面的log目录里面找你的日志。
如果你对这个日志输出还是觉得繁琐不便于你后期的统计。那么请查阅fprintf。定制符合你口味的输出文件 不好意思,有一段时间没上了,最近比较忙,因为时间的原因,我没有去细研究,我只是在零那里设置了一个检查点,把不是零的账号输入了出来!!!
页:
[1]