Использование cy.get () в Cypress для поиска селекторов с одним из двух свойств - PullRequest
0 голосов
/ 28 мая 2020

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

Я пытаюсь запустить .each l oop для запуска набора складных поля для проверки правильности данных в каждом из них. В полях перечислены медицинские проблемы и связанные с ними данные. Проблема в том, что есть два списка полей, один для активных проблем, а другой для решенных проблем, где единственное различие между ними - это теги data-cy. Это единственные уникальные идентификаторы для этих элементов, поэтому я должен использовать теги data-cy, чтобы выбрать их, не выбирая другие элементы в том же контейнере.

Я бы смог запустить то же самое. Каждый функция для обоих наборов элементов, но в настоящее время я не могу из-за того, что элементы не имеют одинаковых тегов data-cy. Могу ли я использовать поиск Cypress .get для элементов с одним из двух свойств? Примерно так:

cy.get('[data-cy="problem-entry"]' OR '[data-cy="resolved-problem"]')

РЕДАКТИРОВАТЬ: Кроме того, чтобы уточнить - в настоящее время я могу заставить тест вести себя, просто дублируя .each l oop один раз за каждый тег data-cy. Поскольку l oop - это несколько сотен строк кода, я хочу удалить избыточность, чтобы немного очистить это.

1 Ответ

0 голосов
/ 29 мая 2020

Этот ответ не является идеальным исправлением, но может сработать в вашем случае: если эти селекторы являются единственным источником данных со словом «проблема» в своем значении, вы можете сделать что-то вроде этого: cy.get('[data-cy*="problem"]'). Это выберет любой файл данных, содержащий слово «проблема».

Если это не так, я хотел бы обратиться к вашему сообщению «ИЗМЕНИТЬ»: вы можете поместить весь код (несколько сотен строк) в a настраиваемая команда Cypress , а затем вызовите ее, поэтому вместо того, чтобы копировать код и вызывать его дважды, вы просто вызываете свою настраиваемую команду дважды (по одной строке каждая).

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