首先,如果您的测试设置为Run on all rows
in File
-> Settings
->Run
那么您不需要代码中的循环 -UFT
知道它需要对数据表中的每一行进行迭代。
其次,您需要的只是语句,然后检查其成功和任何错误处理。如果出现错误,只需退出测试迭代,然后UFT
进入下一个迭代。
我修改后的代码版本:
Browser("ABC").Page("ABC").WebEdit("ABC").Set "123" ' sets an initial value
Browser("ABC").Page("").WebEdit("ABC").Set DataTable("DT1", dtGlobalSheet)
If Browser("ABC").Page("").WebEdit("ABC").GetROProperty("value") <> DataTable("DT1", dtGlobalSheet) Then
' Handle error popup if it exists
Browser("ABCError").Page("").WebButton("OK").Click
ExitTestIteration
End If
Browser("ABC").Page("").WebEdit("CDE").Set DataTable("DT2", dtGlobalSheet)
If Browser("ABC").Page("").WebEdit("CDE").GetROProperty("value") <> DataTable("DT2", dtGlobalSheet) Then
' Handle error popup if it exists
Browser("ABCError").Page("").WebButton("OK").Click
ExitTestIteration
End If
Browser("ABC").Page("").WebEdit("FGH").Set DataTable("DT3", dtGlobalSheet)
If Browser("ABC").Page("").WebEdit("FGH").GetROProperty("value") <> DataTable("DT3", dtGlobalSheet) Then
' Handle error popup if it exists
Browser("ABCError").Page("").WebButton("OK").Click
ExitTestIteration
End If
Browser("ABC").Page("").WebEdit("JKL").Set DataTable("DT4", dtGlobalSheet)
If Browser("ABC").Page("").WebEdit("JKL").GetROProperty("value") <> DataTable("DT4", dtGlobalSheet) Then
' Handle error popup if it exists
Browser("ABCError").Page("").WebButton("OK").Click
ExitTestIteration
End If
Browser("ABC").Page("").WebEdit("MNO").Set DataTable("DT5", dtGlobalSheet)
If Browser("ABC").Page("").WebEdit("MNO").GetROProperty("value") <> DataTable("DT5", dtGlobalSheet) Then
' Handle error popup if it exists
Browser("ABCError").Page("").WebButton("OK").Click
ExitTestIteration
End If
我假设您在问题中重复设置 Statement 1 等应该模拟设置许多不同的WebEdit
文本框并编码 5 个集合作为示例。如果随着迭代的进行,任何文本框都没有设置为指定的数据表列值(在我的示例中为 DT1 到 DT5),那么If
条件将被满足,导致尝试处理错误弹出窗口(您需要修改我猜测的代码以满足您的要求),然后退出测试迭代。退出迭代将触发一个新的迭代,因此请确保在退出之前处理任何错误弹出窗口。
如果所有WebEdit
s 都成功完成,那么UFT
将重复数据表中定义的所有迭代。