cypress - 比较 datetime 函数 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 之间。
赛普拉斯是否提供此功能?有人可以帮忙吗?
谢谢,印杜。
解决方案
只是为了让每个人都知道解决方案到达Cypress Gitter 频道。该问题最初由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
推荐阅读
- material-ui - 具有 MUI v4 样式的 Next.js 闪烁
- amazon-web-services - AWS 开发工具包的会话到期间隔和返回码
- java-8 - CompletableFuture 在直接链接和单独链接时表现不同
- xml - 选择性 xml 属性的 XSLT 映射
- graylog - 无法在灰色日志中搜索
- python - 不支持“未知”类型的输入。支持的类型:[azureml.data.tabular_dataset.TabularDataset, azureml.pipeline.core
- javascript - 使用 Selenium 在 Chrome 中拖放 SVG 元素的解决方法?
- wpf - 具有大型集合的 WPF ListView 挂起 GUI
- android - 使用 Android Emulator M1 Mac 测试,我该如何解决这个 ADB 问题?
- git - 清理后:git commit -m 使用单引号 - windows git-cmd.exe 和 vim 上的错误路径规范