1.引用单元格的2钟语法
DataTable.value("par","Global");'par为列名,Global为表名
DataTable("par","Global")
2.Global sheet与Local sheet的区别和关联
1).Global sheet为全局变量,有几行数据,程序就会回放几次;
可以设置只运行一次:File-->setting-->run-->设置Run one iteration only
2).Local sheet是局部变量,无论有多少行数据,只运行一行
可以设置运行多行:
test flow-->右击Action-->Action call properties-->Run on all row
3).如果Global sheet有4行数据,Local sheet有2行数据,程序会回放4次,运行第2次后,Local sheet都用最后一条数据.
如果Global sheet有2行数据,Local sheet有4行数据,程序只会回放2次,Local sheet第二次后的数据都不会运行
3.实操:比较
百度一下运行时的关键字与搜索结果的关键字
SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","www.baidu.com"
Dim Runtime
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set"qtp自动化测试技术领航"
Runtime=Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").GetROProperty("value")
'DataTable("runtime","Global")=Runtime
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click
'Runtime=DataTable("runtime","Global")
checkvalue=Browser("百度一下,你就知道").Page("qtp自动化测试技术领航_百度搜索").WebEdit("wd").GetROProperty("value")
If Runtime=checkvalue Then
msgbox "pass"
else
msgbox"failed"
End If
4.动态添加datatable的新列并赋值
DataTable.LocalSheet.AddParameter"第一列","123"
DataTable.GlobalSheet.AddParameter"第二列","1234"
msgbox "2"
5.动态添加DataTable的新行并赋值
DataTable.GetSheet("Action").SetCurrentRow(5)‘定位到第五行
DataTable.Value("par1","Action")="qtp值"
或
DataTable.Value("1,"Action")="qtp值" ’1表示第一列
6.Action1和Action2中保持读取的行数一致
DataTable.GetSheet("Action2").SetCurrentRow(2)‘Action2定位到第二行
currow=DataTable.GetSheet("Action1").GetCurrentRow’获取Action1的当前行数
DataTable.GetSheet("Action2").SetCurrentRow(currow)‘Action2与Action1一致
7.动态获取指定行的值
'DataTable.GetSheet("Action2").SetCurrentRow(4)
'msgbox DataTable("par1","Action2")
或
msgbox DataTable.GetSheet("Action2").GetParameter("par1").ValueByRow(4)