我目前正在使用量角器编写端到端测试。使用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()
找到了一种解决方法(我在每次测试之前都会这样做)。问题可能是在页面重新加载后量角器继续时,我的html标签中尚未设置ng-app
。
因为我的解决方法减慢了测试过程也不完全可靠,我宁愿选择其他解决方案。有人能帮助我吗?
我的配置文件:
exports.config = {
seleniumAddress: 'http://myAddress',
specs: ['mySpecs.js'],
framework: 'jasmine2',
rootElement:'html',
multiCapabilities: [{
'browserName': 'firefox'
},{
'browserName': 'chrome'
}]
};
非常感谢, MH