51Testing软件测试论坛
标题:
QTP用DataTable进行数据驱动循环次数以及范围的问题。
[打印本页]
作者:
wxy5g
时间:
2011-4-13 15:08
标题:
QTP用DataTable进行数据驱动循环次数以及范围的问题。
在测试的过程中遇到了一个这样的问题:
我编写了一段脚本由A、B、C三个部分组成,现在B部分是使用Datatable数据驱动填一个表单,也就是这个B部分是要根据dtGlobalTable中的行数进行循环填写。
现在问题出现了,我现在在使用B部分的Datatable进行数据驱动时,A、C部分也要跟着循环,这个A、C部分是登陆和退出等操作,没有必要每次都执行,请大家给点意见这个问题要怎么解决呢 ?我现在只想让B部分循环,A、C部分只执行一次就OK了。
先谢谢大家了~~~~~
作者:
zj_2782495
时间:
2011-4-13 15:27
把登录和退出都写成通用的function A, Function or Sub C,中间填写表单部分单独携程另外一个function B, 然后在一个action中call A B C, 循环只在 B中进行。
作者:
wxy5g
时间:
2011-4-13 17:43
回复
2#
zj_2782495
嗯, 我试着把登陆和退出写到Function里,B还是原来的代码没有封到Function里,结果没有效果,(因为登陆和退出这样的可以重用)。谢谢帮忙~~~
作者:
布阿泽雨
时间:
2011-4-13 22:32
可以将脚本拆分成Action A 、 Action B 、Action C
A 和 C并列关系 然后再A中调用 B
RunAction "B", allIterations
作者:
wxy5g
时间:
2011-4-14 11:18
回复
4#
布阿泽雨
你好,我试了您说的这个方法,但是还是不行。
格式是这样的
Function
action1
action2(被1调用)
action3
现在的结果还是每次遍历Global Sheet的数据时每个action都要执行。
不知道是不是我的哪个地方设置的有问题???
但是还是要谢谢你~~~
作者:
lanchozxd
时间:
2011-4-14 15:12
回复
5#
wxy5g
file-setting- run 中设置run one iteration only...,然后再for循环action2
作者:
wxy5g
时间:
2011-4-14 15:33
回复
6#
lanchozxd
嗯,这样也可以。我现在使用的方法是
function
Action1
Action2
Action3
创建三个Action
在Datatable中的Action2 sheet中填写了我要驱动Action2的数据,在Action2的代码中使用了Datatable(“A”,dtLocalSheet),然后再到左边框的Function中的Action->Action call Propertes->Run from row设置为数据的组数就可以了。其他的Action设置都默认一次。
问题终于解决了,谢谢大家!!!嘿嘿
作者:
flouda
时间:
2011-4-14 15:53
本质是 DataSheet Local 和 Global 的区别
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2