51Testing软件测试论坛

标题: 关于《扼杀QTP检查点》的讨论 [打印本页]

作者: hollyecho    时间: 2009-3-6 10:15
标题: 关于《扼杀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
::yiwusuoyou:::
1,环境变量的参数化就和使用datatable的参数化是一样的。
2,由于刚才做了参数化,并且用循环时候,在
Environment.Value("Image_text") =  linkobject(i).outertext
里面修改掉对象库里面的link,也就是通过循环过程让它变化了。
因此就有所有link的检测。

谢谢讨论!哈哈~有问题大家都可以一起讨论。
作者: 假装不在    时间: 2009-3-6 12:10
::yiwusuoyou:::
你可以在google上试试看,检查点的报告很华丽!你看了会很开心。
作者: hollyecho    时间: 2009-3-6 13:29
报告中,检查的不都是同一个URL吗?如图
我初学的,搞不太明白呢
作者: hollyecho    时间: 2009-3-6 13:39
Environment.Value("Image_text") =  linkobject(i).outertext
这里只是设置了一个环境变量吧,哪里有引用这个变量呢?
作者: lijian422202    时间: 2009-3-6 14:35
....PP啊,你也不说白点,只把代码贴出来,不说下对象库怎么引用了参数,难怪别人会疑问
作者: hollyecho    时间: 2009-3-6 14:49
呵呵,我的错,我把作者的步骤贴上来
作者: hollyecho    时间: 2009-3-6 14:50
根据我执行完出的分析报告,好像不是验证页面所有的URL吧~我看不出来呢
作者: 假装不在    时间: 2009-3-6 15:00
原帖由 hollyecho 于 2009-3-6 13:39 发表
Environment.Value("Image_text") =  linkobject(i).outertext
这里只是设置了一个环境变量吧,哪里有引用这个变量呢?

::yiwusuoyou:::

哈哈,很是抱歉,看来我的撰写能力还要提高。
这个是在参数化link的时候使用的。在对象库中,选择这个link,你要参数掉它的outertext之类的。然后选择的类型是环境变量中对应的这个Image_text的环境变量
作者: 假装不在    时间: 2009-3-6 15:03
原帖由 lijian422202 于 2009-3-6 14:35 发表
....PP啊,你也不说白点,只把代码贴出来,不说下对象库怎么引用了参数,难怪别人会疑问


lijian大哥我错了~~::yiwusuoyou:::
作者: hollyecho    时间: 2009-3-6 15:13
原来刚刚的动作少了个参数化TEXT的步骤,重新录制后,只有IMAGES的超链接通过验证
作者: hollyecho    时间: 2009-3-6 15:16
这个是参数化的结果
作者: 假装不在    时间: 2009-3-6 15:20
看到这个,可以看出你有2步做错了,你要仔细阅读每一步。

1,href   : 你要做的检查点中的URL你需要使用正则表达式。
2,innertext  和text :这个在检查点里面我们就不要了.你再回去看看那个检查点设置里面哪一步。作者是要求检查点的属性只要html tag和URL
作者: hollyecho    时间: 2009-3-6 15:26
你不就是作者嘛?呵呵
text又不要了?不是说把text做个参数话,添加个环境变量的么?
href的去掉了,换成了url了,这个是我粗心,还是只有一个PASSED的。
但是明白你这个例子的思路了。只是还没跑通。
作者: 假装不在    时间: 2009-3-6 15:34
1,检查点的属性的设置就是我们想要让QTP检测的东西。
2,对象库的属性设置,就是我们要让它识别的对象。而通过循环来让这个对象更替轮流。
3,当对象轮流变换时候,检查点也只认对象库中的这个对象。这样就达到了我们要的变换。

所以,1,你先设置好检查点要检查的东西。URL,HTML TAG
      2,参数化对象库中的link对象
      3,循环
作者: hollyecho    时间: 2009-3-6 15:48

明白了
除了一个url是https的验证不通过,其他的都通过了,我消化消化~确实比较灵活
期待你的下一篇大作,不过提个建议哦,有人说我们写的文章太象读书笔记了~~~呵呵
但是主要也是因为我初学,很多概念还不是那么熟悉吧~
作者: 假装不在    时间: 2009-3-6 15:53
原帖由 hollyecho 于 2009-3-6 15:48 发表

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



正在学习文笔~~山寨那篇在篇幅和思路方面就有所修改。扼杀QTP检查点2上个月已经给了51的管理员,没得改了。哈哈,见谅。
作者: hollyecho    时间: 2009-3-6 16:03
为什么会想到用环境变量呢?有什么好处?
作者: 假装不在    时间: 2009-3-6 16:13
原帖由 hollyecho 于 2009-3-6 16:03 发表
为什么会想到用环境变量呢?有什么好处?


好处呀,用起来简单。
而且环境变量可以直接通过VBS文件就设置好。操作简单。
作者: hollyecho    时间: 2009-3-6 16:40
不好意思,还有个不懂的哦
为什么text进行了参数化,text的值不变化的,一直都是IMAGES?
检查点如果加上TEXT项就验证不通过了。
作者: lijian422202    时间: 2009-3-6 18:11
感觉环境变量就是一个系统全局变量吧,所有外部的ACTION或者VBS都可以直接调用。

PP的文笔确实不错,值得大家学习,思路也清晰。




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