51Testing软件测试论坛

标题: 调用action后,datatable的sheet名称变了 [打印本页]

作者: 西城夏域    时间: 2010-7-13 17:26
标题: 调用action后,datatable的sheet名称变了
QTP中Action1调用了existing action2,查看action1的datatable是原来两个datatable的合集,但是action2中的sheet页的名字变了,所以action2相关的脚本就报错说找不到,应该怎么办呢
作者: white2    时间: 2010-7-15 16:32
为什么你用两个action都用到datatable阿,改成一个就可以拉,还有你是用importsheet方法导入的么,导入的sheet名称对么,是不是用了dtlocal。。
作者: yujie6832    时间: 2010-7-16 12:33
有贴图吗?
作者: souchy    时间: 2010-7-16 17:26
Action被调用时,其对应的本地表名是会变的,例如调用TEST脚本中的Action1,那么被调用时对应的sheet名就会变成Action1[TEST]

解决办法:
在被调用脚本中使用本地表时,一律使用dtlocalsheet,不要用索引或具体表名称
如果无法直接使用dtlocalsheet的,如导入Excel时,先获取本地表名称
具体如下:
    sheetName=DataTable.GetSheet(dtlocalsheet).Name
   DataTable.ImportSheet "..\..\Data\"&"TEST"&".xls","test1",sheetName

[ 本帖最后由 souchy 于 2010-7-16 17:30 编辑 ]




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