У меня есть список фильтров (multi-selection) и панель инструментов, чтобы показать все элементы. В первый раз на панели приборов будут показаны все элементы, а затем я выберу элементы в списке фильтров, панель инструментов покажет только элементы в списке фильтров.Транспортер не может захватить элементы
Так что мое тестирование сравнивает нет. элемента в списке фильтров должны равняться без. элемента на приборной панели.
Но приборная панель будет перезагружаться автоматически каждые 3 секунды, проблема заключается в том, что Protractor не может своевременно подсчитывать элементы на приборной панели и отображать ошибку, которая не равна.
Можно ли заставить Транспортировать моментальные снимки всех элементов, которые отображаются в один момент времени, чтобы использовать их для сравнения?
Моя заявка была закодирована 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());
});
});
})