博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QTP的DataTable操作
阅读量:5296 次
发布时间:2019-06-14

本文共 3289 字,大约阅读时间需要 10 分钟。

DataTable的操作包括:

DataTable.GetSheet(dtSheet)

DataTable.GetSheetCount
DataTable.[GetSheet.]GetRowCount
DataTable.[GetSheet.]GetParameterCount
DataTable.GetSheet(SheetName).GetParameter(“ColumName”).ValueByName(iRowNumber)
DataTable.[GetSheet.]GetCurrentRow
DataTable.[GetSheet.]SetCurrentRow(RowNumber)
DataTable.Value(ParameterID [,SheetID])  or DataTable (ParameterID [, SheetID])
DataTable.AddSheet(SheetName)
DataTable.DeleteSheet(SheetName)
DataTable.Export(filename)
DataTable.ExportSheet(filename,SheetName)
DataTable.Import(FileName)
DataTable.ImportSheet(FileName, SheetSource, SheetDest)

 

1.得到datatable总行数的命令:GetRowCount

描述:返回运行数据表的第一个工作表(用于测试的全局表或用于业务组件的业务组件表)中最长的列中的总行数。

语法:DataTable.GetRowCount
返回值:数字
示例:
以下示例使用 GetRowCount 方法查找 MySheet 运行时数据表中最长的列中的总行数,并将其写入报告。
rowcount = DataTable.GetSheet("MySheet").GetRowCount
Reporter.ReportEvent 2, "数据工作表中有 " &rowcount, "行。

2.得到datatable运行时的动态列数:GetParameterCount

语法:DTSheet.GetParameterCount      
例:  paramcount = DataTable.GetSheet("MySheet").GetParameterCount

3.GetCurrentRow方法

描述:返回运行时数据表的第一个工作表(用于测试的全局表或用于业务组件的业务组件表)中的当前(活动)行。

语法:DataTable.GetCurrentRow
返回值:数字
示例:
以下示例使用 GetCurrentRow 方法检索当前在运行时数据表中使用的行,并将其写入报告。
row = DataTable.GetCurrentRow
Reporter.ReportEvent 1, "行号", row

4. 设置当前active的行数(第一行为1):SetCurrentRow

语法:DataTable.SetCurrentRow(RowNumber)

例:DataTable.SetCurrentRow(tb_i+1)    
DataTable.GetSheet("Action1"). SetCurrentRow(tb_i+1)
'注:此命令可在循环运行中不断指向下一行数据
你也可以用GetCurrentRow来获取Action1的行,然后再用SetCurrentRow来保持两个Action的当前行一致:
CurrRow = DataTable.GetSheet("Action1").GetCurrentRow
DataTable.GetSheet("Action2").SetCurrentRow(CurrRow)

5.查询、设置datatable的数值:

语法:To find the value:
DataTable.Value(ParameterID,[SheetID]) 
or : DataTable(ParameterID,[SheetID]) 

To set the value:

DataTable.Value(ParameterID,[SheetID])=NewValue
or : DataTable(ParameterID,[SheetID]) =NewValue5
DataTable("Col", "Action2")   就是读取Action2的Col列。
同样,表也可以用数字代替:
DataTable(1, 2)  这样就是读取第二个Action表的第一列
还有一种写法:DataTable(1, "Action2")  这样就是读取Action2的第一列,不管第一列叫什么名字,都能读
还有一种赋值方法 aParam2=DataTable(“AccountsNumber”,dtGlobalSheet)
还有一种赋值方法,但是有一个前提就是:必须只能是测试只包含一个操作的情况:
aParam3=DataTable(“AccountsNumber”,dtLocalSheet)
例:DataTable.Value("Destination", "ActionA")="New York"            
      DataTable.Value(2,3)="New York"
      DataTable("Destination", dtlocalSheet)="New York"            
      Call_date= DataTable.Value("Date","add Conference Call")  '为Call_date赋值
6.取datatable特定行的数据:
DataTable.GetSheet("Action1").GetParameter("test").ValueByRow(4)

7 GetSheet方法

     描述 :返回运行时数据表中的指定工作表。
     语法 :DataTable.GetSheet(SheetID)
               SheetID 变量 标识要返回的工作表。SheetID 可以是工作表名称或索引。
               索引值从 1 开始。 
    返回值:DTSheet 对象

8 GetSheetCount方法

    描述:返回运行时数据表中的总工作表数。
    语法:DataTable.GetSheetCount
    返回值:数字
    示例:
    以下示例使用 GetSheetCount 方法查找运行时数据表中的总工作表数,并将其写入报告。
    sheetcount = DataTable.GetSheetCount
    Reporter.ReportEvent 0, "工作表编号", "数据表中有" & sheetcount & "个工作表。

9 ImportSheet方法

    描述:将指定文件的工作表导入运行时数据表的指定工作表。
    语法:DataTable.ImportSheet(FileName, SheetSource, SheetDest)
    FileName 字符串型 要从中导入工作表的 Excel 表的完整路径。 
    SheetSource 变量 要从文件导入的工作表的名称或索引。索引值从 1 开始。 
    SheetDest 变量 数据表中要用 SheetSource 替换的工作表的名称或索引。索引值从 1 开始。 
    示例:
    以下示例使用 ImportSheet 方法将 name.xls 表的第一个工作表导入测试的运行时数据表中的Action1工作表。
    DataTable.ImportSheet "C:\name.xls" ,1 ," Action1"
    DataTable.ImportSheet "C:\name.xls" ,1 ," Global"
    Qtp中不要使用Global表,会出现死循环现象。

转载于:https://www.cnblogs.com/sumflower/archive/2012/02/28/2370666.html

你可能感兴趣的文章
8个数据清洗Python代码,复制可用,最长11行 | 资源
查看>>
函数模板
查看>>
结合 Laravel 5.5 + vue 2.5 开发的博客
查看>>
浅谈------location
查看>>
vue 创建项目
查看>>
uva 784 Maze Exploration
查看>>
深入理解Linux字符设备驱动
查看>>
Js实现select全选和取消选择
查看>>
224. Basic Calculator
查看>>
黑马程序员_第21天
查看>>
cocoapods pod setup
查看>>
20162318 张泰毓 预备作业03
查看>>
极光推送
查看>>
Java时间日期格式转换
查看>>
智能合约 运算
查看>>
Linux命令温习(2)
查看>>
java基础知识系列---字符串
查看>>
优化系列--循环的使用
查看>>
数字如何转换数据类型
查看>>
windows下redis的使用
查看>>