Cypress - Возвращает элемент, содержащий несколько определенных строк - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь использовать 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) Время назначения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...