Я новичок в Cypress и мне любопытно, что я делаю неправильно.
У меня есть тест, который проверяет содержимое таблицы на странице.Один из этих столбцов содержит отформатированную дату - дата может быть немного отключена, поэтому я использую регулярное выражение для ее проверки, а не для строгого сравнения.
Тест выглядит примерно так:
it.only('I can see the date', ()=> {
// Match dates like 'Dec. 21, 2018 at 1:12 pm'
const approximateTime = new RegExp(Cypress.moment().format('MMM[\]. D, YYYY [at] h:[.. [a|p]m]'));
cy.get('table.activity-log').within(() => {
cy.get('tbody tr').eq(0).within(() => {
cy.get('td').eq(0).invoke('text').should('match', approximateTime);
...
Я запускаю его для HTML, и он соответствует ожидаемому элементу, который выглядит примерно так:
<td>
Dec. 21, 2018
<span> at </span>
1:12 pm
</td>
Тест выполняется и время ожидания при повторных попытках:
AssertionError: expected 'Dec. 21, 2018 at 1:12 pm' to match /Dec. 21, 2018 at 1:.. {a|p}m/
Я что-то не так делаю с .invoke('text')
или в другом месте теста?