QTP中Datatable部分是由两部分组成的:Global表和对应于每个Action的local表。 Global表就是指全局的表,对每个Action都起作用; Action表只对这个Action本身起作用,每个Action都有一个对于本身Action的表; 计算整个程序跑多少次的时候是通过Datatable中Global需要跑的次数乘以Action中的需要跑的次数。 例如Action1里有4条数据需要跑 1.如果gobal设置循环一次,action循环所有的,那么此时把action中所有数据取出 2.如果goble和action设置循环都只是一次,那么此时就只取action的第一条数据 3.gobal不受action的设置的影响
这是代码控制action
Dim i,currentValue
i = 1
While i<= 3
Rem To find the value, you dan apply any of the following two fuctions :
Rem DataTable.Value(ParameterID [, SheetID]) or DataTable(ParameterID [, SheetID])
currentValue = DataTable.Value("LProductInfo","Action1")
Rem currentValue = DataTable("LProductInfo","Action1")
Browser("Login Page").Page("Page_3").Image("spacer").FireEvent "onmouseover"
Browser("Login Page").Page("Page_3").Image("spacer").Click
Browser("Login Page").Page("Page_4").WebButton("Create").Click
Browser("Login Page").Page("Page_5").WebEdit("#form.name").Set currentValue
Browser("Login Page").Page("Page_5").WebEdit("#form.productNo").Set currentValue
Browser("Login Page").Page("Page_5").WebEdit("#form.spec").Set currentValue
Browser("Login Page").Page("Page_5").WebEdit("#form.unit").Set currentValue
Browser("Login Page").Page("Page_5").WebButton("Save").Click
wait(2)
DataTable.GetSheet("Action1").SetNextRow
i = i+1
Wend