2014-01-23 44 views
2

我正在嘗試基本的量角器測試工作(與茉莉花)。量角器已安裝,硒正在運行,而量角器文檔中的示例正在運行。量角器無法與頁面同步

然而,當我在測試網站的內容複製(「基礎知識」上angularjs.org例子)到的jsfiddle(http://jsfiddle.net/yfUQ8/2/),測試誤差:

Error: Error while waiting for Protractor to sync with the page: {} 

我的測試是這樣的:

describe('angularjs homepage', function() { 
    it('should greet the named user', function() { 
    browser.get('http://fiddle.jshell.net/yfUQ8/2/show/'); // fails 
    // browser.get('http://www.angularjs.org/'); // works 

    element(by.model('yourName')).sendKeys('Julie'); 
    var greeting = element(by.binding('yourName')); 
    expect(greeting.getText()).toEqual('Hello Julie!'); 
    }); 
}); 

當手動查看小提琴時,一切似乎工作正常。 Angular使用ng-app引導,並且測試在3秒內運行(所以它似乎不是超時)。

回答

4

量角器需要找到與ngapp同步的元素。默認是'body'。在你的jsfiddle,我看到:

<body> 
    <div ng-app> 

如果設置了ROOTEL屬性,你的jsfiddle應該工作。

describe('angularjs homepage', function() { 
    it('should greet the named user', function() { 
    browser.get('http://fiddle.jshell.net/yfUQ8/2/show/'); 
    browser.rootEl = 'div'; 

    element(by.model('yourName')).sendKeys('Julie'); 
    var greeting = element(by.binding('yourName')); 
    expect(greeting.getText()).toEqual('Hello Julie!'); 
    }); 
}); 
+0

太棒了,正是我在找的東西:)我在文檔中找不到這個。 – Intru

+0

謝謝你的回答。但由於某種原因,將'browser.rootEl'設置爲「div」對我來說並不適用。但是當我將'ng-app'移動到body時,它完成了這項工作。 –

+0

'div'也不適用於我。將ng-app移動到body標籤對我很有用。 – Russj

相關問題