Как сохранить дату в некоторой переменной в Cypress - PullRequest
3 голосов
/ 07 февраля 2020

Может кто-нибудь помочь мне, как сохранить дату от поля до переменной. Вот HTML, на который я смотрю:

<input id="date" class="input_date" id="XYZ" type="date" value="2019-01-12" on_input="table()">

Я пытался:

const date1 = Cypress.moment(). get('#id_value') 

Ответы [ 2 ]

2 голосов
/ 07 февраля 2020

Если идентификаторы уникальны, вы можете попробовать вставить val в переменную, как показано ниже. Я использовал date идентификатор в коде ниже.

примечание: во входных данных html tag там two ID's, возможно, потребуется подтвердить с командой разработчиков, какую из них использовать здесь

 cy.get('#date').invoke('val').then((val)=>{
   const dateValue = val;
   console.log("Here is the date:"+dateValue);
 })
1 голос
/ 07 февраля 2020

Несмотря на то, что Cypress импортирует библиотеку моментов, для нее нет встроенных команд, позволяющих создавать цепочки, но вы можете добавить пользовательскую команду, чтобы упростить ее.

Команда toMoment() должна быть объединена в цепочку предыдущая команда выбора, например cy.get() или cy.contains(). Он возвращает объект момента, который вы затем можете использовать invoke для вызова всех методов, которые предоставляет момент, и далее цепочку .should() для проверки значения, возвращаемого этими методами.

Например,

Spe c

Cypress.Commands.add('toMoment', {prevSubject: true}, (element) => {
  return Cypress.moment(element[0].value);
});

it('input tests with moment', () => {

  cy.visit('./app/moment-with-input.html');

  cy.get('input').toMoment()
    .invoke('isValid')
    .should('eq', true);

  cy.get('input').toMoment()
    .invoke('format', 'dddd')
    .should('eq', 'Saturday');

  cy.get('input').toMoment()
    .invoke('diff', Date(2020, 2, 5), 'days')
    .should('eq', -391);

})

HTML фрагмент (положить в папку «/ app» проекта)

<input id="date" class="input_date" id="XYZ" type="date" value="2019-01-12" on_input="table()">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...