Control testcase using multiple tags in Scenario Outline

Dahun Yoo·2020년 12월 30일
0
post-thumbnail

Scenario outline에서, 여러개의 태그를 섞어서 사용해야할 경우도 있습니다. 이 때, 각각의 example마다 다른 태그를 지정해줄 수 있습니다.

  @Library
  Scenario Outline: Verify AddBook API functionality
    # Enter steps here
    Given the Book details with <isbn> and <aisle>
    When We execute the AddBook PostAPI method
    Then book is successfully added
    Examples:
      |isbn  | aisle  |
      |isbn20 | 23219231  |
      |isbn17 | 234 |

위와 같은 Scenario가 있다고 가정해봅시다. 이때 example이 2줄이므로, 해당 시나리오 아웃라인은 2번을 연달아 실행하는데요, 각 example마다 다른 태그를 지정하고 싶을 때는 어떻게 해야할까요?


그 때는 각 example마다 태그를 달아주면 됩니다.

  @Library
  Scenario Outline: Verify AddBook API functionality
    # Enter steps here
    Given the Book details with <isbn> and <aisle>
    When We execute the AddBook PostAPI method
    Then book is successfully added
    @Regression
    Examples:
      |isbn  | aisle  |
      |isbn20 | 23219231  |
    @Smoke
    Examples:
      |isbn  | aisle  |
      |isbn17 | 234 |

cucumber에서 태그는 각각의 example에게 상속이 됩니다. 즉, 모든 example들은 Scenario outline본체의 @Library를 가지고 있다는 것이지요.

또한 실행 시에 @Regression 태그만 지정하고 실행한다면, 하나의 Scenario outline이라고 할 지언정, 해당 태그를 가진 example만 실행되게 됩니다.

Behave BehaviorDataDriven/features --tags="@Regression"

이렇게 @Smoke 태그를 가진 example은 skip된 것을 알 수 있습니다.

이렇게 태그를 적절히 사용해주면, 다른 툴과의 연계도 좀 더 쉬워질 것 입니다.
가령 테스트케이스 관리툴인 Testrail 과의 연계시에, 태그에 Testrail의 테스트케이스 번호를 기재해주고, 각각의 시나리오 혹은 시나리오 아웃라인이 실행됨에 따라, 지정한 테스트 케이스의 결과를 갱신할 수도 있을 것 입니다.

profile
QA Engineer

0개의 댓글