51Testing软件测试论坛

标题: 咨询一个call action后的循环问题 [打印本页]

作者: 胖头珊    时间: 2008-1-2 14:31
标题: 咨询一个call action后的循环问题
例如我在action1中instert call to copy of action选择action2,并选择location是after the current step。保存后,action2就在action1里面。如果回放是我希望action1在执行sheet1里面第一行数据时,action2执行sheet2中的第1到2行数据;action1在执行sheet1里面第二行数据时,action2执行sheet2中的第3到5行数据.请问这个循环的语句应该怎么写啊?
作者: gy21st    时间: 2008-1-2 15:03
可是可以做。但是感觉你设计的思路似乎很别扭。

“可以做”的方法
Action1: run on all rows
Action2: run one iterations only

Action2有一个输入参数是当前Action1的当前行数,Action1中可以获取并在调用action2时传入
Action2中判断action1当前行数,根据你的需求写for循环进行

比如传入参数是currentRowofAction1, Action2 中这样写。
if currentRowofAction1 =1
  startRow=1
  endRow=2
else if currentRowofAction2 = 2
  startRow=3
  endRow=5
....
End if

for i = startRow to endRow
   DataTable.GetSheet("Sheet2").SetCurrentRow(i)
  .....(Action2的全部处理代码)
next

但这种方式确实很别扭,你在仔细检查下是不是你的Action定义有些问题。
作者: 胖头珊    时间: 2008-1-3 13:59
因为我要测试的程序是这样的:
录制一张单据,这张单据有表单信息,有明细信息,而一张单据的明细信息有多条。所以才会有上面的问题。
谢谢你啊,我学会了。呵呵
作者: eden_guo    时间: 2008-1-3 14:54
原帖由 gy21st 于 2008-1-2 15:03 发表
可是可以做。但是感觉你设计的思路似乎很别扭。

“可以做”的方法
Action1: run on all rows
Action2: run one iterations only

Action2有一个输入参数是当前Action1的当前行数,Action1中可以获取并在调用a ...


这个有用啊.谢谢了
作者: cc_qq_yy    时间: 2008-1-3 17:26
那样做也许麻烦了点
Action2设成run one iterations only
在Action1中使用for循环,给action2传递参数即可




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