如何使用cy.clock()获取当前日期并按dd/mm/yyyy格式填入文本框
实现方案
无需自定义命令,仅用Cypress原生cy.clock() API配合原生JS日期处理方法即可实现,完整代码示例如下:
// 调用cy.clock获取全局时钟实例,默认锁定为当前系统时间 cy.clock().then(clock => { // 从时钟实例获取当前时间戳,转为Date对象 // 若运行时提示clock.now不是数值,可改为 new Date(clock.now()) const currentDate = new Date(clock.now) // 格式化为dd/mm/yyyy格式,月份默认从0开始需+1,不足两位自动补前导0 const day = String(currentDate.getDate()).padStart(2, '0') const month = String(currentDate.getMonth() + 1).padStart(2, '0') const year = currentDate.getFullYear() const formattedDate = `${day}/${month}/${year}` // 替换为你的目标文本框选择器,填入格式化后的日期 cy.get('#target-input').type(formattedDate) }) // 若后续不需要冻结页面时间,可调用以下方法恢复正常时间流 // cy.clock().restore()
注意事项
padStart(2, '0')用于处理日期、月份为个位数时自动补前导0,确保始终符合dd/mm/yyyy的双位格式要求。- 若目标为H5原生date类型输入框,可根据浏览器默认的输入格式调整日期拼接顺序即可。
- 全程未引入第三方依赖,也未使用自定义命令,完全基于原生语法实现。
内容的提问来源于stack exchange,提问作者ZombiePie
相关产品推荐
相关产品推荐

