为了账号安全,请及时绑定邮箱和手机立即绑定

比如说for循环,如何循环两次(不用运行的代码,只要for代码)?

比如说for循环,如何循环两次(不用运行的代码,只要for代码)?

慕勒3428872 2022-07-14 17:11:44
我测试一个程序,分成登陆、新增、退出三个部分。我设置了参数化,运行结果是:登陆-新增-退出-登陆-新增-退出-登陆-新增-退出-……我需要的循环是这样的:登陆-新增1-新增2-新增3-新增4-新增5-……-退出。请问如何实现?我把新增的设成一个action,登陆和注销也分别设成action,然后进行参数化运行,结果还是三个action都运行了,郁闷,希望能给出具体的解决方案。
查看完整描述

3 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

你完全没了解QTP的Action和DataTable间的关系~还有QTP循环迭代设置与Action的关系
建议一:不使用QTP中的循环迭代,自定义For循环调用Action。
RunAction 登陆,oneiteration
For i = 1 to 2
RunAction 新增,oneiteration
Next
RunAction 退出,oneiteration
建议二:多多了解下QTP的Action和DataTable吧~
QTP有一个隐藏Action的,既Action0,既GlobalSheet对应的Action(补充:DataTable中每个Sheet都对应一个Action,GlobalSheet也不例外的),是QTP脚本执行的入口,相当于C语言里的main函数,很多人刚使用QTP,创建一个脚本就看到Action1,以为脚本是从Action1开始的,实际上Action1是在Action0中被调用了~
Action0中的脚本一般就一句话~
RunAction Action1,oneiteration
如果你把测试数据放在GlobalSheet中,然后Setting页面又设置DataTable循环执行,那最后的结果就是使用GlobalSheet里的数据循环执行Action0,也就是所有脚本都循环。
你这种情况,解决方法就是把测试数据从GlobalSheet中移到“新增”Action的LocalSheet中,然后调用新增Action时循环迭代
如:RunAction 新增,alliterations
-------------以上两个方法都可以解决你的问题,个人建议使用For循环,如果使用QTP的迭代循环,没弄明白规律是容易出错的。



查看完整回答
反对 回复 2022-07-18
?
波斯汪

TA贡献1811条经验 获得超4个赞

设置多个Action。把新增那一步单独放进一个Action中。添加Action从QTP工具中选择Insert——Cell to New Action。给你提供这个思路。具体的方法自己查一下。
好吧,补充一下:比如说你想循环Action2,那么在Test Flow选中Action2点鼠标右键,选择Action Call Properties,然后选择Run on all rows,确定。

查看完整回答
反对 回复 2022-07-18
?
12345678_0001

TA贡献1802条经验 获得超5个赞

就用for循环新增3次

查看完整回答
反对 回复 2022-07-18
  • 3 回答
  • 0 关注
  • 291 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信