【问题标题】:How can I pause cypress test and try diff 'cy' commands like 'byebug' in ruby?如何暂停 cypress 测试并在 ruby​​ 中尝试 diff \'cy\' 命令,如 \'byebug\'?
【发布时间】:2022-11-10 02:44:15
【问题描述】:

我正在 VS 代码中用 javascript 编写柏树测试。 有没有办法暂停测试运行并在终端/控制台中试错不同的东西,类似于 ruby​​ 中的“byebug”?直接更改代码并重新运行需要很多时间。

【问题讨论】:

    标签: debugging testing automated-tests cypress ui-automation


    【解决方案1】:

    基本上在测试运行结束时甚至在暂停期间,您都可以在浏览器控制台中使用cy.now()。 cy.now() 的第一个 arg 将是 cypress 命令的名称,随后的 args 将是 cypress 命令参数。

    这是一个基本的例子。

    // test file
    cy.pause()
    
    // in browser console
    cy.now('get', '.your-selector')
    

    更详细的answer

    【讨论】:

    • 我试过了,但控制台给出了以下错误 - Uncaught ReferenceError: cy is not defined at <anonymous>:1:1
    • 您确定您在控制台中的正确 js 上下文中吗?
    • 我认为这是问题所在,现在已经解决了。我已经尝试了一段时间,看起来它不适用于所有命令,对吧?另外,我如何对它执行一个动作,就像它产生一个承诺一样,下一步是什么?
    • 我只尝试了一些基本命令,比如“get”,所以我不确定。产生的主题取决于您的命令,因此对于“获取”,它将产生一个 DOM 元素。
    • 它产生了一个承诺(参考链接中的图片)imgur.com/a/1f1VI6c 现在,我如何对此执行任何操作,例如单击或键入等?
    【解决方案2】:

    您可以使用cy.pause() 在测试中启用单步执行功能。

    it('some test', () => {
      cy.pause()
        .get('foo') // other commands
    });
    

    【讨论】:

      猜你喜欢
      • 2019-10-07
      • 2023-03-22
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 2020-11-22
      • 1970-01-01
      相关资源
      最近更新 更多