对象不存在但IsObject返回true

时间:2015-07-06 14:34:43

标签: qtp

我有一个webTable,其中第一行是示例行。 实际数据可从第二行获得,它们是可编辑和可删除的,包含第3,4列中的编辑和删除按钮。

测试用例是检查样本数据是否不可编辑或可删除。 “编辑”和“删除”按钮在第一行中不可用

我有以下脚本

Set Edit_Obj = Browser("B").Page("P").Frame("F").WebTable("WT").ChildItem(1, 3, "WebButton", 1)
Set Delete_Obj = Browser("B").Page("P").Frame("F").WebTable("WT").ChildItem(1, 4, "WebButton", 1)

isObject(Edit_Obj)返回True但是当我尝试对对象执行单击操作时会抛出“需要对象”的错误

为什么没有对象时IsObject函数会返回True? 还有其他解决方法吗?

1 个答案:

答案 0 :(得分:0)

如果没有对象符合条件,则

ChildItems返回Nothing,并且在VBScript中Nothing被视为对象。

为了查看Edit_obj是否正常,您应该使用

If Edit_Obj Is Nothing Then

您也可以使用ChildItemCount以提前知道对象是否存在。

注意: ChildItem的索引参数为零,而非基于一个,因此在您的代码中,您实际上要求第二个按钮在表格单元格中,你确定这是你的意思吗?我认为你打算写的更可能是:

Set Edit_Obj = Browser("B").Page("P").Frame("F").WebTable("WT").ChildItem(1, 3, "WebButton", 0)