在uft中三种获取参数值的方法分别为Value方法、RawValue方法和ValueByRow方法。
Value:DataTable.Value(paramName, sheetName)
参数说明:
paramName:uft中数据表中的列名
sheetName:需要获取的Sheet的名字,也就是常量名,如dtGlobalSheet、dtLocalSheet通过Value属性获取指定的值是最常用的一种方式。
举例:
首先,我们在QTP的DataTable的Local Sheet中设置参数值,如图所示。
运行的代码:
Msgbox DataTable.Value("Test",dtLocalSheet)
也可以使用更简洁的写法:
DataTable("Test",dtLocalSheet)
RawValue
DataTable.RawValue(paramName, sheetName)
RawValue与Value的区别:
RawValue方法获取的是原始值,而Value方法获取的是当前值,说明白点,当单元格中有格式要求或者有公式的,RawValue取的是单元格的公式,而Value取的是单元格的值。
【举例说明】
首先,我们在QTP的DataTable的Local Sheet中设置如图所示的参数值。
这里要注意,单元格A1是引用了B1的值。
然后运行以下代码:
Msgbox "Value取的值是:" & DataTable("Test",dtlocalsheet) & vbNewLine & "RawValue取的值是:" & DataTable.RawValue("Test", dtlocalsheet)
Msgbox "Value取的值是:" & DataTable("Test",dtlocalsheet) & vbNewLine _
& "RawValue取的值是:" & DataTable.RawValue("Test", dtlocalsheet)
可以看到运行结果为: 。
当我们使用QTP读取Excel文件时,可以根据不同的需要,灵活运用Value和RawValue方法。
- ValueByRow
DtParameter.ValueByRow(rowNum)
【参数说明】
rowNum —— 指定的行号(从1开始)
【举例说明】
首先,我们在QTP的DataTable的Local Sheet中设置如图所示的参数值。
然后运行以下代码:
MsgBox DataTable.LocalSheet.GetParameter("Test").ValueByRow(3)
MsgBox DataTable.LocalSheet.GetParameter("Test").ValueByRow(3)
可以看到运行结果为: ,取到了第三行的值。
通过这种方法,可以不用以设置当前行(SetCurrentRow)的方式来取值。