0

目标:多用户登录示例飞行应用程序

Excel文件:

代理名称 密码
user1 水银
user2 水银
user3 水银
user4 水银

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 循环。你能解释一下原因吗?

4

1 回答 1

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) 的原因。将您的脚本设置为仅运行一次迭代或停止您的脚本在内部循环数据表。

于 2014-08-17T18:30:37.727 回答