Cypress - выбрать элемент внутри другого элемента - ярлык синтаксиса селектора для `внутри` - PullRequest
1 голос
/ 22 мая 2019

У меня есть элемент в моем HTML, который содержит один флажок; что-то вроде (фактический вывод немного сложнее, так как мы используем React + Material UI. Однако это общая идея, один «контейнер» только с одним флажком внутри):

<span class="..." cy-data="checkbox-container">
  ...
  <checkbox ... />
</span>

На данный момент, чтобы установить флажок в моем тесте, я использую это:

 cy.get('[data-cy=checkbox-container]').within(() => {
   cy.get('[type="checkbox"]').check();
 })

Есть ли более короткий способ написать это?


cy.get('[data-cy=checkbox-container]').get('[type="checkbox"]') возвращает первый флажок, найденный в полном документе; не тот, что под checkbox-container.

cy.get('[data-cy=checkbox-container] > [type="checkbox"]') вызывает ошибку «not found».

Ответы [ 2 ]

2 голосов
/ 22 мая 2019

Вы были близки к первому решению, вы можете использовать для этого find(), который ищет элемент в предыдущих результатах поиска. Так бы это выглядело так:

cy.get('[data-cy=checkbox-container]')
   .find('[type="checkbox"]')
0 голосов
/ 22 мая 2019

Я считаю, что ваши значения не являются динамическими в флажке, в этом случае вы можете использовать

cy.get('[type="checkbox"]').check(['name']) right?

Вы пробовали это? Или вы пытаетесь что-то другое? Если да, то можете ли вы объяснить немного больше?

Приветствия

...