ng:测试没有找到getTestability元素参数的注入器

Ald*_*und 12 javascript angularjs protractor

还有其他问题在SO上有同样的问题,但解决方案对我没有用.这是我的spec.js

describe('Protractor Demo App', function() {
  it('should have a title', function() {
    browser.driver.get('http://rent-front-static.s3-website-us-east-1.amazonaws.com/');

    expect(browser.getTitle()).toEqual('How It Works');
  });
});
Run Code Online (Sandbox Code Playgroud)

在这里我的conf.js

exports.config = {
  framework: 'jasmine',
  rootElement: 'body',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['spec.js']
}
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试运行我的测试我得到错误

  Message:
    Failed: Error while waiting for Protractor to sync with the page: "[ng:test] no injector found for element argument to getTestability\nhttp://errors.angularjs.org/1.5.0/ng/test"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "[ng:test] no injector found for element argument to getTestability\nhttp://errors.angularjs.org/1.5.0/ng/test"
        at C:\Users\ShapeR\PycharmProjects\ratest\node_modules\jasminewd2\index.js:101:16
        at Promise.invokeCallback_ (C:\Users\ShapeR\PycharmProjects\ratest\node_modules\selenium-webdriver\lib\promise.js:1329:14)
        at TaskQueue.execute_ (C:\Users\ShapeR\PycharmProjects\ratest\node_modules\selenium-webdriver\lib\promise.js:2790:14)
        at TaskQueue.executeNext_ (C:\Users\ShapeR\PycharmProjects\ratest\node_modules\selenium-webdriver\lib\promise.js:2773:21)

1 spec, 1 failure
Run Code Online (Sandbox Code Playgroud)

我有一个body元素的手动引导,并在配置中将rootElement设置为body,但它没有帮助.我甚至尝试删除手动boostraping,只需将ng-app ='rentapplicationApp'添加到body元素,但它没有任何改变,仍然是同样的错误.

那有什么不对?

Ald*_*und 0

问题在于引导我的应用程序。由于某种原因,它不适用于 ng-app 标签。唯一可行的解​​决方案是手动引导它

angular.bootstrap(document, ["rentapplicationApp"]);
Run Code Online (Sandbox Code Playgroud)

第一个参数应该是 dom 节点,而不是字符串,就像我的例子一样,虽然使用字符串应用程序可以工作,但 getTestability 会失败。