|
先前用过 winrunner,一直用着td
刚想用这个软件 了,找了一些资料 发出来吧
QTP 读取本地Excel表格数据
当Excel表中只有一个sheet有数据使用Import方法
Dim rowcount '存取数据总行数
Dim filepath '获取Excel表格路径
Dim i '循环变量
filepath=pathfinder.Locate("E:\Program Files\Mercury Interactive\Data Base\tel_Info.xls")
datatable.Import(filepath) 'Excel表中只有一个sheet有数据使用Import,如果Excel中多个sheet有数据,这里就要使用ImportSheet 来指
定具体导入那一个sheet表的数据了
rowcount=datatable.GetRowCount '统计行数
For i=0 to rowcount-1
datatable.GetRowCount '置当前行为活动行
tel_num=datatable.Value("cartel") '这里Value("cartel")中的cartel为excel列名,是在设计测试数据时确定的
password=datatable.Value("password") '同上
Msgbox tel_num '弹出的文本框是做一个输出验证
Browser("多普达俱乐部-首页").Page("多普达俱乐部-首页").WebEdit("Login1$ctl00$UserName").Set tel_num
Browser("多普达俱乐部-首页").Page("多普达俱乐部-首页").WebEdit("Login1$ctl00$PassWord").SetSecure password
Browser("多普达俱乐部-首页").Page("多普达俱乐部-首页").Image("Login1$ctl00$submit").Click 5,5
Browser("多普达俱乐部-首页").Page("多普达俱乐部-首页_2").Image("Login1$ctl00$lbtnLogout").Click 20,12
datatable.SetNextRow '下一行
If datatable.GetCurrentRow>rowcount Then '如果当前行大于总行数,退出循环
Exit for
End If
Next
当Excel表中有多个sheet时:
Dim filepath, rowcount, i
filepath=pathfinder.Locate("E:\Program Files\Mercury Interactive\Data Base\test.xls")
DataTable.AddSheet("qtpSheet")
DataTable.ImportSheet filepath, "mySheet", "qtpSheet"
rowcount=DataTable.GetSheet("qtpSheet").GetRowCount
For i=0 to rowcount-1
DataTable.GetCurrentRow
tel_num=DataTable.GetSheet("qtpSheet").GetParameter("tel_card").Value
password=DataTable.GetSheet("qtpSheet").GetParameter("password").Value
Msgbox "帐户为:"&tel_num
Msgbox "密码为:"&password
Browser("多普达俱乐部-首页").Page("多普达俱乐部-首页").WebEdit("Login1$ctl00$UserName").Set tel_num
Browser("多普达俱乐部-首页").Page("多普达俱乐部-首页").WebEdit("Login1$ctl00$PassWord").SetSecure password
Browser("多普达俱乐部-首页").Page("多普达俱乐部-首页").Image("Login1$ctl00$submit").Click 5,5
Browser("多普达俱乐部-首页").Page("多普达俱乐部-首页_2").Image("Login1$ctl00$lbtnLogout").Click 12,10
DataTable.SetNextRow
If DataTable.GetCurrentRow > rowcount Then
Exit for
End If
Next |
|