51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5367|回复: 7
打印 上一主题 下一主题

[原创] 经典,关于web_reg_find的问题,高手请进

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-27 21:09:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们都知道,web_reg_find()和web_find()都有返回值,0表示成功,1表示失败,在实际应用中我们可以利用这个作为事务结束条件。
例如:
Action()
{
   int a;
  lr_start_transaction("search");

//
页面请求
//
a=web_find("text_check","what=welcome",LAST);
  if(a==0)
   lr_end_transaction("search", LR_PASS);
else
lr_end_transaction("search", LR_FAIL);

return 0;
}   

而web_reg_find()就不能通过它的返回值来作为事务的判断条件,因为web_reg_find()的返回值0和1表示web_reg_find()是否注册成功(web_reg_find是注册类型函数,它本身并不执行),并不代表查找的内容是否存在,也就是说无论查找的文本内容是否存在,都返回0,(和web_find的返回值意义就不同了)。
我想问的是有什么方法用web_reg_find()来作为事务的判断条件?
web_find()(帮助不太推荐使用web_find而是推荐使用web_reg_find)要写在请求后,也就是要现在事务内了。这样通过事务统计出来的响应时间就(包括了web_find()这个函数的执行时间)不真实了。而web_reg_find()是写在请求前面的。如果能用web_reg_find()来作为事务结束条件,那就是最好的.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-27 23:36:40 | 只看该作者

谢谢

谢谢楼主了.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-4-14 22:47:04 | 只看该作者
路过...

[ 本帖最后由 快乐逍遥 于 2008-4-14 22:54 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-6-20 11:58:10 | 只看该作者
我今天也发现这个问题了,我有个方法可以试一下,就是比较麻烦些,方法是这样的,可以先通过web_reg_save_param函数来获得脚本执行时的信息值,先把正确的信息字符串预先定义好,然后设置一个参数来等于web_reg_save_param函数获得的信息字符串,然后用C的比较函数strcmp返回值来判断获得的信息值是否是正确的信息值,这个就是替代web_reg_find返回值判断的方法,试验了也能成功,就是稍微麻烦些,不知道LZ还有什么别的好方法
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-9-7 22:04:01 | 只看该作者

回复 1# 的帖子

刚刚开始学习loadrunner,在书上看到这段代码不知道能不能解决楼主的问题。其中lr_eval_stiong这个函数中的debt是什么意思啊?知道的讲讲哦~

vuser_init()
{
//清楚缓存
//登陆
……………………
}
Action()
{
//trade事务开始
lr_start_transaction("trade")
web_reg_find("TextCheckPoint",
                         "NOTFOUND="ERROR",
                         "LB=Welcome to",
                         "RB=Manager",
                          LAST);
……………………
//如果查找成功,脚本继续,如果查找失败,那么将会调用Vuser_init{};
if(strcmp(lr_eval_stiong("{textcheckpoint}"),"debt")==0)   /*这里的debt什么意思?没搞明白*/
{
lr_log_message("*********textcheckpoit ok***********");
}
else
{
lr_end_transaction("trade",LR_FAIL);
lr_log_message("*********textcheckpoit error***********");
//失败后,重新运行vuser_init,清除缓存
vuser_init();
}
lr_end_transaction("trade",LR_AUTO);
}
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-9-8 14:16:43 | 只看该作者
lr_eval_string()将参数中的值取出来变成字符串
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-9-9 09:04:29 | 只看该作者
应该是lr_eval_string(),只要参数要被LR的函数使用,都要使用这个函数才能被调用。不然都会显示为null
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-9-9 10:47:50 | 只看该作者
原帖由 叶筱珊 于 2008-9-7 22:04 发表
刚刚开始学习loadrunner,在书上看到这段代码不知道能不能解决楼主的问题。其中lr_eval_stiong这个函数中的debt是什么意思啊?知道的讲讲哦~

vuser_init()
{
//清楚缓存
//登陆
……………………
}
Acti ...


“debt”应该是和lr_eval_string("{**}")作比较的值把,如果没猜错的话,Web_reg_find应该是查找字符串值为“debt”的。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-20 15:41 , Processed in 0.066612 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表