Я пытаюсь использовать Cypress для автоматического теста, который включает проверку правильности ввода информации о встрече в нашу систему.Для того, чтобы найти информацию о встрече, я нахожу дату и время в таблице, которую показывает пользователь, и проверяю оставшиеся данные оттуда.Поэтому моя основная цель - найти дату / время, соответствующие информации о встрече, передаваемой в сценарий.
Моя проблема заключается в том, что наш сайт отображает дату / время по-разному, в зависимости от того, сколько цифр содержится в часовом интервале.Чтобы сохранить интервал, однозначные часы (например, 15:40) включают два пробела между датой и временем.Многозначные часы (например, 11:23) содержат только один пробел.
Мне нужно найти дату / время, совпадающее с тем, что я передаю в функцию, а затем выполнить поиск в соответствующей строке, чтобы убедиться, что вседругая информация о встрече верна.
Мы попытались использовать .and (действует только как утверждение, поэтому не возвращает нам элемент), регулярные выражения (используя / s + для указания любого количества пробелов)), и для циклов, но ни один из них не возвращает нужный нам элемент.
var apptProvider = new Cypress.Promise(resolve => {
cy.get('.appointments > tbody > tr')
.contains(Cypress.moment(apptInv[2], 'dddd MMMM Do YYYY')
.format('ddd MM/DD/YY')
.toString()+" "+
Cypress.moment(apptInv[3], 'h:mm:ss a')
.format('h:mm A')
.toString(),
)
.parent()
.within(() => {
cy.get('td:nth-child(2)').then($providerText => {
resolve($providerText.get(0).innerText);
});
});
});
apptInv - это массив, содержащий следующее: 0) Имя поставщика 1) Адрес офиса 2) Дата назначения 3) Время назначения