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