51Testing软件测试论坛

标题: 如何参数化调用function 或者action [打印本页]

作者: vaguely    时间: 2007-9-3 20:46
标题: 如何参数化调用function 或者action
假如我的datatable中的test case列
有以下的test cases

Test Case
------------
AA
BB

..
XY
-----------

1)如果上面每个TEST CASE都和一个ACTION相联系,
请问如何写下面这句话中的myTestCaseName:
RunAction  MyTestCase, oneIteration

2) 如果上面每个Test Case都和一个function相联系
那么如何动态的参数化调用每个功能呢?
比如AA()? 谢谢

[ 本帖最后由 vaguely 于 2007-9-3 20:48 编辑 ]
作者: walker1020    时间: 2007-9-3 21:38
1, RunAction  AA,oneIteration 如果AA 是 TEST CASE的名字,这个需要通过 Insert Action来实现。关于RunAction  的具体用法 请看帮助。
2,如果在 File--> Resource 里面增加 了这个function写成的VBS文件,你是可以直接写AA() 地。
作者: hsjzfling    时间: 2007-9-3 22:57
1、 若你的数据是放在globalsheet中的,直接写runaction datatable("testcase",dtglobalsheet),oneIteration 即可。前提是你的TEST中存在AA,BB等Action。
2、 使用Execute即可,当然前提同样也是那些名为AA,BB等的函数存在于当前的Action
Dim str
str = datatable("testcase",dtglobalsheet)
Execute  str
作者: vaguely    时间: 2007-9-3 23:49
sdlkfj1 谢谢楼上各位的回答。

我想hsjzfling 更加明白我的问题。sdlkfj6
但是这样子看来参数化函数名,或者action名酒要求一定要把他们放到data table里了。对么?

walker1020
我的意思是说,如果想用一个循环来调用下面的测试案例

Test Case
------------
AA
BB

..
XY
-----------

用函数或者action的方法怎么实现。不好意思,总是说不明白
作者: walker1020    时间: 2007-9-4 09:49
还是不明白你的问题,还是让更加明白你的问题的 hsjzfling  回答你吧

[ 本帖最后由 walker1020 于 2007-9-4 09:52 编辑 ]
作者: yabest    时间: 2007-9-4 10:17
用eval语句,eval可以解释执行一个命令,你可以构造这个命令字符串,然后用eval执行,这样你可以动态执行你要的函数或Action

比如

funcName = "TestAddUser"
cmd = "ret = " & funcName & "()"
eval cmd
msgbox ret

actionName = "TestAddUser"
cmd = "RunAction  " & actionName
eval cmd

[ 本帖最后由 yabest 于 2007-9-4 10:19 编辑 ]
作者: vaguely    时间: 2007-9-4 11:16
谢谢!!!sdlkfj3




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