2017-04-13 58 views
0

我是量角器的新手,現在我的工作需求是爲angularjs應用程序創建測試項目。 我已經開始與指導方針和開始面臨着錯誤:量角器。在頁面上執行一個動作後瀏覽器出錯

Error: Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! 
Watchers fired in the last 5 iterations: [] 
http://errors.angularjs.org/1.4.0/$rootScope/infdig?p0=10&p1=%5B%5D 
http://localhost/main-f3fbd0c72e8415cd0a449214b66bdacc-cached.js:2140 
    at window.onerror (http://localhost/main-f3fbd0c72e8415cd0a449214b66bdacc-cached.js:1277:52) 

配置文件

exports.config = { 
    directConnect: true, 

    seleniumAddress: 'http://localhost:4444/wd/hub', 

    capabilities: { 
     'browserName': 'chrome' 
    }, 
    specs: ['specs/spec.js'], 

    jasmineNodeOpts: { 
     showColors: true, 
     defaultTimeoutInterval: 30000 
    } 
}; 

測試文件:

"use strict"; 

    describe('WEB test project', function() { 

    var wl5StartPage = require('../pages/startPage.js'); 
     it('Its start login page', function() { 
     wl5StartPage.get(); 
     wl5StartPage.wl5Login(); 
    }); 
    }); 

startPage.js:

var WL5LoginPage = function() { 

    this.userName = element(by.model('loginInfo.userId')); 
    this.loginButton = element(by.css('[ng-click="login()"]')); 

    this.get = function() { 
     browser.get('http://localhost/login'); 
    }; 

    this.wl5Login = function() {  
     this.userName.sendKeys("user1"); 
     this.loginButton.click(); 
    }; 
} 

module.exports = new WL5LoginPage(); 

它非常簡單的測試,但不幸的是,當我輸入用戶名並點擊「登錄」時它崩潰了。 有沒有辦法忽略這種瀏覽器錯誤?或者以某種方式解決問題?

預先感謝您。

+1

發佈您的登錄代碼的規範裏面,這樣我們就知道是怎麼回事... –

+0

當然可以,登錄碼添加到帖子。 –

回答

0

基本上量角器JS代碼沒有問題。你看到這個的原因 - 這是因爲你的角度應用程序會拋出這個錯誤。量角器試圖等待頁面上的角度 - 但不能。好像你的錯誤是與此類似 - Error: 10 $digest() iterations reached. Aborting! with dynamic sortby predicate

我建議只作爲臨時解決方案禁用量角器的waitForAngular只是爲了調試測試:

browser.waitForAngularEnabled(false)

http://www.protractortest.org/#/api?view=ProtractorBrowser.prototype.waitForAngularEnabled

但我99%肯定,這是前端必須解決的問題,以實現平穩的自動測試和自動等待角度。

UPDATE:另外你可以嘗試在你的量角器config來打開這個屬性 - https://github.com/angular/protractor/blob/master/lib/config.ts#L485

相關問題