我目前正在使用量角器编写端到端测试。使用 selenium 独立服务器,我想在不同的浏览器(在 win10-vm 上)上运行它们。Chrome 运行良好,但 Firefox 不断抛出以下错误:
Failed: Error while waiting for Protractor to sync with the page: [ng:test] no injector found for element argument to getTestability
问题是,这个错误并不总是发生,也不会发生在不同的测试中。
我做了很多研究并尝试了各种 rootElement 方法,例如:
'rootElement' = 'html'
'rootElement' = '[ng-app]'
'rootElement' = '.className'
但它们不起作用。
但是,我找到了一种解决方法,browser.sleep()
在我重新加载页面之后使用(我在每次测试之前都会这样做)。问题可能是ng-app
当页面重新加载后量角器继续时,我的 html 标记中尚未设置。
因为我的解决方法减慢了测试过程也不是完全可靠的,所以我更喜欢另一种解决方案。有人能帮我吗?
我的配置文件:
exports.config = {
seleniumAddress: 'http://myAddress',
specs: ['mySpecs.js'],
framework: 'jasmine2',
rootElement:'html',
multiCapabilities: [{
'browserName': 'firefox'
},{
'browserName': 'chrome'
}]
};
非常感谢,MH