QTP中DataTable用例取值与循环

要求: 登陆系统——>Goods——>Notice——>Goods——>Notice——>退出系统

 

思路: 登陆系统录制到Login Action,Goods录制到Goods Action,Notice录制到Notice Action,退出系统录制到Logout Action

 

步骤:

1、录制Login、Goods(有参数化)、Notice(有参数化)、Logout脚本

 

2、新建Action1,用于运行以上4个Action   

 

RunAction "Login", oneiteration

For i = 1 to 3
	RunAction "Goods", oneiteration
	RunAction "Notice", oneiteration
Next

RunAction "Logout", oneiteration

 3、运行脚本

 

问题:根据以上步骤,确实循环了,但是总是取了DataTable的第一行值

 

解决问题:

1、在Goods和Notice脚本中设置for循环,代码如下:

 

For i=0 to datatable.GetSheet("Goods").GetRowCount-1 '定义循环执行次数
 '要循环的测试脚本
 ...
 DataTable.GetSheet("Goods").SetNextRow '获取DataTable中的下一行数据
Next

 2、Action1中代码修改如下:

RunAction "Login", oneiteration


RunAction "Goods", oneiteration
RunAction "Notice", oneiteration


RunAction "Logout", oneiteration(此句需放到Notice脚本的最后)

 3、运行脚本

 

你可能感兴趣的:(Datatable)