Я пишу некоторые тесты автоматизации Selenium UI и в настоящее время я работаю над разделом, в котором могут появляться несколько сообщений проверки в зависимости от ответа исходной системы.У меня есть несколько разных сообщений для запуска.
Каждый раз, когда сообщение об ошибке отображается в пользовательском интерфейсе, оно будет находиться в следующем элементе, но текстовая строка меняется каждый раз, в зависимости от того, что это сообщение, пока остаются идентификатор и классто же самое:
<span id="lblErrorText" class="validationError">
"My error message will appear here"
</span>
В классе объектов моей страницы я определяю свои поля, прежде чем использовать их в методе.Итак, у меня есть следующее:
By errorMessage = By.xpath("//span[@class='validationError']");
Затем я использую errorMessage в методе, чтобы вернуть его как логическое значение, чтобы я мог утверждать против.Следующее:
public boolean getInvalidRefNumberErrorMessage(){
return driver.findElements(errorMessage).contains("My error message will");
}
Но каждый раз, когда я запускаю свой тест, я вижу, что метод getInvalidRefNumberErrorMessage возвращает FALSE.
Я пытался использовать идентификатор вместо этого, но не повезло.Мне никогда не приходилось проверять динамическое сообщение раньше, поэтому я немного застрял здесь.