KingRight 发表于 2009-1-12 16:04:42

QTP描述性编程时如何对Link参数化

以下对开心网咬人那步骤编写的script,因为连续咬人时,打开的“咬人 - 开心网”的page是不断变化的,没办法只有进行描述性编程了,但是产生一个问题,这样其下的所有对象都必须用描述性编程,但是执行到黑体语句时提示找不到Link对象,请问高手是什么原因?
注:arr数组已正确得到好友名字

For j=0 to i
   Browser("开心网").Page("title:=咬人 - 开心网").Frame("name:=iframe_parent").Link("name:=Friend").SetTOProperty "text", arr(j)
   Browser("开心网").Page("title:=咬人 - 开心网").Frame("name:=iframe_parent").Link("name:=Friend)").Click
   Browser("开心网").Page("title:=咬人 - 开心网").WebButton("name:=我要咬他").Click
   Browser("开心网").Page("title:=咬人 - 开心网").Frame("name:=iframe_parent").WebButton("name:=咬他").Click
   Browser("开心网").Page("title:=咬人 - 开心网").Frame("name:=iframe_parent_0").WebButton("name:=关闭").Click
   Browser("开心网").Page("咬人 - 开心网").Output CheckPoint("TiLi")
Loop

另外,对于这种页面name老变的,有好的处理方法吗?

谢谢了。

KingRight 发表于 2009-1-12 16:27:19

有人吗? 在线等

KingRight 发表于 2009-1-12 16:48:34

能不能这么执行Link:

Browser("开心网").Page("title:=咬人 - 开心网").Frame("name:=iframe_parent").Link("name:=arr(j))").Click

好像也不行

asoqa 发表于 2009-1-12 20:06:37

Link("name:=Friend")表示的意思是name的值为字符串Friend,而不是变量Friend。同样Link("name:=arr(j))")表示name的值为字符串arr(j),而不是变量arr(j)。如果需要引入变量,应这样写:Link("name:=" & arr(j))

另外下面这句话也有问题,是多余的。
Browser("开心网").Page("title:=咬人 - 开心网").Frame("name:=iframe_parent").Link("name:=Friend").SetTOProperty "text", arr(j)

用Browser("开心网").Page("title:=咬人 - 开心网").Frame("name:=iframe_parent").Link("name:=" & arr(j)).Click再试试

[ 本帖最后由 asoqa 于 2009-1-12 20:10 编辑 ]

樱花季节 发表于 2009-1-18 16:36:02

回一下

levelksk 发表于 2011-2-17 21:17:07

记号,太有用了

newage_7 发表于 2011-6-29 13:56:38

SETTOProperty方法只对对象库里存在的对象有效。
页: [1]
查看完整版本: QTP描述性编程时如何对Link参数化