оператор catch выполняется каждый раз, даже если элемент отображается в Selenium - PullRequest
0 голосов
/ 22 декабря 2018
Receiving no element exception when for below code.

Я хочу напечатать «Введен в блок администратора», если отображается adminsearchuserid И если элемент emailtextbox отображается, то «Введен блок LOGIN»

, но мой код показывает оператор catch, даже если отображается emailtextbox,Я не понимаю, где я делаю ошибку

Case "User ID":
        try {
            System.out.println("Entered the try block");

            if (adminSearchPo.adminSearchUserId.isDisplayed()) {
                System.out.println("Entered the admin block");

            } else if (lpo.emailTextBox.isDisplayed()) {
                System.out.println("Entered the LOGIN block");
            }

        } catch (org.openqa.selenium.NoSuchElementException e) {
            System.out.println("Entered the exception block");
        }    
break;

1 Ответ

0 голосов
/ 22 декабря 2018

Вам нужно обработать каждое условие if с помощью try / catch.

Допустим, как вы сказали, что emailtextbox отображается, код выполняется построчно и пришел к

    if (adminSearchPo.adminSearchUserId.isDisplayed()) {

здесьЭлемент в том случае, если условие не отображается, приводит к исключению, тогда он будет перехватывать.Таким образом, нет возможности пойти другим путем, если как два, если условия находятся в попытке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...