2016-03-07 2 views
0

Мне нужно сделать так, чтобы атрибут получил значение и получил ошибку «до». Что я делаю неправильно? СпасибоКак подождать атрибут? java + webdriver

List<WebElement> messages = driver.findElements(By.className("message-item")); 
//select last message 
WebElement lastMessage = messages.get(messages.size() - 1); 
//wait for last message attribute received failed 
WebDriverWait waitLastMessage = new WebDriverWait(driver, 10); 
waitLastMessage.until(lastMessage.getAttribute("data-deliverystatus").contains("failed")); 
//here i check vaules of attribute 
Assert.assertEquals(lastMessage.getAttribute("data-deliverystatus"), "failed"); 

ответ

0

until метод получает ExpectedConditions, а не какой-либо boolean. Вы можете сделать что-то подобное (не проверено)

private ExpectedCondition<Boolean> waitForAttribute(final WebElement element) { 
    return new ExpectedCondition<Boolean>() { 
     public Boolean apply(WebDriver driver) { 
      return element.getAttribute("data-deliverystatus").contains("failed"); 
     } 
    }; 
} 

WebDriverWait waitLastMessage = new WebDriverWait(driver, 10); 
waitLastMessage.until(waitForAttribute); 
Смежные вопросы