Horus_Ra 2006-3-22 13:43
其实对DataTable的操作可以很灵活……
由QTP自动生成的语句是这样的:
DataTable("Col", dtLocalSheet)
DataTable("Col", dtGlobalSheet)
其中,dtLocalSheet就是当前Action的DataTable,dtGlobalSheet就是Global的DataTable,Col是列名
还有很多写法,比如
DataTable("Col", "Action2")
就是读取Action2的Col列。
你完全可以读取另一个Action的DataTable,而不需要跨Action传递变量,使用DataTable比变量更方便,因为结束后能在Result里看到运行时的值
你可以在一个Action里读取另外一个Action的列,但是要注意另外一个Action的当前行
比如你在Action1里读取Action2的某列,如果Action1运行到第二行,你读取的Action2还是第一行的数据,解决办法就是写上这句:
DataTable.GetSheet("Action2").SetCurrentRow(2)
你也可以用GetCurrentRow来获取Action1的行,然后再用SetCurrentRow来保持两个Action的当前行一致:
CurrRow = DataTable.GetSheet("Action1").GetCurrentRow
DataTable.GetSheet("Action2").SetCurrentRow(CurrRow)
还有一种写法:
DataTable(1, "Action2")
这样就是读取Action2的第一列,不管第一列叫什么名字,都能读
这样就很方便,比如:
For i = 1 To 10
MsgBox DataTable(i, "Action2")
Next
这样就能循环读取Action2的1~10列了
同样,表也可以用数字代替:
DataTable(1, 2)
这样就是读取第二个Action表的第一列
[[i] 本帖最后由 Horus_Ra 于 2006-3-22 17:54 编辑 [/i]]
mstiunicon 2006-3-23 09:49
对DataTable有比较深的了解啊。顶一个
walker1020 2006-8-29 21:32
好帖!值得收藏!
Alexlj_luo 2006-9-3 08:22
多谢多谢
edision 2006-10-27 11:01
thank you very much, you have a good view at datatable.
nan3937 2007-3-13 17:19
里面有很多用法没试过,等以后公司有qtp了一定要试试看
abens0426 2007-3-30 11:35
非常不错的资料,收藏了!谢谢~
xihong2004 2007-3-31 21:59
收了,顶了
Sophie.zhang.cs 2007-4-16 16:29
恩,受益匪浅!!
breadtree 2007-4-18 16:34
顶,UP!
jimmy2006.hi 2007-5-29 11:22
值得顶一个!好东西!
sdlkfj2 佩服
premiumdue 2007-5-29 15:20
回复 #1 Horus_Ra 的帖子
thank you !!
wish_luckyman 2007-6-22 17:17
envy
admire
qicyt1812 2007-7-31 10:05
不错,收藏ingsdlkfj5
lin85210 2007-8-1 09:18
目前还没学到多个ACTION,先略知道些,谢谢分享
QTP关于正则表达式都有哪些应用
wuzhiyongnihao 2008-2-17 19:12
回复 1# 的帖子
klasjdfl
qicyt1812 2008-2-21 10:18
:D 正在试验中。。。
xiaofang85 2008-3-19 17:28
回复 1# 的帖子
谢谢! 一边动手操作,这样学习起来更快!
yqx 2008-4-15 16:24
[url]http://bbs.51testing.com/thread-110506-1-1.html[/url] 可以看下
cobeehuang 2008-6-4 22:55
原来参数共享可以这样实现,受用了,THX
yabest 2008-7-2 16:44
还可以这样用! 轻松的遍历每个参数的每行的值,不需要SetCurrentRow!
RowCount = DataTable.GetSheet("SheetName").GetRowCount()
ParamCount = DataTable.GetSheet("SheetName").GetParameterCount()
For ParamIndex = 1 to ParamCount
ParamName = DataTable.GetSheet("SheetName").GetParameter(ParamIndex).Name
For RowIndex = 1 to RowCount
ParamValue = DataTable.GetSheet("SheetName").GetParameter(ParamName).ValueByRow(RowIndex)
Next
Next
[[i] 本帖最后由 yabest 于 2008-7-2 16:45 编辑 [/i]]