How to execute only desired BDD scenarios

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.

Comments

    The Qt Company acquired froglogic GmbH in order to bring the functionality of their market-leading automated testing suite of tools to our comprehensive quality assurance offering.