Cucumber指定测试用例

Tag标签
Cucumber 支持为 Scenario 指定标签(tag),tag 是以“@”字符开头的一个单词,用来表述被修饰对象(可以是 feature,可以是 scenario,可以是 scenario outline 甚至可以是 scenario outline 下的 examples)所属的类别。Tag 可以是一个,也可以是多个,Cucumber 本身并不限制 tag 的个数。
Tag 位置解析

Tag 所修饰对象 表述的意义
Feature 该 Feature 文件中的所有 Scenario 和 Scenario Outline 都会继承修饰在 Feature 的 tag
Scenario / Scenario Outline 表示 tag 适用于 Scenario/Scenario Outline,Scenario Outline 下的 Examples 会继承定义在其上的 tag
Examples 只对 Scenario Outline 及当前的 Examples 有效

按照 tag 指定测试用例

  1)运行指定的单个 tag 对应的测试用例:

   @CucumberOptions(tags = {"@test"}, features = {…略…})

   该配置只会运行 features 中那些被标记为“@test”tag 的场景

  • 2)运行 @test1 或者 @test2 对应的测试用例
  • @CucumberOptions(tags = {"@test1,@test2"}, features = {…略…})
  • 该配置可以运行 features 中那些被标记为“@test1”和被标记为“@test2”的场景。此处的逗号可以被理解为逻辑上的“OR”关系运算符,因此运行的结果是二者或者多个 tags 的并集。

  • 3)运行被 @test1 标记并且 @test2标记的测试用例
  • @CucumberOptions(tags = {"@test1","@test2"}, features = {…略…})
  • 该配置可以运行 features 中那些既被 @test1标记又被@test2 标记的测试用例。
  • 4)不运行被 @test1 标记但是被 @test2 标记的测试用例
  • @CucumberOptions(tags = {"~@test1","@test2"}, features = {…略…})
  • 该配置可以运行 features 中那些被标记为 @test2 但是不被 tag @test1 修饰标记的测试用例。此处的“~”表示否定的意思。

你可能感兴趣的:(Cucumber)