Установить дату выбора в течение одного года с сегодняшнего дня в тесте Cypress - PullRequest
1 голос
/ 22 апреля 2020

Я создаю приемочный тест в Cypress, который будет запускаться регулярно, и мне нужно, чтобы он вводил дату из средства выбора даты (реагировать, если это важно) как 1 год 1 месяц и 1 день со дня создания объекта (статья). Например, сегодня 22 апреля 2020 года, и я хочу получить 23 мая 2021 года в статье, созданной сегодня, а завтра это даст значение 24 мая 2021 года и т. Д. c. Кто-нибудь может поделиться какими-либо идеями по настройке этого? Я, честно говоря, погуглил и сам не имею идей, потому что я новичок в Cypress и чувствую себя более или менее уверенно только в довольно простых вещах. :)

1 Ответ

0 голосов
/ 23 апреля 2020

Я предполагаю, что у большинства сборщиков дат будет элемент input, в который можно вводить дату.

Предполагая, что приложение использует средство выбора даты из библиотеки (поэтому вам не нужно проверять выбор даты нажатием кнопки), вы можете выбрать этот элемент и использовать команду Cypress .type() для ввода будущего. date.

Например, элемент выбора даты пользовательского интерфейса docs имеет этот элемент ввода

<input aria-invalid="false" 
  id="date-picker-inline" 
  type="text" 
  class="MuiInputBase-input MuiInput-input MuiInputBase-inputAdornedEnd" 
  value="08/18/2014">

, поэтому шаги будут выглядеть примерно так:

cy.visit('https://material-ui.com/components/pickers');

const targetDate = Cypress.moment()
  .add(1, 'year')
  .add(1, 'month')
  .add(1, 'day')
  .format('MM/DD/YYYY')   // adjust format to suit the apps requirements

cy.get('input[id="date-picker-inline"]')
  .clear()
  .type(`${targetDate}{enter}`)  // presume you need the enter key to trigger an event 

Ref: Cypress.moment

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