目标:使用多个用户登录示例航班应用程序
Excel文件:
agentName密码
user1汞
user2汞
user3汞
user4 mercury
QTP代码:
datatable.Import "D:\QTP\TestData\login credentials.xls"
Dim i
Dim iRow
iRow = datatable.GetRowCount
For i = 1 to iRow
systemutil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
Dialog("Login").WinEdit("Agent Name:").Set datatable.Value("agentName")
Dialog("Login").WinEdit("Password:").Set datatable.Value("Password")
Dialog("Login").WinButton("OK").Click
systemutil.CloseProcessByName"flight4a.exe"
datatable.SetNextRow
Next
QTP运行脚本16次。 'i'的值从1-4开始,然后再设置为1.为什么? 指针应该理想地离开for循环。 你能解释一下原因吗?
答案 0 :(得分:2)
您的脚本可能设置为“在所有行上运行”,这意味着它将为全局数据表中的每一行运行一次脚本。执行时,您也循环遍历数据表的每一行,所以您正在做的就是这个......
Iteration 1
Loop 1
Loop 2
Loop 3
Loop 4
Iteration 2
Loop 1
Loop 2
Loop 3
Loop 4
Iteration 3
Loop 1
Loop 2
Loop 3
Loop 4
Iteration 4
Loop 1
Loop 2
Loop 3
Loop 4
这应该是您看到脚本执行16次(4 x 4 = 16)的原因。将脚本设置为仅运行一次迭代,或者停止脚本在内部循环数据表。