提问者:小点点

“如何在cucumber中的一些特定场景之前执行5个步骤的整个场景”


“我可以在cucumber中的一些特定场景之前执行一个假设有5个步骤的特定场景吗?

假设我有一个包含3种场景的特征文件,例如A、B和C。

我正在编写另一个特征文件,假设有5种场景M、N、O、P和Q。

现在我想在N和Q之前执行场景B。

注意:场景B有多个步骤,我想在执行N和Q之前执行所有步骤。

“之前钩子适用于单个方法,后台场景将在每个senario之前执行。请给出一些解决方案。”


共3个答案

匿名用户

Cucumber-Java不支持调用其他方案。

从FAQ:

“每个场景都应该是独立的;您应该能够以任何顺序或并行运行它们,而不会干扰另一个场景。

每个场景都应该只测试一件事,这样当它失败时,它会因为一个明确的原因而失败。这意味着您不会在另一个场景中重用一个场景。

如果您的场景使用相同或相似的步骤,或者在您的系统上执行类似的操作,您可以提取辅助方法来执行这些操作。”

根据经验,我可以告诉你,你真的不希望你的场景相互依赖,因为你的自动化将很难维护。

匿名用户

在Cucumber中,每个场景都应该是独立的。因此,这里的一个选择是将具有类似行为的场景保留在一个特征文件中。在您的情况下,我会将场景B、N、Q保留在一个特征文件中,B作为背景。

匿名用户

您可以使用Cucumber TestNg实现这一点,您将创建另一个当前运行程序依赖于它的运行程序类,并将其作为优先级0和当前运行程序优先级1,并将标签5步骤场景传递给第一个运行程序,并将下一个场景标签传递给当前运行程序。