我收到一个错误,内容如下:
"Error while waiting for Protractor to synce with the page: "Cannot read property '$$testability' of undefined"下面是我的测试。
describe('On the MyMoments page', function(){
beforeEach(function() {
var editLocationText = 'Location';
browser.driver.get('http://192.168.0.6:8100/#/page1/myMoments');
});
it('The edit button should work', function() {
browser.driver.get('http://192.168.0.6:8100/#/page1/myMoments').then(function() {
// browser.waitForAngular();
browser.getCurrentUrl().then(function(url) {
});
});
});
});这是我的配置文件:
exports.config = {
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
args: ['--disable-web-security']
}
},
baseUrl: 'http://192.168.0.6:8100',
specs: [
'*.test.js'
],
jasmineNodeOpts: {
isVerbose: true,
}
};我不认为这与我的测试有关,因为我的测试非常简单。以前有人遇到过这个问题吗?我有点卡住了。
谢谢。
编辑:
将我的量角器版本降级到4.0.14,以修正此错误。现在我得到了:
"Failed: Error while waiting for Protractor to sync with the page: "[ng:test] no injector found for element argument to getTestability/http://errors.angularjs.org/1.5.3/ng/test"如果有人知道这是什么或者如何解决这件事,请告诉我!
谢谢。
发布于 2017-05-10 04:30:03
这是一个已知的问题,在量角器,见这里。正如问题中提到的,这是因为如果没有传递值,但当前返回未定义的值,则browser.angularAppRoot()将返回app根的当前值。一个新的版本即将发布,应该可以解决这个问题。
希望它能帮上忙
发布于 2017-10-10 23:40:50
虽然它有时是由根目录中没有html标记的文档引起的,但“无法读取未定义的属性'$$testability‘”更有可能表现为另一个错误的症状,该错误阻止了页面的加载,或与任何原因未加载的页面的任何交互。
尝试在抛出错误的行上方使用browser.sleep,以便给页面加载时间。
如果页面尚未准备好量角器,则用于等待特定条件的browser.ExpectedConditions子句可以抛出此错误。
有时,硬编码的睡眠是无法避免的。
为了诊断和修复它,
发布于 2017-10-04 11:34:43
将浏览器从chrome更改为firefox对我很有帮助。
// conf.js
exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'firefox'
},
specs: ['login-spec.js']
}https://stackoverflow.com/questions/43882242
复制相似问题