0

这发生在 testcomplete 版本 9.20 中,并针对 firefox 19.0.2 进行测试。

第一个脚本文件被调用test,它包含以下几行:

'USEUNIT CommonFunctions
Public Function test()
  Call expandTree()
End Function

另一个名为的脚本文件CommonFunctions具有此功能:

Public Function expandTree()
  Set foo = Aliases.tree.contentDocument.Script.jQuery("li[data-nodeid='sites'] a.openClose").click()
End Function

当我运行脚本时,自动化文件会出现以下错误:

Microsoft VBscript runtime error.

Object doesn't support this property or method:"contentDocument.Script.jQuery(...).Click''

Error location:
Unit:"ContentSuite\Content\Script\CommonFunctions"
Line:3972 Coloumn2

如果我将 jquery 放在同一个文件中,则不会发生相同的错误。也就是说,如果我运行它,它将正常工作,并且点击会正常工作:

Public Function test()
  Set foo = Aliases.tree.contentDocument.Script.jQuery("li[data-nodeid='sites'] a.openClose").click()
End Function
4

2 回答 2

0

我认为问题可能与您试图调用jQuery方法返回的对象的click方法有关。由于此方法返回一个集合,请在单击之前尝试获取特定对象:

Public Function expandTree()
  Aliases.tree.contentDocument.Script.jQuery("li[data-nodeid='sites'] a.openClose").get(0).click()
End Function
于 2013-04-22T05:27:16.393 回答
0

首先,你当前的代码使用的是 DOMclick方法,它没有返回值,所以你需要移除Set foo =.

错误可能是 jQuery 选择器没有找到任何匹配的对象。尝试检查函数结果的length属性:jQuery

Set links = Aliases.tree.contentDocument.Script.jQuery("li[data-nodeid='sites'] a.openClose")
If links.length > 0 Then
  links.click
Else
  Log.Error "Object not found."
End If

但实际上这里不需要使用 jQuery,因为 TestComplete 有内置QuerySelector方法:

Set obj = Aliases.tree.QuerySelector("li[data-nodeid='sites'] a.openClose")
If Not obj Is Nothing Then
  obj.Click
Else
  Log.Error "Object not found."
End If
于 2013-04-19T09:36:52.587 回答