51Testing软件测试论坛

标题: QTP怎样随机打开链接啊 [打印本页]

作者: zhihui990    时间: 2008-4-17 14:37
标题: QTP怎样随机打开链接啊
如果web页面的link数不固定,我又想随机打开某个页面的某个link,应该在脚本中怎样设置呢?
我原以为可以取出页面中的link总数,然后按照随机数打开,可是GetItemsCount又没有,我晕了。
作者: 鹭岛    时间: 2008-4-17 14:56
设置X为随机数
x=RandomNumber(1,256)  '设置X为1到256之间的任何一个数
Object.link("index:="&x).click

这个方法有一个问题就是你页面上到底有多少个连接呢?不知道,隐藏了多少个连接呢?也不知道,所以可能会出错,也不好控制!

其他我暂时没想到还能有什么办法
作者: hsjzfling    时间: 2008-4-17 15:17
页面中Link的总数是可以很容易取到的~用ChildObjects方法返回Page下所有满足你所指定条件的链接给一个集合,然后取集合的Count属性就行了
作者: 鹭岛    时间: 2008-4-17 15:31
原帖由 hsjzfling 于 2008-4-17 15:17 发表
页面中Link的总数是可以很容易取到的~用ChildObjects方法返回Page下所有满足你所指定条件的链接给一个集合,然后取集合的Count属性就行了

不可能这么简单,多少隐藏的呢?
当达到某种条件的时候出现另外一个页面,也就是说平时是不出现的,那点了就可能出错,这样算出来的总数是错误的,不是真正页面上的总数
作者: zhihui990    时间: 2008-4-17 15:34
谢谢啊
但是还有个问题,如果连续两部操作,就是在首页随机点个link,进了2级页面后还要随机点个link,但是这个2级页面page()是随机的啊,库文件没有的,又咋办呢?
作者: hsjzfling    时间: 2008-4-17 15:51
原帖由 鹭岛 于 2008-4-17 15:31 发表

不可能这么简单,多少隐藏的呢?
当达到某种条件的时候出现另外一个页面,也就是说平时是不出现的,那点了就可能出错,这样算出来的总数是错误的,不是真正页面上的总数


事实就是这么简单~~你自己也说了,"出现另外一个页面的时候",都不是一个Page了,怎么会取到那个值呢~~可行不可行自己尝试下就知道了。仔细看看我所说的,我还特意提醒可以加入指定条件进行筛选,避免随机选中到某些不想选中的link~~

而且还可以更简单的来取到页面上所有link的总数,表问为什么~~
Browser().Page().GetROProperty("number of links")
作者: zhihui990    时间: 2008-4-17 16:02
这个太神了
作者: hsjzfling    时间: 2008-4-17 16:02
当然,页面上可能会存在些开发中残留的坏链接,那么在针对链接的测试中,这种打不开的链接就是提交的对象了,我们的目地是测试,而不是单纯的为了跑通一个脚本~
作者: hsjzfling    时间: 2008-4-17 16:07
原帖由 zhihui990 于 2008-4-17 15:34 发表
谢谢啊
但是还有个问题,如果连续两部操作,就是在首页随机点个link,进了2级页面后还要随机点个link,但是这个2级页面page()是随机的啊,库文件没有的,又咋办呢?


Hint:Browser有CreationTime,index属性,Page也有index属性~~
作者: 鹭岛    时间: 2008-4-17 16:27
原帖由 hsjzfling 于 2008-4-17 16:02 发表
当然,页面上可能会存在些开发中残留的坏链接,那么在针对链接的测试中,这种打不开的链接就是提交的对象了,我们的目地是测试,而不是单纯的为了跑通一个脚本~

如果纯粹是为了查看连接有没有效那根本不需要费这么打的力气
使用一个工具就可以了,使用:xenu
把你整个页面的所有有效无效的连接全抓出来
作者: hsjzfling    时间: 2008-4-17 18:43
原帖由 鹭岛 于 2008-4-17 16:27 发表

如果纯粹是为了查看连接有没有效那根本不需要费这么打的力气
使用一个工具就可以了,使用:xenu
把你整个页面的所有有效无效的连接全抓出来


单纯测试链接的工具确实不少,以前也有讨论过。
但是我们既然已经选择了用QTP来进行测试,那么遇到缺陷引起的问题就不应该选择绕过,而是应该提出来解决,这是原则问题,否则用QTP来测试的目的何在?仅仅只是为了能把一套流程从头跑到尾,最后得到一个pass的结果?

测试链接也是Web测试的一个部分,QTP既然也可以在测试的过程中做到,那为何要选择回避呢~~

如果说非要选择其它工具去做,那么设计QTP脚本的时候就不需要再重复考虑这种问题了,那么我之前的方法就更不会有问题咯,只需要把不想选中的链接筛掉就可以了:)

======只是讨论======
作者: hxf    时间: 2008-4-21 11:48
Browser().Page().GetROProperty("number of links")这个太神了




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