When doing BDD testing sometimes there is a need to execute only certain scenarios instead of all the scenarios of the feature file.
Tags are a great way to organize/group your Scenarios. One can use squishrunner
's --tags
option to execute just those BDD secnarios which match a given tag filter.
Setting a tag filter for BDD scenarios:
In the example below @foo
and @bar
tags are used to tag scenarios.
Feature: Filling of addressbook
As a user I want to fill the addressbook with entries
@foo
Scenario: Initial state of created address book
Given addressbook application is running
When I create a new addressbook
Then addressbook should have zero entries
@bar
Scenario: State after adding one entry
Given addressbook application is running
When I create a new addressbook
And I add a new person 'John','Doe','john@m.com','500600700' to address book
Then '1' entries should be present
@foo @bar
Scenario: State after adding two entries
Given addressbook application is running
When I create a new addressbook
And I add new persons to address book
| forename | surname | email | phone |
| John | Smith | john@m.com| 123123 |
| Alice | Thomson | alice@m.com/ 234234 |
Then '2' entries should be present
@bar
Scenario: Forename and surname is added to table
Given addressbook application is running
When I create a new addressbook
When I add a new person 'Bob','Doe','Bob@m.com','123321231' to address book
Then previously entered forename and surname shall be at the top
Now, when we want to execute only the scenarios tagged @foo
, we can use squishrunner with tags option as shown below:
squishrunner --testsuite C:\Users\suite_BDD_Delte --testcase tst_case7 --tags @foo
Syntax for different use-cases:
--tags foo
Executes all scenarios or test scripts with the tag foo.
--tags ~foo
Executes all scenarios or test scripts not tagged foo.
--tags foo,bar
Executes all scenarios or test scripts tagged either foo or bar (or both).
--tags foo --tags bar
Executes all scenarios or test scripts tagged both foo and bar.
--tags foo,bar --tags yoyo
Execute all scenarios or test scripts with the tag yoyo and one (or both) of foo and bar.