【发布时间】:2016-01-12 13:13:47
【问题描述】:
我在 IE11 中遇到错误
等待量角器与页面同步时出错:“根元素(主体)没有注入器。这可能意味着它不在 ng-app 内。
当我执行量角器脚本时。我设置了 framework: jasmine2 但它没有帮助。但是在 Chrome 和 Firefox 中同样可以正常工作。
以下是我的代码:
// The address of a running selenium server.
seleniumAddress: 'http://localhost:4444/wd/hub',
//config.seleniumAddress = 'http://127.0.0.1:4444/wd/hub';
maxSessions: 1,
capabilities:
{
'browserName': 'internet explorer'
},
framework: 'jasmine',
specs: ['TC_Sprint2_Case1.js'],
onPrepare: function() {
beforeEach(function() {
browser.driver.manage().window().setSize(1280, 1024);
});
jasmine.getEnv().addReporter(new HtmlReporter({
baseDirectory: 'D:/Manoj/TestReport3/',
docTitle: 'Test Case Execution Details',
docName: 'BYTestReport.html',
//Meta builder
metaDataBuilder: function(spec, descriptions, results, capabilities){
var metaData = {
description: descriptions.join('|'),
passed: results.passed(),
os: 'Windows 7',
browser: {
name: capabilities.caps_.browserName
, version: capabilities.caps_.version
}
};
if(results.items_.length > 0) {
var result = results.items_[0];
metaData.message = result.message;
metaData.trace = result.trace.stack;
}
return metaData;
} // Meta Builder ends
}));
},
【问题讨论】:
-
您是在 Angular 页面还是非 Angular 页面上进行测试?
-
@GirishSortur 我正在测试角度页面。但是当我们首先在 Internet Explorer 中执行时,它会启动“localhost:28813”然后它会导航到我的角度页面。所以这里的问题是量角器开始执行在非角度页面本身上,它不会等到到达角度页面。
-
如果
browser.ignoreSynchronization = false在您的 conf.jsonPrepare()函数或beforeAll()函数中是一个角度页面,您能否尝试设置它,看看它是否有效?此外,如果您在任何特定元素处遇到错误,请等到使用browser.waitForAngular().then(function(){//Check for element});加载 angular -
我试过 onPrepare: function() { browser.driver.manage().window().maximize(); browser.ignoreSynchronization = false; } 和 beforeEach(function() { browser.get('login.newrelic.com/'); browser.ignoreSynchronization = false; }); 但在这两种情况下我都会收到错误为“错误而等待量角器与页面同步:“根元素(主体)没有注入器。这可能意味着它不在 ng-app 中。”
标签: angularjs node.js automation jasmine protractor