Как проверить, существует ли элемент на dom после события с Cypress? - PullRequest
0 голосов
/ 09 июля 2020

Я прочитал эту статью об условном тестировании, но все еще не понимаю ее. https://docs.cypress.io/guides/core-concepts/conditional-testing.html#Error -Recovery

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

Итак, мне нужно сделать что-то вроде:

"после события (например, отправить значение на входе), проверить, есть ли определенный элемент в dom, и затем сделайте что-нибудь, еще сделайте что-нибудь еще "

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

Но это не так, и это нормальное поведение на современных сайтах.

Как я могу это сделать? В противном случае, когда я пытаюсь «получить» элемент, он вылетает, если его нет.

Как люди обычно с этим справляются?

1 Ответ

1 голос
/ 09 июля 2020

Я бы рекомендовал связать его с верхним элементом дерева DOM, который всегда отображается, например:

    cy.get('.app__inner').then($app => {
        if ($app.find('.your_element').is(':visible')) {

            // fill the logic here
        } else {

            // fill the logic here
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...