我不知道QuerySelector方法如何工作。我已经看到了有关SmartBear帮助的示例,但是我的应用程序遇到了麻烦。我认为它的工作方式与Find方法相同。

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

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


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

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


我尝试在上面的QuerySelector行(例如warningLabel.Click)之后使用QuerySelector warningLabel,然后测试失败,日志显示“ 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."

最佳答案

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

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


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

关于javascript - 如何在TestComplete中使用QuerySelector方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33814456/

10-12 00:57