AlexanderIII 发表于 2007-1-2 13:57:58

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

lily_mu75 发表于 2007-1-12 18:09:54

回复 #1 lovetest6 的帖子

请问版主element.tagname和element.InnerText是属于哪一块的语言?在哪可以查到tagname和innertext属性的相关资料?我在QTP帮助文档里没有查到。

wangxinwen 发表于 2007-1-17 14:12:51

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

terrylight 发表于 2007-1-26 10:08:12

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那个语句

Dorpnight 发表于 2007-2-6 15:43:18

回复 #2 lovetest6 的帖子

请教版主

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

如何存进数组啊?

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

Hunter 发表于 2007-2-12 12:41:22

楼主的这个参数化的方法很不错 :),如果为了检验页面所有的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
//

alex_82712 发表于 2007-5-7 11:57:10

回复 #26 Hunter 的帖子

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

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

alex_82712 发表于 2007-5-7 17:46:36

回复 #10 shengyan 的帖子

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

再次感谢

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

jlk012 发表于 2007-5-21 00:52:30

太谢谢了!!!!!

rivermen 发表于 2007-5-25 17:25:05

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

kheng-ling 发表于 2007-5-29 17:33:31

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

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

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

知道的同仁一定帮忙呀sdlkfj2

gzj_06 发表于 2007-7-10 16:15:44

回复 #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都是以[开头的,比如注册,登录,退出等,所以觉得应该去掉这个条件

Fantastic_test 发表于 2007-12-6 09:36:24

回复 20# 的帖子

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

lovetest6 发表于 2007-12-12 20:05:53

原帖由 Fantastic_test 于 2007-12-6 09:36 发表 http://bbs.51testing.com/images/common/back.gif
我遇到的问题跟你的一样。但我不明白你下楼说的意思。是不是这样理解:先转到“http://bbs.51testing.com/default.php”此页面 ,然后点击各个栏目。而后在将刚才专家视图中的代码换成楼主的代码。但是“Browser("Br ...

别崩溃啊。我想可能是论坛升级后,程序无法运行了。

lovetest6 发表于 2007-12-12 20:15:56

原帖由 terrylight 于 2007-1-26 10:08 发表 http://bbs.51testing.com/images/common/back.gif
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。
就把它存到数组里面。

lovetest6 发表于 2007-12-12 20:17:55

原帖由 lily_mu75 于 2007-1-12 18:09 发表 http://bbs.51testing.com/images/common/back.gif
请问版主element.tagname和element.InnerText是属于哪一块的语言?在哪可以查到tagname和innertext属性的相关资料?我在QTP帮助文档里没有查到。

查一下MS的手册吧。vbscript的。我想应该能查到吧。

jiaerxue 发表于 2007-12-13 20:23:26

回复 1# 的帖子

支持,顶

kamina_ 发表于 2007-12-29 10:23:42

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

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

banweina 发表于 2007-12-29 18:08:18

看了

看了就要支持下

wu52wen 发表于 2008-1-22 11:28:53

顶下,算是高水平的交流
页: 1 [2] 3
查看完整版本: 如何参数化link