通过使用标记在量角器中仅执行一个要素文件

问题描述 投票:1回答:2

我试图在量角器中运行一个功能文件。我知道我可以在protractor.conf.js中声明该文件,但我也看到了使用标记的解决方案:

在一个功能文件中,可以在文件的开头插入一个标记,如下所示:

@onlyRunThis

和量角器只会执行该文件。 (人们可以将其称为E2E-相当于“fdescribe”)

我该如何实现这样的标签?我甚至可以在量角器/黄瓜中实现自己的标签吗?如你所见,我对整个事情都很粗略。

我确实在SO上找到了另一个问题,它解决了同样的问题(How to run only one feature file when running protractor with cucumber?),但没有一个解决方案适合我。

谢谢! :-)

angular protractor cucumberjs
2个回答
0
投票

使用可以在量角器黄瓜中使用标签,但它将在功能级别。当您将标记作为参数传递时,将扫描所有要素文件(与规格配置相匹配)以查找这些标记。它如下:

  1. 如果我有2个特征文件,每个特征文件有3个场景,但每个特征文件只有一个场景有一个标签@onlyRunThis,那么在命令行中传递标签@onlyRunThis将只运行每个特征文件中的这两个场景。
  2. 如果我有2个特征文件,每个特征文件有3个场景,但只有第二个特征有一个带有标签@onlyRunThis的场景,那么在命令行中传递标签@onlyRunThis会尝试执行两个特征文件,结果如下:0场景来自feature-file-2的feature-file-1&1场景

如果您只想在特定功能文件中执行标记,可以按如下方式执行:

protractor conf.js --specs=feature-file-1.feature --tags=@onlyRunThis

0
投票

上述解决方案对我不起作用。以下应该有效

protractor conf.js --cucumberOpts.tags="@onlyRunThis"

这将运行所有设置了标签@onlyRunThis的场景。向功能添加标签时,会运行其中的所有方案。

如果您不想为此使用标记,则可以调用该命令

protractor conf.js --specs=path/to/feature

两者都适合我。

© www.soinside.com 2019 - 2024. All rights reserved.