51Testing软件测试论坛

标题: 如何实现Action运行完后,在Action执行过程中写入到DataTable中的数据保存不变! [打印本页]

作者: stone821021    时间: 2007-5-12 09:51
标题: 如何实现Action运行完后,在Action执行过程中写入到DataTable中的数据保存不变!
在Action执行的过程中,我用DataTable.Value(19,3)="76"给sheet3的第一行第19列中输入76,该Action运行过程中76可以正常的写入到相应的Cell,问题是Action运行完以后,cell中的76又消失了,也就是说Action运行完后,我们在程序中写入到DataTable的参数不会保存下来.开始的时候想了一个比较笨的办法,就是当76写入到Cell后,用DataTable.export先导出,然后再用DataTable.import把刚刚导出的xls再导入,试验后发现还是同样的问题,导入的数据在脚本运先完后,不会保存到DataTable中!
希望大家能给个想法!
作者: 风过无息    时间: 2007-5-12 10:02
那个是runtime的产生的,你可以把数据存到EXCEL里面,每次运行的时候导入,退出前导出。
作者: kevin_swpi    时间: 2007-5-12 10:07
标题: 回复 #1 stone821021 的帖子
你如果真想要实现你那样的想法
可以这样做
你的做法是"开始的时候想了一个比较笨的办法,就是当76写入到Cell后,用DataTable.export先导出,然后再用DataTable.import把刚刚导出的xls再导入"

其实你可以导出到工程文件下的default.xls  这样就可以显示出来了  呵呵
作者: stone821021    时间: 2007-5-12 10:21
按照版主的方法试了一试,还是不行.导出到工程文件下的default.xls和导出到其它文件下是一样的.Action运行完后,写入到DataTable中的参数还是会消失.
作者: Jimmyshao    时间: 2007-5-12 11:44
那可以新建Excel的数据源连接,数据从Excel取,结果存到Excel中,就不要用Default.xls了。
作者: stone821021    时间: 2007-5-12 12:47
标题: 回复 #5 Jimmyshao 的帖子
谢谢你的建议!
不过不太清楚你所说的方法,具体步骤怎么操作!
是否可以说的详细一点!谢谢。sdlkfj3
作者: dawee    时间: 2007-5-12 12:51
原帖由 stone821021 于 2007-5-12 12:47 发表
谢谢你的建议!
不过不太清楚你所说的方法,具体步骤怎么操作!
是否可以说的详细一点!谢谢。sdlkfj3

我认为你楼上想说的意思是:采用外部数据源,首先读取外部数据,然后保存到外部数据源。不使用default.xls

我没有具体实现。
作者: stone821021    时间: 2007-5-12 13:14
标题: 回复 #7 dawee 的帖子
问题是不知道怎么实现这种方法!
作者: Jimmyshao    时间: 2007-5-12 22:59
Set conn= createobject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="&PathFinder.Locate ("XXX.xls")&";Extended Properties='Excel 8.0;hdr=yes'"
Set res= createobject("ADODB.Recordset")

这是连接Excel数据源

然后用res open 指定的sheet和字段值就可以了

往里存和往外读应该是一样的,存完update一下就可以了.
作者: marysnow    时间: 2008-3-16 12:36
我用了版主说的第一种方法,在action未执行完时直接导出到另一个文件.xl里即可将结果显示出来.(我是这样的,将QTP和被测程序分别并列显示,保证能看到action运行到哪条记录了,一看最后一个记录已经被取出来,马上点击"导出"保存. 双击新保存的文件如:res.xls,打开后能看到在运行action中写入到datatable的记录.
如果你看不到的话,说明已经执行完了,这样的话,再导出后,是看不到数据的.




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