The retrieve DataTable.Value operation failed. The Action1 sheet does not exist.
Line (1): "Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set DataTable("search", dtLocalSheet)".
并已经在Action1中建立 search 表 且有数据
qtp参数化问题
答案:2 悬赏:10 手机版
解决时间 2021-03-16 20:57
- 提问者网友:喧嚣尘世
- 2021-03-15 20:09
最佳答案
- 五星知识达人网友:妄饮晩冬酒
- 2021-03-15 20:48
错误信息提示找不到“Action1”表,我不知道你的search表是怎么建的。
1.如果使用qtp的Action的自带的本地表(LocalSheet),请注意:本地表名与Acion名相同。如果想更改本地表名,需要更改Action的名字。
2.如果使用import导入Excel,请注意被导入的Excel的Sheet名和本地表名。
1.如果使用qtp的Action的自带的本地表(LocalSheet),请注意:本地表名与Acion名相同。如果想更改本地表名,需要更改Action的名字。
2.如果使用import导入Excel,请注意被导入的Excel的Sheet名和本地表名。
全部回答
- 1楼网友:神也偏爱
- 2021-03-15 21:01
方法一、datatable方法
这是qtp提供的一种方法,也是最容易实现参数化的一种方式。qtp针对datatable对象提供了很多方法,可以对datatable进行灵活的操作。datatable分为global和local两种,global所有的action都可以用,而local就是只能action自己用。
通过datatable做参数化最直接的方法就是在keyword view视图下通过选项进行,这样即方便又减少出错的几率。单击要参数化项目的value列,选择出现的箭头弹出value configuration option对话框,在这里可以很方便的进行参数化。
parameters选择数据来源类型。下拉列表选择datatable后,选择所要使用的数据表global还是local,最后选择name参数取自哪列,点击确定后即可完成参数化过程。
代码如下:dialog("login").winedit("agent name:").set datatable("user", dtglobalsheet)
这是最简单最直接的方式。用这种方式需要注意,在file---seting---run需要做相应设置,否则运行结果很容易出错,使实际取到的参数值和预期的不一样或是循环不正确的错误。最好的方式是通过写语句来控制迭代过程中的取值。在脚本开发过程中,这种方式是最常用的。类似如下代码:
for i=0 to datatable.getcurrentrow
dialog("login").winedit("agent name:").set datatable("user", dtglobalsheet)
datatable.setnextrow
next
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯