google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

如何参数化link

楼上,你如果直接COPY代码到你的QTP里,当然运行不了.
因为你的QTP里的对象库没有对象呀,怎么执行?
你最好是自己先录制一次,然后再根据上面讲的步骤算法来重新写一下.

TOP

回复 #1 lovetest6 的帖子


请问版主element.tagname和element.InnerText是属于哪一块的语言?在哪可以查到tagname和innertext属性的相关资料?我在QTP帮助文档里没有查到。
博客地址:
http://blog.sina.com.cn/lilymu
生活就像一面镜子,你对着她微笑,她就对着你微笑!

TOP

我也想问楼上同样的问题,这样写以后看变量的变化,好像和预期的值不一样!

TOP

For Each element in tags
    If Ucase(element.tagname)="A" and left(element.InnerText,1)="[" Then
                        ReDim Preserve arr(i+1)
                    arr(i)=element.InnerText
    i=i+1
        end if
Next
谁能告诉我这段代码的作用是什么? 特别是if那个语句

TOP

回复 #2 lovetest6 的帖子


请教版主

然后得到所有版面的名称,也就是link的名称。
存到数组里面

如何存进数组啊?

我在研究你这个帖子,不知道怎么实现

TOP

楼主的这个参数化的方法很不错 :),如果为了检验页面所有的Link,我有个简单方法
我分析一下搂主的意思:
某个页面的所有的Link都点击并Check一遍。
那么思路基本应该是:进入该页面(*)--〉点击Link--〉Page复位(*)--〉点击Link。。。。直到所有link被点击一次。
即:
Browser("Browser").Page("Page").Link("name:=我的初始页面").Click
Browser("Browser").Page("Page").Sync
For i=0 to 1000
        If Browser("Browser").Page("Page").Link("index:="&i).Exist Then
                msgbox Browser("Browser").Page("Page").Link("index:="&i).GetRoProperty("name")//获得Link名称
                Browser("Browser").Page("Page").Link("index:="&i).Click
                Browser("Browser").Page("Page").Sync
               {... ...} //此处可以根据Link名称进行Link页面的校验
                Browser("Browser").Page("Page").Link("name:=我的初始页面").Click  //此句为页面复位作用
                Browser("Browser").Page("Page").Sync
        Else
                Exit For
        End If
Next

msgbox "该页面中Link的数量为:"&i
//
有个朋友的msn签名这样写:我就像一只趴在玻璃上的苍蝇,前途光明,出路没有.
另外一个朋友看到了,随手跟道:我趴在墨镜上了... ...

TOP

回复 #26 Hunter 的帖子


Hunter兄
我按照你给的代码,运行了,有点问题
因为我的系统在每一个页面都会有一个Log out的Link,所以每次检查到这个Link的时候,就点了它退出了,之后了,退出到登陆界面,又有一个Forget password的Link,所以它就不停的去点这个Link。
我想做的是,如果遇到Log out只是检查不要点击它,必然就没发去检查Log out后面的Link了,这个语句该怎么写啊,就是说如果遇到Log out,不要点击这个Link,继续往下执行

请教Hunter 兄以及各路高手帮忙解决一下!

TOP

回复 #10 shengyan 的帖子


10F的,我用了可以,但是唯一的一点就是:要把所要测试的Link写到一个数组里,并且要改变For循环的次数。就这一点不太好。但是要参数化的Link不需要加到对象库也能运行。能写出这么强的代码,已经很不错了。

再次感谢

[ 本帖最后由 alex_82712 于 2007-5-7 17:52 编辑 ]

TOP

太谢谢了!!!!!

TOP

关于循环语句的使用:
在这里还是提倡使用For each
如果用Hunter 的方法,for i=1 to 1000(如果页面上的link 大于1000怎么办?)
不管1000个link的可能性如何,至少觉得不严密。
如果真的要计算page上的links数,还不如直接使用 standard checkpoint (QTP Tutorial 上)

TOP

找了好久,终于找到我要查的问题的帖子了,太谢谢大家了

还有两个问题,有谁可以详细的教一下:

1.如何录制或写可以循环的脚步(比如我要测试很多次点击一个按钮“Cancel”,这个动作怎么录)
2.我想根据条件来跑程序,应该怎么写脚本呢?
比如在一定的条件下,会出现一种情况
另外的情况下,又会出现另外的情况

知道的同仁一定帮忙呀sdlkfj2

TOP

回复 #2 lovetest6 的帖子


For Each element in tags
    If Ucase(element.tagname)="A" and left(element.InnerText,1)="[" Then
                        ReDim Preserve arr(i+1)
                    arr(i)=element.InnerText
    i=i+1
        end if
Next
上面代码中if后的第2个条件不具有普遍性,并不是每个链接的InnerText都是以[开头的,比如注册,登录,退出等,所以觉得应该去掉这个条件
纸上得来终觉浅,绝知此事要躬行

TOP

回复 20# 的帖子


我遇到的问题跟你的一样。但我不明白你下楼说的意思。是不是这样理解:先转到“http://bbs.51testing.com/default.php”此页面 ,然后点击各个栏目。而后在将刚才专家视图中的代码换成楼主的代码。但是“Browser("Browser").Navigate "http://bbs.51testing.com/index.php"
”这个地方的网址必须改为“http://bbs.51testing.com/default.php” 。。高手们帮我指点一下迷雾吧。我已经快崩溃了啊 。。。

TOP

引用:
原帖由 Fantastic_test 于 2007-12-6 09:36 发表
我遇到的问题跟你的一样。但我不明白你下楼说的意思。是不是这样理解:先转到“http://bbs.51testing.com/default.php”此页面 ,然后点击各个栏目。而后在将刚才专家视图中的代码换成楼主的代码。但是“Browser("Br ...
别崩溃啊。我想可能是论坛升级后,程序无法运行了。

Mercury Customer Support Portal为了RFT我卸载了QTP

TOP

引用:
原帖由 terrylight 于 2007-1-26 10:08 发表
For Each element in tags
    If Ucase(element.tagname)="A" and left(element.InnerText,1)="[" Then
                        ReDim Preserve arr(i+1)
                    arr(i)=element.InnerText
    i ...
这段代码的意思就是说,如果tagname是link的标记:<A>,而且link还是以"["开头。那么就认为这是板块名称的link。
就把它存到数组里面。

Mercury Customer Support Portal为了RFT我卸载了QTP

TOP

引用:
原帖由 lily_mu75 于 2007-1-12 18:09 发表
请问版主element.tagname和element.InnerText是属于哪一块的语言?在哪可以查到tagname和innertext属性的相关资料?我在QTP帮助文档里没有查到。
查一下MS的手册吧。vbscript的。我想应该能查到吧。

Mercury Customer Support Portal为了RFT我卸载了QTP

TOP

回复 1# 的帖子


支持,顶
爱老公,爱生活,爱软件

TOP

.........顶一个....

[ 本帖最后由 kamina_ 于 2007-12-29 14:39 编辑 ]

TOP

看了


看了就要支持下

TOP

顶下,算是高水平的交流

TOP

 
当前时区 GMT+8, 现在时间是 2008-12-5 08:18Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹