nua*_*der 10 jasmine angularjs protractor
我正在尝试使用量角器(2.1.0)为我的Angular(1.4)站点设置End-2-End测试.Jasmine已安装且单元测试工作正常.当我运行量角器时,索引#/登录页面会在浏览器窗口中加载,但没有代码运行,并且量角器会报告此错误
失败:在页面上找不到Angular http://localhost/SpectrumGMWeb/index.html#/login:重试查找超出角度
我的量角器配置看起来像这样
exports.config = {
allScriptsTimeout: 11000,
seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
specs: [
'*.js'
],
rootElement:'html',
capabilities: {
'browserName': 'chrome'
},
baseUrl: 'http://localhost/SpectrumGMWeb/',
framework: 'jasmine2',
jasmineNodeOpts: {
defaultTimeoutInterval: 30000
},
};
Run Code Online (Sandbox Code Playgroud)
我的测试文件非常简单
describe('my app', function() {
describe('login', function() {
beforeEach(function() {
browser.get('index.html#/login');
});
it('should render login page when user navigates to login page', function() {
expect(true).toBe(true);
});
});
});
Run Code Online (Sandbox Code Playgroud)
ng-app ="main"在index.html的html元素上设置.该网站确实有效.
有任何想法吗?
在登录功能browser.ignoreSynchronization = true;之前尝试先放一个browser.get().
好,谢谢大家的投入。我终于通过将所有index.html文件内容复制到一个新文件中来解决了这个问题。似乎文件以某种程度上因量角器不喜欢而损坏了。我知道这听起来很简单,但我在此上浪费了整整2天的时间,因此希望对您有所帮助。
小智 5
如果您需要导航到不使用Angular的页面,则在以下地方添加以下代码行:browser.get():
browser.waitForAngularEnabled(false);
参考:https : //github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load