如何在交互式测试量角器时提供"rootelement"选项



当我执行node elementexplorer.js http://127.0.0.1:8080/app/view1

我得到以下错误:

出现Web驱动程序错误:等待Protractor时出错要与页面同步:"根元素(主体)没有注入器。这可能意味着它不在ng应用程序中。"

请让我知道如何提供rootelement选项。

目前,rootElement默认为body。如果你的身体里没有你的ng应用程序,你会得到这个错误。它可以手动设置。

您需要更改rootElement。您可以直接从交互式视图中运行:

browser.rootEl = 'div#ng-app-located-here';

假设您的ng应用程序位于div#ng-app-located-here

在这种情况下,您需要指定在哪个元素上设置ng-app。在量角器conf.js中添加rootElement,例如:

rootElement: 'div#nested-ng-app'  // by default, it is 'body'

仅供参考,这是因为量角器角度特定的自定义定位器,如by.bindingby.model,使用rootElement作为搜索的根,引用更改日志:

Protractor的自定义定位器(通过.binding、通过.model等)使用config.rootElement作为其所有搜索的根。这意味着config.rootElement用于指定如何获取Angular的注入器以及从哪里开始搜索元素。这并不适用于所有情况,例如,如果对话框搜索了元素,但它是ng应用程序的兄弟姐妹,而不是孩子。

最新更新