51Testing软件测试论坛

标题: 十万火急LR中的Content Check怎么设置结果也不对呀~~ [打印本页]

作者: songlilimnky    时间: 2008-10-30 22:40
标题: 十万火急LR中的Content Check怎么设置结果也不对呀~~
我录制了一段很短的查询脚本,想判断查询出的页面是否正确,做了以下三件事情:
1、在脚本中添加了检查点:
        web_find("web_find",
                "LeftOf=是不是",
                "What=您要找的",
                LAST);
2、在Run-time Settings-->Internet Protocol-->  preferences里勾选了Enable image and text check
3、在Run-time Settings-->Internet Protocol-->Content Check里添加了规则
[attach]46517[/attach]
运行结果是这样的:
如图,当设置成Fail if Found时,脚本运行结果为:
Action.c(27): Error -26372: ContentCheck Rule "Rule_1" in Application "Application_1" triggered. Text "您要找的" matched (count=1)   [MsgId: MERR-26372]
Action.c(27): web_submit_form("s") highest severity level was "ERROR", 9065 body bytes, 859 header bytes   [MsgId: MMSG-26388]

当设置成Fail if Not Found时,脚本运行结果为:
Action.c(10): Error -26370: ContentCheck Rule "Rule_1" in Application "Application_1" triggered. Text "您要找的" not matched   [MsgId: MERR-26370]
Action.c(10): web_url("
www.baidu.com") highest severity level was "ERROR", 3615 body bytes, 776 header bytes   [MsgId: MMSG-26388]

为什么设置成Fail if Not Found运行的结果是Error的那?很奇怪
是不是测试结果就是match和not match,而得不到fail和pass的最终测试结果?请高手们指点,非常感谢!!!

[ 本帖最后由 songlilimnky 于 2008-10-30 22:42 编辑 ]
作者: hankliu520    时间: 2008-10-31 08:48
帮你顶下
作者: 026300    时间: 2008-10-31 09:09
也想知道
作者: Lemon_s    时间: 2008-10-31 09:45
我觉得你的问题是出现在添加的规则上
首先,假定你的脚本由Vuser_init,Action,Vuser_end组成,真正存在检查点的是在Action中

1.当使用Web_find()的时候,我们有给指定位置,比如说是Action中的什么事务之后来再来find,自然是成功的

2.而使用规则的时候没有指定位置,这时候规则就在Vuser_init,Action,Vuser_end中都起了作用,在Vuser_init中当然就出现not matched(这一点你可以在run-time settings中把Continue on error勾上,再来运行脚本,查看log,Vuser_init中出现楼主所描述的问题,Action中正常)

3.至于规则能不能限定触发范围,我也不清楚,之前没有这样用过,坐等高人解答。

4.不明白的一点,为什么楼主Web_find()和规则一起使用呢?
作者: songlilimnky    时间: 2008-10-31 11:52
非常感谢您的回答,我用web_find查找是否有text,用规则判断如果找到了,测试结果是对还是错。
作者: songlilimnky    时间: 2008-10-31 11:59
如你所述,我在run-time settings中把Continue on error勾上,再运行脚本,查看log,Vuser_init中是提示not match,Action中正常。。。但是怎么给规则限定触发范围那,希望高人们指教。
作者: Lemon_s    时间: 2008-10-31 12:04
不知道这两个能不能结合起来使用,等高人来回答,学习学习。

楼主可以用Web_reg_find()来满足需求
作者: 026300    时间: 2008-10-31 12:33
可以使用自动生成检查点的那个功能啊
作者: Lemon_s    时间: 2008-10-31 17:14
查了一下资料,现在终于弄明白问题所在了::zhuhe:::
[Run-time settings]>[ContentCheck]中,这里的设置是为了让Vugen检测何种页面为错误页面。
1.如果被测的Web应用没有使用自定义的错误页面,那么这里就不用作更改;
2.如果被测的Web应用使用了自定义的错误页面,那么这里需要定义,以便让Vugen在运行过程中检测,服务器返回的页面是否包含预定义的字符串,进而判断该页面是否为错误页面。如果是,Vugen就停止运行,指示运行失败。

所以说,ContentCheck是用来检测自定义错误页面的,看是否出现了自定义错误页面,从而对程序运行正确与否作出判断。
作者: Lemon_s    时间: 2008-10-31 17:17
LZ所说“我用web_find查找是否有text,用规则判断如果找到了,测试结果是对还是错。”
是没有这种方法的,也就是说两者不能配合起来使用,一种是有目的的查找,另外一种是全部查找,看是否出现自定义错误页面。

LZ可以用web_reg_find()来实现“查找是否有text”,并且可以设定找到text是pass还是fail
作者: songlilimnky    时间: 2008-10-31 21:18
呵呵,太感谢Lemon_s了,看来我用法不对,直接用Web_find或者web_reg_find就能实现。
作者: wanglihui2009    时间: 2008-11-25 18:10
可是我用哪一种都没有成功啊??为什么?




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