由于录制脚本前疏忽了对脚本结构的设计,所以将所有的脚本都录制到同一个Action中,将脚本参数化后发现循环不好设置,所以脚本录制前详细的架构设计是非常有必要的,不然这将给你循环设置和参数传递带来不必要的麻烦,不过既然已经录制完了,只能将一个Action分离成两个Action,分离方法如下:将屏幕换到Expert View下,鼠标放到要分离代码之间,右键Action-Split,分离为两个Action,例如:action1,Action2.
建议一:不使用QTP中的循环迭代,自定义For循环调用Action。
RunAction Action1,oneiteration
For i = 1 to 2
RunAction Action2,oneiteration
Next
建议二:
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
如何让QTP脚本中的部分代码循环
最新推荐文章于 2019-04-14 00:18:18 发布