我正在使用UFT One来测试Salesforce Contacts表,该表包含两行具有可单击链接的“ Jim Bean”和“ Marsha Smith”。 (请参见附件图片)。我想遍历行并单击链接,并为出现的每个“联系详细信息”页面调用“ ValidateContactProperties”操作。
以下代码有效,但是ObjChildItem.Click()仅在第一次执行。仅显示Jim Bean的联系人个人资料页面,而不显示Marsha Smith的联系人个人资料页面。
For i = 2 to rowCount
Set ObjChildItem = obj(0).ChildItem(i,3,"Link", 0)
ObjChildItem.Click()
RunAction "ValidateContactProperties", oneIteration
Next
[我可以看到ObjChildItem具有Marsh Smith的URL和信息,但是在为Marsha Smith执行ObjChildItem.Click()之后,该页面仍显示Jim Bean的Contact Details页面。
我们如何在吉姆·比恩之后获得马什·史密斯的联系方式页面?
您面临的问题可能是Click
导致浏览器更改HTML DOM,从而使Obj
数组中的对象无效。要了解为什么会发生这种情况,请阅读此blog post。
为了解决该问题,您必须将初始化Obj
的代码移入循环,以便每次循环迭代都有有效的对象。