【问题标题】:Cypress insert wrong data from JSON赛普拉斯从 JSON 中插入错误数据
【发布时间】:2021-05-06 10:16:02
【问题描述】:

我在 Cypress 测试方面遇到了一个非常奇怪的问题。 我的测试套件中的一切都运行顺利,但有时我会遇到奇怪的行为。 当我获取一个输入字段并在其中插入一些内容时:

cy.get('#input-column-start-date-0').type(testdata.customer.date.insert.first)

JSON 测试数据:

 "testdata" : { 
    "customer" : {
      "date" : {
       "insert" : {
        "first" : "18-02-2020"
        ...
          }
        }
      }
    }

但最奇怪的是,有时 Cypress 能够填写正确的字符串,有时它会跳过一些字母 结果是这样的:"18-2-020"

所以我问自己我做错了吗?我是否从赛普拉斯文档中跳过了某些内容?我只是想知道,因为这个问题真的很烦人。 如果有人帮我解决我的问题,我会很高兴。谢谢。

【问题讨论】:

    标签: javascript testing automated-tests cypress


    【解决方案1】:

    您是否尝试增加延迟选项(每次按键后的延迟),默认为 10 毫秒

    cy.get('#input-column-start-date-0')
      .type(testdata.customer.date.insert.first, { delay: 100 })
    

    【讨论】:

    • 看来它做得对。我用几个测试用例试了一下,没有发现任何打字错误。这是什么原因?我的意思是场景比 UI 加载更快?你有更多关于这个问题的信息吗?
    • 我发现 type 命令有时有点不可预测,但不知道为什么。它不仅仅是“粘贴”操作,请查看Events that fire。最重要的是,应用程序可能具有按键执行的事件处理程序(onChange 事件),如果它缺乏适当的去抖动,您可能会得到跳过的键。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 2021-11-26
    相关资源
    最近更新 更多