#cypress
#cypress
Вопрос:
Строки точно такие же. Почему Cypress считает, что они разные?
const resultsMessage = `Search results for ${testQuery}`;
cy.get('[data-test=results-header]').then((el) => {
expect(el.text().trim()).to.contain(resultsMessage);
});
expected 'Search results for featured calc when logged out'
to include 'Search results for featured calc when logged out'
Комментарии:
1. Я думаю, что происходит то, что, поскольку cypress работает асинхронно, тогда ваш
cy.get()
выполняется первымresultsMessage
. Чтобы подтвердить эту печать, оба значения внутриthen()
используютcy.log(el.text().trim())
иcy.log(resultsMessage)
. resultsMessage будет напечатано как неопределенное.
Ответ №1:
Может быть, немного поздний ответ, но сегодня я столкнулся с той же проблемой. Я подозреваю, что HTML-текст, который вы сравниваете, содержит один или несколько amp; nbsp. В этом случае вы можете заменить их следующим образом:
const resultsMessage = `Search results for ${testQuery}`;
cy.get('[data-test=results-header]').invoke('text').then((text) => {
// replace the space char
expect(text.replace(/u00a0/g, ' ')).equal(resultsMessage)
})