Я хочу, чтобы бросить сообщение об ошибке селена, когда XPath такого элемента является не найден я создал классКак бросить пользовательские исключения вместо NoSuchElementException селена
package NewPackage;
public class ExplicitAssertionError extends AssertionError {
private static final long serialVersionUID = 1L;
public ExplicitAssertionError (String msg) {
super(msg);
}
}
Я написал код, как это для тестирует страницу
public class ResultPage extends WDBase {
public void assertTravelNamePresent(final String busName) {
final String xpath="//div[@class='company'][contains(.,'"+busName+"')]";
if (!driver.findElement(By.xpath(xpath)).isDisplayed()) {
throw new ExplicitAssertionError("invalid text found");
}
}
}
Вот когда неверный текст передается, что это, не соответствие с XPath страницы NoSuchElementException брошена вместо сообщения об ошибке. Также может кто-нибудь предоставить мне решение провалить тест, используя assertTrue/Ложные в тех случаях, когда элемент не найден Благодарности
Не могли бы вы объяснить, как проверяется xpath по размеру()? –
@nikhiludgirkar Это просто, что 'size()' будет возвращать '0', если нет элементов, соответствующих выражению xpath. Я думаю, это именно то, что вы пытаетесь сделать, верно? – alecxe
Это полезно для проверки isDisplayed() как насчет isEnabled() –