В Cypress команда .contains
возвращает все соответствующие элементы, поэтому для щелчка по раскрывающемуся элементу с текстом на нем .contains
работает нормально. Но я столкнулся с проблемой, которую мне нужно щелкнуть в раскрывающемся элементе, текст которого называется «Навигационная метка»: проблема возникает из-за того, что в том же выпадающем меню есть другая опция, называемая «Новая метка навигации», и вместо этого она нажимается, так как оно появляется первым.
Есть ли способ щелкнуть по элементу, который точно соответствует желаемому тексту?
Given('I click on the {string} drop down option', option => {
cy.get(`[data-test="dropdown"]`)
.find('.item')
.contains(option)
.click();
});
Я частично решаю проблему, используя .last()
, но я нахожу это решение довольно расплывчатым, поскольку стараюсь сделать свои шаги максимально возможными для повторного использования, и это всего лишь патч, чтобы заставить его работать в этой конкретной проблеме.
Обратите внимание, что тестирование данных для каждого конкретного элемента в раскрывающемся списке невозможно, так как элементы отображаются непосредственно из semantic-ui.