51Testing软件测试论坛

标题: QTP output 到DataTable [打印本页]

作者: guoyang8013    时间: 2009-9-8 11:09
标题: QTP output 到DataTable
我想要把一个变量a的值,永久性输出到dataTable的Global sheet上去,请问我应该怎么样写VBS,请各位大师,指点小弟下,O(∩_∩)O谢谢
作者: bagwell333    时间: 2009-9-8 11:15
qtp运行时占用Global sheet,好像无法在一次脚本写入。
关注一下。
作者: guoyang8013    时间: 2009-9-8 11:25
原帖由 bagwell333 于 2009-9-8 11:15 发表
qtp运行时占用Global sheet,好像无法在一次脚本写入。
关注一下。


我想起来一种方法就是到用导Excel表格的方法。。。
作者: zero0223    时间: 2009-9-8 11:39
datatable.import可以导入,但是数据时Run-Time存在,脚本结束就清空了,不过不影响数据处理。
datatable.Import("E:\2009-8-20.xls")'将要分析的报表导入DataTable中

如果你想永久导入,目前我只知道一个方法,就是在datatable中右键手工导。

[ 本帖最后由 zero0223 于 2009-9-8 11:43 编辑 ]
作者: bagwell333    时间: 2009-9-8 11:45
没有手工介入,无法写回。因为qtp占用了,脚本结束后还是清空。
作者: onlonely    时间: 2009-9-8 12:00
目前QTP没有这方面的函数,
任何写入datatable中的数据都是"运行时数据"停止后就消失了.

我可以提供一个写的函数给你,
不过目前有个缺点就是,必须你下次打开这个脚本后,你写入的数据才能在停止的时候更新.
也就是说,写入的数据可以在"运行时使用",在下次打开这个脚本后会显示出来,不过当前停止的时候,还无法看见.
函数如下:

参数:
Set_x,Set_y            需要写入datatable中那行,那列

Set_String              写入的内容

Sub Set_Global(Set_String,Set_x,Set_y)
Set setExcelObj = CreateObject("Excel.Application")     
setExcelObj.Visible = False                                         
Set setWorkBook = setExcelObj.Workbooks.Open(pathfinder.Locate("Default.xls"))
Set setSheet = setWorkBook.Sheets("Global")
setSheet.Cells(Set_x+1,Set_y) = Set_String
setWorkBook.Save
setWorkBook.close
DataTable.GlobalSheet.GetParameter(Set_y).ValueByRow(Set_x)= Set_String
End Sub


[ 本帖最后由 onlonely 于 2009-9-8 12:15 编辑 ]
作者: fengzhanwang    时间: 2009-9-8 12:09
你可以先把变量a写到Global Sheet里面去,然后在把Global Sheet 用脚本导出到本地的一张excel里面。
试试这个语句:
DataTable.GlobalSheet.AddParameter "a", a
DataTable.Export ("D:/test report.xls")
运行的结果就会是,在test report这张表中有一个单元格a,它下面的单元格里面就会有你取得的变量的值。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2