#vue.js #cypress
#vue.js #cypress
Вопрос:
Я data-cy
пытаюсь использовать для проверки заголовка текста, но, поскольку он используется v-for
, cypress test не может найти текст и вместо этого выдает неудачный тест, поскольку он не смог найти точное совпадение.
it('first line contain heading', ()=>{
cy.visit('http://localhost:8080/')
cy.get('[data-cy="book-heading"]')
.invoke('text')
.should('equal', 'In Search of Lost Time')
})
Как можно использовать cypress для получения правильного текста?
Комментарии:
1. Можете ли вы опубликовать скриншот ошибки вместе со скриншотом Dom?
2. @AlapanDas Я обновил вопрос с ошибкой и скриншотом.
Ответ №1:
Это должно сработать.
it('first line contain heading', () => {
cy.visit('http://localhost:8080/')
cy.get('[data-cy="book-heading"]').contains('In Search of Lost Time')
})
Комментарии:
1. Спасибо. что, если я захочу второй заголовок, будет ли он сканировать всю страницу на предмет ключевых слов?
2. Если у вас есть несколько вхождений
data-cy="book-heading"]
на странице, вы можете получить к ним доступ с помощьюeq()
, что-то вродеcy.get('[data-cy="book-heading"]').eq(0).contains('In Search of Lost Time')
илиcy.get('[data-cy="book-heading"]').eq(1).contains('In Search of Lost Time')
и т.д.