Доброе утро! Я в автоматизации новичок и путаюсь в проверках. Сейчас пишу тесты для одного сайта и возник вопрос, есть пользователь админ и клиент, кнопка "Настройки" для админа видна, а для клиента ее быть не должно, мне нужно написать тест, на случай если слетят права для клиента, который должен пройти успешно, если элемента "Настройки " на странице не будет. Такое возможно вообще или он всегда будет фейлиться?
Убедиться, что элемент отсутствует
#1
Отправлено 23 сентября 2017 - 06:41
#2
Отправлено 24 сентября 2017 - 09:31
Скорее всего, наоборот, он всегда будет проходить успешно. Так как подобного рода "потери прав" случаются крайне редко. По крайней мере в моем опыте. Если подобные ошибки у вас случались,, то можно автоматизировать. С проверкой отсутствия кнопки "Настройки" по идее особых проблем быть не должно.
#3
Отправлено 29 сентября 2017 - 12:26
Возможно.
List<WebElement> elements = driver.findElements(By.xpath("//button(text()='Настройки')")); if (elements.size == 0){ //do anything }
#4
Отправлено 02 октября 2017 - 07:35
Спасибо за ответы! Решила проблему так:
public boolean isElementPreset(By selector) {
try {
driver.findElement(selector);
return true;
} catch (Exception e) {
return false;
}
}
@Test(priority = 23, dependsOnMethods = {"ClientLogin"})
public void ClientSettings() {
adminPage.Products();
Assert.assertFalse(isElementPreset(By.linkText("Настройки")));
analyzeLog();
}
#5
Отправлено 02 октября 2017 - 08:05
adminPage.Products();
Assert.assertFalse(isElementPreset(By.linkText("Настройки")));
обязательно надо рассмотреть вариант как отработает код если элемент "Настройки" появится через 50 миллисекунд после возврата вызова "adminPage.Products();"?
конечно тут многое зависит от реализации страницы и самого "adminPage.Products();"
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных