Cypress: любая разница между cy.get ("a"). Find ("b") и cy.get ("a b") - PullRequest
0 голосов
/ 30 августа 2018

Кажется, они идентичны. Есть ли когда-нибудь разница в выходе между cy.get("a").find("b") и cy.get("a b")?

(где a и b - некоторые селекторы, например, div и span или .someClass и .someOtherClass.)

Ответы [ 2 ]

0 голосов
/ 01 июня 2019

Как вы указали в своем вопросе, нет разницы между cy.get("a").find("b") и cy.get("a b"). Но самое важное различие между командами find и get в Cypress заключается в том, что cy.get() связан с cy, он всегда ищет селектор во всем document, как указано в документах Cypress . Но, как снова указано в кипарисовых документах , найдите работы следующим образом:

Получить дочерние DOM-элементы определенного селектора.

Таким образом, команда cy.get("a").find("b") возвращает все элементы b, являющиеся наследниками элемента a, но cy.get("a").get("b") находит все элементы a и b независимо от того, являются ли они родительскими и дочерними.

0 голосов
/ 30 августа 2018

Нет разницы в результате, но есть разница в реализации.

Из документов для команды .find():

Поведение запросов этой команды в точности соответствует принципу работы .find() в jQuery.

Другими словами,

cy.get("a").find("b");

эквивалентно следующему JQuery:

$("a").find("b");

$("a").find("b"); даст тот же результат, что и $("a b"), но для этого будет использован другой метод.


Я провел небольшое тестирование, чтобы подтвердить это на довольно сложной странице:

testing result

Обратите внимание, что числовые результаты одинаковы для cy.get("td").find("tr") и cy.get("td tr").

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