比较日期时间函数赛普拉斯

时间:2019-03-21 01:34:27

标签: cypress

我有一个表格,允许用户输入日期范围,并且输出将仅具有特定日期的结果。

我可以使用.type()函数将日期输入到表单中。但是,我不确定如何检查结果是否在指定范围内。

例如,如果键入的日期是('17 / 03/2019'),我应该能够使用以下代码检查表中的结果是否在范围内

cy.get('.table')
  .should('not.contain','18/03/2019') // This is wrong 

我想比较一下,看看生成的结果是否仅在17/03/2019 00:00:00和17/03/2019 11:59:59之间。

赛普拉斯是否提供此功能?有人可以帮忙吗?

谢谢, 印杜。

1 个答案:

答案 0 :(得分:0)

只是为了让所有人都了解解决方案,请到达Cypress Gitter channel。该问题最初由Mr. Gleb Bahmutov

回答

此验证可以由 Cypress.moment 处理,其中moment.js库具有日期/时间的解析和比较方法。

// the time in the element should be between 3pm and 5pm
const start = Cypress.moment('3:00 PM', 'LT')
const end = Cypress.moment('5:00 PM', 'LT')

cy.get('.utility-moment .badge')
  .should(($el) => {
    // parse American time like "3:38 PM"
    const m = Cypress.moment($el.text().trim(), 'LT')

    // display hours + minutes + AM|PM
    const f = 'h:mm A'

    expect(m.isBetween(start, end),
      `${m.format(f)} should be between ${start.format(f)} and ${end.format(f)}`).to.be.true
  })

相关文档添加:https://github.com/cypress-io/cypress-example-kitchensink/pull/225