0
我有篩選器列表(多選)和儀表板顯示所有項目。 第一次,儀表板將顯示所有項目,然後我將選擇過濾器列表中的項目,儀表板將僅顯示過濾器列表中的項目。量角器無法捕捉元素
所以我的測試是比較沒有。過濾列表中的項必須等於no。儀表板中的項目。
但儀表板每3秒會自動重新加載,問題是量角器無法及時計算儀表板中的元素並顯示不相等的錯誤。
是否可以強制量角器快照所有顯示在一次的元素來使用它進行比較?
我的應用程序已由AngularJS編碼。
下面是部分代碼來測試
it('show all visibled element', function(){
browser.get('http://localhost:8080/dashboard/');
browser.ignoreSynchronization = true;
// Delay browser
// Refer link : http://stackoverflow.com/questions/24960290/can-protractor-be-made-to-run-slowly
var delayLoad = browser.driver.controlFlow().execute;
browser.driver.controlFlow().execute = function() {
var args = arguments;
delayLoad.call(browser.driver.controlFlow(), function() {
// delay 500 ms for dashboard renders all items
return protractor.promise.delayed(500);
});
return delayLoad.apply(browser.driver.controlFlow(), args);
};
var filter_expand = element(by.css('body > main > div > aside.aside.filter-bar.filters-closed > span'));
//browser.actions().mouseMove(filter_expand)
browser.actions().mouseMove(filter_expand).click().perform()
.then(function(){
var item_filter = element(by.css('body > main > div > aside.aside.filter-bar.filters-open > ng-include > div > nav > ul:nth-child(1) > li.filter-load > input:nth-child(3)'));
item_filter.click().then(function(){
var item_count = element(by.css('#s2id_autogen3 > ul')).all(by.css('li'));
var dashboard_count = element(by.css('div.dashboard > main > ul')).all(by.css('li'));
expect(item_count.count()).toEqual(dashboard_count.count());
});
});
})