在QTP中连续运行VBScript
我有一个带有许多子程序和函数的qtp脚本。我正在自动化一个应用程序的测试。应用程序需要对不同的数据集进行多次测试。正当在QTP中连续运行VBScript,vbscript,qtp,Vbscript,Qtp,我有一个带有许多子程序和函数的qtp脚本。我正在自动化一个应用程序的测试。应用程序需要对不同的数据集进行多次测试。正当 现在,脚本读取第一组数据并继续执行,直到脚本用完为止。我想不出任何东西可以让脚本在到达结尾时返回到脚本的顶部。如果一切都在主方法下,那就容易了。没有main方法,只有从脚本顶部到底部运行的多个子例程和函数。听起来好像您正在尝试数据驱动您的测试。如果数据表中有多行,则可以指示QTP对数据表中的每行运行操作或整个测试 要对测试执行此操作,请右键单击测试流中的测试,选择设置并选择在所
现在,脚本读取第一组数据并继续执行,直到脚本用完为止。我想不出任何东西可以让脚本在到达结尾时返回到脚本的顶部。如果一切都在主方法下,那就容易了。没有main方法,只有从脚本顶部到底部运行的多个子例程和函数。听起来好像您正在尝试数据驱动您的测试。如果数据表中有多行,则可以指示QTP对数据表中的每行运行操作或整个测试 要对测试执行此操作,请右键单击测试流中的测试,选择设置并选择在所有行上运行单选按钮
对于此操作中的等效项,请单击鼠标右键->操作调用属性。我通常使用如下脚本:
Option Explicit : main
Sub main()
Do
' This initializes a test for me. The test resides in an
' homebrew AutomatedTest object
Set automatedTest = [new AutomatedTest]
automatedTest.Project = "XYZ"
automatedTest.PickupFolder = "C:\TestScenarios\"
automatedTest.Initialize
' This line starts my test
automatedTest.Start
Set automatedTest = Nothing
Loop Until (CreateObject("WScript.Shell").Popup("Next file will be executed in 10 seconds." & vbNewLine & _
"Press OK to execute immediately or Cancel to stop Autorun.", 10, "Autorun", 1 or 32 or 4096) = 2) '2 = cancel
End sub
如何实现它,您可以自己看到,Do/Loop操作提供了一个continues循环,而WshShell.Popup提供了一种在测试之间取消的方法,如果在一定时间后没有采取任何操作,则可以继续。如果您想在无人值守的情况下运行测试,这会很方便。试试1。在测试->设置->运行中运行所有行选项 或 2.在你的测试中 添加以下代码 totalrows=Datatable.getrowcount 对于行=1到行总数 //整个测试代码
下一个第一个问题是-通过重复执行同一测试,您试图实现什么?除此之外,您可以使用OTA接口从VB脚本重复运行同一测试,也可以使用Recovery.Activate执行恢复方案,重新启动测试可能不是最好的选择。@BrianJM我正在测试多组类似的数据。尝试创建不同的用户并在提供的不同服务中向他们注册。我明白了。我误解了这个问题。我认为您已经设置了数据行,并且希望在不中断的情况下重复运行相同的行。您只需设置跑步设置并设置适当的数据。