51Testing软件测试论坛

标题: 使用Call Action 调用子脚本时,DataTable.ImportSheet没有正确导入数据 [打印本页]

作者: liujintao00    时间: 2012-9-17 11:11
标题: 使用Call Action 调用子脚本时,DataTable.ImportSheet没有正确导入数据
本帖最后由 liujintao00 于 2012-9-17 11:18 编辑

我在一个脚本中使用了DataTable.ImportSheet导入excel数据,执行时完全正常。
但是当我使用Call Action 调用这个脚本时,发现DataTable.ImportSheet没有导入数据,导致执行下列语句时报错
With Frame_AddUser
   .WebEdit("用户姓名").Set  DataTable("用户姓名","AddUser")
   .WebEdit("登录名").Set  DataTable("登录名","AddUser")
   .WebEdit("密码").SetSecure DataTable("密码","AddUser")
   .WebEdit("邮箱").Set  DataTable("邮箱","AddUser")
   .WebList("角色").Object.selectedIndex=roleValue
End With
错误信息是:
The retrieve DataTable.Value operation failed. The AddUser sheet does not exist.
Line (26): ".WebEdit("用户姓名").Set  DataTable("用户姓名","AddUser")".
请问是什么原因,要怎么解决。

调用子脚本的语句是:
RunAction "AddUser [add_user]", oneIteration
子脚本中导入excel的语句是DataTable.ImportSheet "D:\xe\case\用户管理.xls","新建用户","AddUser"
excel文件截图如下:
[attach]81406[/attach]
直接执行子脚本,导入的excel数据效果如下:
[attach]81407[/attach]

使用Call Action调用子脚本,导入excel数据效果(添加完调用子脚本的语句后就是这个效果)如下:
[attach]81409[/attach]
作者: 云层    时间: 2012-9-17 17:11
直接用excel对象模型不是更简单么。还没这奇怪的问题,按道理来说没问题。你试试用id访问sheet
作者: yaoer    时间: 2012-11-7 18:06
我也遇到同样的问题,不知道是不是对的,我用的office2010新建的EXCEL表,强制改的后缀名为.xls,就和你遇到的问题一样了,重新新建EXCEL,另存为2003格式,试试
作者: jack_loo    时间: 2012-11-21 17:24
原因是在被调用action中,datatable名为AddUser,但在调用action中,你会发现datatable名不再是AddUser,前面还多了action名和其他一些字符,所以你要改脚本。




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