请问Set、Click、Select等操作可以参数化么
Obj.ClickObj.Set
Obj.Select
我想把上面的动作Click、Set、Select参数化,请问可以实现么?
因为还有好多特殊的操作,所以不想用Select Case去列举的方法,不知道还有没有其它的方法。
[ 本帖最后由 cs998998 于 2009-4-20 14:11 编辑 ] obj.set value
obj.select value
其中value就是你想要输入的值.
但是obj.click我不知道你想实现什么样的参数化 当然是可以的了,不然怎么实现关键字驱动呢~
实现方法就是用一个变量来代替Click等,再拼接字符串,然后执行。 估计有人又会问具体怎么来做。。。举个例子说明下吧
有这么一行代码:
Browser("eBaoTech InsuranceSystem").Page("eBaoTech InsuranceSystem").WebEdit("userName").Set username
首先要把代码分成三个部分(QTP实际上也就是这么做的):对象,操作,值
对象可以给一个变量,
Set oWebEdit = Browser("eBaoTech InsuranceSystem").Page("eBaoTech InsuranceSystem").WebEdit("userName")
然后为了使用方便,一般会写一个实现操作的Sub,比如
Sub ProcessObject(ByVal sObj, ByVal op, ByVal val)
Execute sObj & "." & op & " "& val
End Sub
接下来就可以将之前的代码改写为:
ProcessObject "oWebEdit", "Set", "username"
而Click之类的操作是没有值的,那么调用sub时给val传个""就好了
友情提醒:这个例子中oWebEdit是个对象,username是一个变量;在函数中使用该sub需要注意变量的作用域 最后补充下咯,对于lz的需求来说,只需要把
ProcessObject "oWebEdit", "Set", "username"
中的"Set"替换为变量就好了
回复 5# 的帖子
非常感谢,我大概知道怎么回事了,我去试一下。 学习了,现在知道有这么回事,下次用到时再仔细看看 已解决,谢谢。
页:
[1]