date - 在赛普拉斯的日期输入上按 Enter
问题描述
我有一个应用程序,其中包含一些我正在尝试自动化的输入字段。这些字段的要点是我应该能够双击一个字段,输入一个新值,然后按 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}
用于为enter
cy.trigger()
键发送 keydown 事件。这有效,因为它成功关闭了输入字段,但它以某种方式不发送 PUT 请求。在父元素上按 enter。与使用相同
cy.trigger()
奇怪的是,自己手动打开输入字段,输入日期并按 Enter 即可发送请求。在我看来,在没有赛普拉斯将其解释为我试图在日期字段中实际输入无效字符的情况下,以编程方式按 Enter 提交字段存在一些问题。文档确实明确表示日期字段中不允许使用特殊字符。
不能发布任何代码,因为这是公司的。
解决方案
我试图让它工作,但目前根本无法完成。像这样的东西应该工作:
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 。这是关于不同的输入类型,但我相信它与您的问题有关。
推荐阅读
- windows - cpp 模拟 mouseclick 也会移动光标
- flutter - 如何在颤动中计算 GridView.builder 的 childAspectRatio
- xamarin.forms - Xamarin Forms 如何为自定义布局滚动条添加?
- flutter - 如何使用 BottomNavyBar 在页面之间导航
- protocol-buffers - NodeJS:protoc生成的文件不生成服务定义
- java - 如何编写写入数据库的集成测试,然后检索值,并验证所有字段是否正确填充
- c - 当 phnum 是测试中的局部变量时,我不明白如何在程序开始时使用 define LEFT(phnum + 4)%N
- r - R 包示例在 Mac 上运行但不在 Windows 上运行(“分配”错误)
- c# - 一次关闭多个窗口
- eclipse - eclipse下无法运行junit5(2020-06(4.16.0))