在赛普拉斯输入的日期上按Enter键

时间:2019-04-15 12:12:35

标签: date cypress

我有一个应用,其中包含一些我要使其自动化的输入字段。这些字段的要旨是,我应该能够双击一个字段,输入一个新值,然后按Enter提交该值,这将发送一个PUT请求并关闭输入字段。这适用于除日期以外的任何输入类型。

到目前为止,我已经尝试过:

  • 使用cy.type('{enter}')。这给出了Typing into a date input with cy.type() requires a valid date in the format 'yyyy-MM-dd'. You passed: {enter}

  • 使用cy.trigger()发送回车键事件。之所以有效,是因为它成功关闭了输入字段,但是却不发送PUT请求。

  • 在父元素上按Enter。与使用cy.trigger()

奇怪的是,我自己手动打开输入字段,键入日期并按Enter键就可以很好地发送请求。在我看来,以编程方式按Enter提交字段时出现了一些问题,而Cypress并未将此解释为我试图在日期字段中实际键入无效字符的尝试。文档确实明确指出日期字段中不允许使用特殊字符。

由于这是公司代码,因此无法发布任何代码。

1 个答案:

答案 0 :(得分:0)

我试图使其工作,但目前暂时无法完成。这样的事情应该起作用:

it.only('test', function () {
    cy.visit('https://www.html5tutorial.info/html5-date.php')
    cy.get('input')
      .type('2009-12-12')
      .type('{enter}')
  })

但是事实并非如此,因此我开始深入研究一堆问题并发现了以下问题: https://github.com/cypress-io/cypress/issues/3405。它是关于另一种输入类型的,但是我相信这与您的问题有关。