使用带有Bootstrapped AngularJS的量角器测试

tur*_*nco 13 requirejs angularjs protractor

我希望能够使用Protractor测试我的Angular应用程序.由于我使用RequireJS,我不能ng-app在我的DOM中使用指令,这就是我手动启动Angular的原因angular.bootstrap.

量角器打印错误输出如下:

错误:在页面上找不到Angular http://localhost:1428/:重试超出角度

然后,我意识到Protractor文档有一个警告:

对于使用angular.bootstrap手动引导的应用程序,量角器不能开箱即用.您必须使用ng-app指令.

那么,是否有任何解决方法可以使用手动引导角度应用程序运行Protractor测试,还是应该开始学习其他测试套件?

Ale*_*los 13

去量角器配置并添加它

onPrepare: function() {
// implicit and page load timeouts
  browser.manage().timeouts().pageLoadTimeout(40000);
  browser.manage().timeouts().implicitlyWait(25000);

  // for non-angular page
  browser.ignoreSynchronization = true;

  // sign in before all tests

}
Run Code Online (Sandbox Code Playgroud)

它对我有用

我的完整配置文件看起来像这样......

// conf.js
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['../**/*.e2e.js'],
multiCapabilities: [{
browserName: 'firefox'
}],

onPrepare: function() {
// implicit and page load timeouts
browser.manage().timeouts().pageLoadTimeout(40000);
browser.manage().timeouts().implicitlyWait(25000);

// for non-angular page
browser.ignoreSynchronization = true;

// sign in before all tests

 }
}
Run Code Online (Sandbox Code Playgroud)

实际发生的是你要求量角器等待一段时间并忽略document.ready(),以便给你时间手动引导角度.