Кнопка проверки не отображается

Я попробовал следующие решения, чтобы убедиться, что кнопка не отображается для определенной группы пользователей. Ни одно из решений не работает. Я получаю исключение отсутствия такого элемента с кодами. Пожалуйста, дайте мне знать, если я могу еще что-нибудь попробовать.

  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;

Пожалуйста, отформатируйте код должным образом (удалите комментарии) и подумайте о добавлении минимальный воспроизводимый пример для тестирования.

Zephyr 30.10.2018 15:51

Выполнив то, что предложил Зефир, опишите, что происходит, когда вы выполняете код.

Mate Mrše 30.10.2018 15:54

Когда кнопка не отображается, существует ли она в DOM и просто не отображается или ее нет в DOM?

JeffC 30.10.2018 21:42
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
3
350
1

Ответы 1

Вы можете проверить, существует элемент или нет:

public boolean existsElement_byXpath(String xpath) {
        try {
            driver.findElement(By.xpath(xpath));
        } catch (NoSuchElementException e) {
            return false;
        }
        return true;
    }

Другие вопросы по теме