hollyecho 发表于 2009-3-6 10:15:12

关于《扼杀QTP检查点》的讨论

大家有没看《51测试天地》第十二期杂志呢?
里面有篇文章《扼杀QTP检查点》
对里面的例子有两个不明白的地方

Dim linkobject
Set linkobject = Browser("Google").Page("Google").Object.links

For i = 0 to linkobject.length -1
Environment.Value("Image_text") =linkobject(i).outertext
Browser("Google").Page("Google").Link("Images").Check CheckPoint("Images")
Next

1)这里定义环境变量干嘛用的?
2)循环语句里验证的一直都是images的检查点啊,并没有验证界面上所有url,这句
Browser("Google").Page("Google").Link("Images").Check CheckPoint("Images")
放循环体里是什么目的呢?

假装不在 发表于 2009-3-6 12:09:16

::yiwusuoyou:::
1,环境变量的参数化就和使用datatable的参数化是一样的。
2,由于刚才做了参数化,并且用循环时候,在
Environment.Value("Image_text") =linkobject(i).outertext
里面修改掉对象库里面的link,也就是通过循环过程让它变化了。
因此就有所有link的检测。

谢谢讨论!哈哈~有问题大家都可以一起讨论。

假装不在 发表于 2009-3-6 12:10:36

::yiwusuoyou:::
你可以在google上试试看,检查点的报告很华丽!你看了会很开心。

hollyecho 发表于 2009-3-6 13:29:40

报告中,检查的不都是同一个URL吗?如图
我初学的,搞不太明白呢

hollyecho 发表于 2009-3-6 13:39:19

Environment.Value("Image_text") =linkobject(i).outertext
这里只是设置了一个环境变量吧,哪里有引用这个变量呢?

lijian422202 发表于 2009-3-6 14:35:50

....PP啊,你也不说白点,只把代码贴出来,不说下对象库怎么引用了参数,难怪别人会疑问

hollyecho 发表于 2009-3-6 14:49:16

呵呵,我的错,我把作者的步骤贴上来

hollyecho 发表于 2009-3-6 14:50:12

根据我执行完出的分析报告,好像不是验证页面所有的URL吧~我看不出来呢

假装不在 发表于 2009-3-6 15:00:59

原帖由 hollyecho 于 2009-3-6 13:39 发表 http://bbs.51testing.com/images/common/back.gif
Environment.Value("Image_text") =linkobject(i).outertext
这里只是设置了一个环境变量吧,哪里有引用这个变量呢?
::yiwusuoyou:::

哈哈,很是抱歉,看来我的撰写能力还要提高。
这个是在参数化link的时候使用的。在对象库中,选择这个link,你要参数掉它的outertext之类的。然后选择的类型是环境变量中对应的这个Image_text的环境变量

假装不在 发表于 2009-3-6 15:03:24

原帖由 lijian422202 于 2009-3-6 14:35 发表 http://bbs.51testing.com/images/common/back.gif
....PP啊,你也不说白点,只把代码贴出来,不说下对象库怎么引用了参数,难怪别人会疑问

lijian大哥我错了~~::yiwusuoyou:::

hollyecho 发表于 2009-3-6 15:13:14

原来刚刚的动作少了个参数化TEXT的步骤,重新录制后,只有IMAGES的超链接通过验证

hollyecho 发表于 2009-3-6 15:16:53

这个是参数化的结果

假装不在 发表于 2009-3-6 15:20:39

看到这个,可以看出你有2步做错了,你要仔细阅读每一步。

1,href   : 你要做的检查点中的URL你需要使用正则表达式。
2,innertext和text :这个在检查点里面我们就不要了.你再回去看看那个检查点设置里面哪一步。作者是要求检查点的属性只要html tag和URL

hollyecho 发表于 2009-3-6 15:26:16

你不就是作者嘛?呵呵
text又不要了?不是说把text做个参数话,添加个环境变量的么?
href的去掉了,换成了url了,这个是我粗心,还是只有一个PASSED的。
但是明白你这个例子的思路了。只是还没跑通。

假装不在 发表于 2009-3-6 15:34:05

1,检查点的属性的设置就是我们想要让QTP检测的东西。
2,对象库的属性设置,就是我们要让它识别的对象。而通过循环来让这个对象更替轮流。
3,当对象轮流变换时候,检查点也只认对象库中的这个对象。这样就达到了我们要的变换。

所以,1,你先设置好检查点要检查的东西。URL,HTML TAG
      2,参数化对象库中的link对象
      3,循环

hollyecho 发表于 2009-3-6 15:48:11

:handshake
明白了
除了一个url是https的验证不通过,其他的都通过了,我消化消化~确实比较灵活
期待你的下一篇大作,不过提个建议哦,有人说我们写的文章太象读书笔记了~~~呵呵
但是主要也是因为我初学,很多概念还不是那么熟悉吧~

假装不在 发表于 2009-3-6 15:53:54

原帖由 hollyecho 于 2009-3-6 15:48 发表 http://bbs.51testing.com/images/common/back.gif
:handshake
明白了
除了一个url是https的验证不通过,其他的都通过了,我消化消化~确实比较灵活
期待你的下一篇大作,不过提个建议哦,有人说我们写的文章太象读书笔记了~~~呵呵
但是主要也是因为我初学,很多概 ...


正在学习文笔~~山寨那篇在篇幅和思路方面就有所修改。扼杀QTP检查点2上个月已经给了51的管理员,没得改了。哈哈,见谅。

hollyecho 发表于 2009-3-6 16:03:33

为什么会想到用环境变量呢?有什么好处?

假装不在 发表于 2009-3-6 16:13:32

原帖由 hollyecho 于 2009-3-6 16:03 发表 http://bbs.51testing.com/images/common/back.gif
为什么会想到用环境变量呢?有什么好处?

好处呀,用起来简单。
而且环境变量可以直接通过VBS文件就设置好。操作简单。

hollyecho 发表于 2009-3-6 16:40:43

不好意思,还有个不懂的哦
为什么text进行了参数化,text的值不变化的,一直都是IMAGES?
检查点如果加上TEXT项就验证不通过了。
页: [1] 2
查看完整版本: 关于《扼杀QTP检查点》的讨论