Я попробовал следующие решения, чтобы убедиться, что кнопка не отображается для определенной группы пользователей. Ни одно из решений не работает. Я получаю исключение отсутствия такого элемента с кодами. Пожалуйста, дайте мне знать, если я могу еще что-нибудь попробовать.
try {
boolean btnPresence = driver.findElement(By.linkText("/html/body/div/div/div/main/div[2]/div[2]/div/form/button")).isDisplayed();
}
catch (org.openqa.selenium.NoSuchElementException e)
{
return;
}
}
Assert.assertTrue(driver.findElement(By.xpath("/html/body/div/div/div/main/div[2]/div[2]/div/form/button")).isDisplayed());
if (driver.findElement(By.xpath("/html/body/div/div/div/main/div[2]/div[2]/div/form/button")).isDisplayed()) {
System.out.println("Fail! Submit button is displayed for a CMS Admin on the ORC TA Form.");}
else {
System.out.println("Pass!!- Submit Button is not displayed for CMS Admin on the ORC TA Form");
}
boolean elePresent = driver.findElement(By.xpath("/html/body/div/div/div/main/div[2]/div[2]/div/form/button")).isDisplayed();
boolean elePresent = driver.findElement(By.xpath("/html/body/div/div/div/main/div[2]/div[2]/div/form/button")).isDisplayed();
boolean exist = driver.findElement(By.xpath("/html/body/div/div/div/main/div[2]/div[2]/div/form/button")).size() == 0;
Выполнив то, что предложил Зефир, опишите, что происходит, когда вы выполняете код.
Когда кнопка не отображается, существует ли она в DOM и просто не отображается или ее нет в DOM?




Вы можете проверить, существует элемент или нет:
public boolean existsElement_byXpath(String xpath) {
try {
driver.findElement(By.xpath(xpath));
} catch (NoSuchElementException e) {
return false;
}
return true;
}
Пожалуйста, отформатируйте код должным образом (удалите комментарии) и подумайте о добавлении минимальный воспроизводимый пример для тестирования.