如何在TestComplete中使用QuerySelector方法

时间:2015-11-19 21:12:14

标签: javascript css-selectors jscript testcomplete selectors-api

我不知道QuerySelector方法是如何工作的。我在SmartBear帮助中看过一些示例,但我的应用程序遇到了问题。我认为它的工作方式与Find方法相同。

例如,当我想要映射标签时,Find方法的工作方式如下:

warningLabel= webPagePanel.Find("objectIdentifier", "MainContent_NotificationText", 100, true);

当我尝试使用QuerySelector方法映射同一个对象时,它不起作用:

warningLabel= webPagePanel.QuerySelector("#MainContent_NotificationText");

我尝试在上面的QuerySelector行之后使用QuerySelector warningLabel(例如,warningLabel.Click),然后测试失败并且日志显示" Object Required"。显然它没有找到我的对象

我做错了什么?我如何使用QuerySelector方法进行标签的简单映射,如上所示?有问题的标签有以下HTML。

INPUT "name=ctl00$MainContent$NotificationText" id="MainContent_NotificationText" type=hidden value="To save a partial filter set for this report, the required fields identified above must not be blank." 

1 个答案:

答案 0 :(得分:2)

您尝试查找的对象是不可见的(输入...类型=" 隐藏" ...)并且TestComplete不会在其对象树中显示不可见对象。如果您只需要获取此隐藏框的值,则可以使用querySelector方法的本机版本:

  var warningLabel_Native = webPagePanel.contentDocument.querySelector("#MainContent_NotificationText");
  Log.Message(warningLabel_Native.value);

在这种情况下,您将获得没有TestComplete特定成员的本机对象,如Click(),Find(),VisibleOnScreen等。但是,所有本机功能都可供您使用。