Эта функция возвращает неопределенный, а не размер элемента. Я не мог написать это по-другому, так как я не знаком с обещаниями. Как мне переписать его, чтобы он не возвращал неопределенное, но разрешенное обещание?Обещание, возвращаемое undefined в selenium-webdriver
консоль: Expected undefined to be less than undefined.
var s1 = utilitiesPageObject.getElemSize("css", "#main-content > div > div > div.col-xs-12.col-md-6.align-left");
driver.findElement(By.css('#main-content > div > div > div.col-xs-12.col-md-6.align-left > div.slide-down-container > div.slide-down-btn.btn')).click()
var s2 = utilitiesPageObject.getElemSize("css", "#main-content > div > div > div.col-xs-12.col-md-6.align-left")
expect(s1).toBeLessThan(s2);
и от utilitiesPageObject функция getElemSize
getElemSize(css, elem){
switch(css) {
case 'css':
this.driver.findElement(By.css(elem)).getSize().getHeight.then(s => {return s});
break;
case 'xpath':
this.driver.findElement(By.xpath(elem)).getSize().getHeight.then(s => {return s});
break;
default:
return null;
}
}
Не могли бы вы разместить HTML-код, где вы ищете элементы '' # main-content> div> div> div.col-xs-12.col-md-6.align-left'? – DomeTune
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-do-return-the-response-from-an-asynchronous-call) – Andreas
@Andreas Где вы нашли асинхронный вызов в вопросе? – DomeTune