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

时间:2017-08-21 16:53:31

标签: angular protractor cucumberjs

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

在要素文件中,可以在文件的开头插入标记,如下所示:

@onlyRunThis

和量角器只会执行该文件。 (人们可以将其称为E2E等同于" fdescribe")

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

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

谢谢! : - )

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

上述解决方案不适用于我。 以下应该可以工作

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

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

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

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

为我工作。