wendyzhi 发表于 2008-9-9 09:26:35

QTP9.0调用Action时datatable表没有合并?

1.由于QTP9.0无法打开QTP9.2的脚本,于是用记事本打开脚本将脚本复制到9.0中,然后添加共享对象库,保存为test1,在global表中设置参数,保存,并设置test1为可复用。在另外一个新建的test2中调用之前保存的test1,结果,test2中global为空。
2.在test1中的Action的datatable中输入数据,保存,再次被调用到test2,test2的global和Action1的datatable都为空。
3.新建一test3,在其global和Action1的datatable中输入数据,test2调用test3,结果test3的Action1的datatable有数据而global中没有数据?

问题1:
1.不知道是不是因为是共享库还是什么原因造成调用action时无法合并datatable?
2.9.2中global可以合并(如上面3中应该test2中有test3的global表中的数据),但是9.0没有合并,不知道是不是要在哪里设置,还是9.0本身就不能合并global表?

rcpp 发表于 2008-9-9 10:08:25

都能合并的,global里面能合并的是命名列,你双击一下列名(默认是A、B、C……一直排下去)修改一下,再合并,你就会发现可以合并进去了
直接拷贝内容,拷贝不了列名的,所以就都成了无名列了,你那样新建一个肯定是这么干的
再试试看吧

顺便说一句,如果调用过,删除了调用想让global数据重新合并,一定要把global里合并进去的数据删除掉
还有,在被调用的脚本中修改datatable,调用脚本中的也会随着修改;但如果在调用脚本中修改global数据,被调用的脚本中global数据是不变的,而且调用脚本中的数据也不会再随着被调用的脚本改变了;最后就是调用脚本中不能修改action的sheet

wendyzhi 发表于 2008-9-9 10:26:40

重新试了一下,设置了列名是可以了。
但是我之前步骤1中,global表中的是有列名的,不过为中文就是了,调用没有显示被调用脚本的global数据

rcpp 发表于 2008-9-9 10:31:49

调用的时候没有合并进来可能有两个原因:
1.列名不是通过QTP的datatable加上,这个我试验过,直接用excel拷贝是不行的;应该是某个地方有保存了什么记录,未深究
2.之前调用时合并进来的数据没有删除掉

wendyzhi 发表于 2008-9-9 10:33:27

回复 2# 的帖子

应该不是中文列名引起的问题,目前只要设置了列名,global都可以合并。
但是之前copy9.2的脚本的那种,调用action,global表中仍然没有数据,而datatable中是有列名的的。

wendyzhi 发表于 2008-9-9 10:36:30

哦,可能,我复制脚本后,参数是将9.2的脚本中的default的excel表直接覆盖新的脚本的default的excel表的。
谢谢楼上的,非常感谢
页: [1]
查看完整版本: QTP9.0调用Action时datatable表没有合并?