51Testing软件测试论坛

标题: QTP 函数调用问题 [打印本页]

作者: classlibrary    时间: 2008-10-17 16:32
标题: QTP 函数调用问题
我在代码里定义了几个函数,然后把这个函数名字放在DataTable里面,在运行的时候我从DataTable里面依次取出函数名,然后我要对这个取出的函数进行调用,请问我用什么方法去调用。

谢谢!
作者: 没有蛀牙    时间: 2008-10-17 16:42
你要调用就直接Call <FunctionName>
为什么非要放到DataTable里,再拿出来调用?
作者: classlibrary    时间: 2008-10-17 16:59
标题: 回复 2# 的帖子
调用哪个函数直接在DataTable里面设置值就可以了,代码里面可以先判断DataTable的行数,然后在按顺序循环调用你想调用的函数,所以就要把DataTable里面的值取出来调用了

[ 本帖最后由 classlibrary 于 2008-10-17 17:00 编辑 ]
作者: classlibrary    时间: 2008-10-18 21:54
请问有没有高手指教啊
作者: Randall    时间: 2008-10-20 21:58
Function msgOne(str1)
   msgbox str1
End Function

Function msgTwo(str2)
   msgbox str2
End Function
For i = 1 to 2
DataTable.SetCurrentRow(i)
Execute DataTable.Value("A", "Action1")&" "&DataTable.Value("B", "Action1")
Next

   A                   B
msgOne        "Msg"
msgTwo        "Test"
作者: kevin_swpi    时间: 2008-10-21 10:56
真没有想明白楼主用意何在?

如果你函数很多,如何确定你需要调用那个函数?
如果这个函数在其他action或者其他test里可以重用,你又作何处理?
作者: zbyufeifei    时间: 2008-10-21 11:04
LZ的想法有点怪异,想不通,为什么会这么做,本来都是代码的问题,干吗还非要把DataTable扯进来,实在不行,写个重载,做个参数的判断也好啊~
作者: Okayde    时间: 2009-8-24 18:48
晕,一般二次开发都会想这样的方法,哎呀,我也正想找答案啊。。。
作者: Okayde    时间: 2009-8-24 19:41
我花了一个多钟,终于找到方法啦!!!
用eval语句,eval可以解释执行一个命令,你可以构造这个命令字符串,然后用eval执行,这样你可以动态执行你要的函数或Action

比如
函数:
Function a()
msgbox "okok"
End Function

funcName = "a"
'执行这个函数,这样就可以做到上面版主要的东西啦!!!
eval funcName




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