使用 cypress-cucumber-preprocessor 将现有的 cypress 测试转换为黄瓜风格的 bdd。第二个场景没有被选中

Posted

技术标签:

【中文标题】使用 cypress-cucumber-preprocessor 将现有的 cypress 测试转换为黄瓜风格的 bdd。第二个场景没有被选中【英文标题】:Converting existing cypress tests to cucumber style bdd using cypress-cucumber-preprocessor. Second scenario is not picked up 【发布时间】:2019-12-04 13:45:34 【问题描述】:

我们有一个现有的应用程序,测试是用 cypress 编写的。我们现在想要集成一个黄瓜风格的功能,它将使用 cypress 在内部运行。我们同样使用了cypress-cucumber-preprocessor。我按照这里给出的步骤on the github page。我现在面临的问题是,在运行测试时,它显示了两种场景,但只运行了一种。在它旁边显示一个绿色刻度线,但不启动第二个刻度线,并且时钟一直在滴答作响。单击 cypress 启动器中的第二个场景时,它会显示 - no commands were issued in this test.

我尝试了什么:

    我尝试在同一个功能文件中复制同一个场景两次。它仍然只运行第一个,不会移动到下一个。 我在两个不同的功能文件中移动了两个不同的场景。它成功地运行了它们。 我尝试使用 n 个场景在本地运行示例 repo (cypress-cucumber-example)。这可以无缝地工作。

一些观察:

    在运行第一个测试时,我运行了 chrome 控制台,发现由于某些网络调用失败而出现了一些错误。但是,即使我只使用 cypress 并且没有与 cucumber 集成,并且所有测试都通过了,这些调用也会进行(同样的错误)。是不是因为有什么神奇的黄瓜带在身边?阅读某处默认黄瓜等待测试是 60 秒,我等待最多 170 秒,然后停止套件。最后我得到的只是一个绿色的场景,而另一个甚至没有开始。

【问题讨论】:

不看实际功能和步骤定义就很难说。根据我们的测试套件、示例存储库以及在生产中使用此插件的多家公司,在功能文件中包含多个场景显然是可行的。有机会进行小型复制吗? 嘿@ŁukaszGozdaGandecki 感谢您的回复。我花了很长时间,但我实际上弄清楚了问题所在。我的功能文件中Feature: 之后有一个回车键。 ide 没有提出任何问题,一切都很好。我只是将成功运行与此问题进行比较,发现功能名称未出现在 UI 中,因此删除了 \n。它现在就像一个魅力。想知道一个小的回车键可以做什么。再次感谢。 【参考方案1】:

我花了很长时间,但实际上我弄清楚了问题所在。我的功能文件中Feature: 之后有一个回车键。 ide 没有提出任何问题,一切都很好。我只是将成功运行与此问题进行比较,发现功能名称未出现在 UI 中,因此删除了 \n.它现在就像一个魅力。想知道一个小的回车键可以做什么。

【讨论】:

以上是关于使用 cypress-cucumber-preprocessor 将现有的 cypress 测试转换为黄瓜风格的 bdd。第二个场景没有被选中的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)