@qavajs/template

0.8.2 • Public • Published

@qavajs/template

Library that allow to define step definitions on Gherkin language.

Templates

Feature: Templates

  Scenario: I login
    When I open 'https://your-app.com'
    And I type 'username' to 'Login Form > Username Input'
    And I type 'password' to 'Login Form > Password Input'
    And I click 'Login Form > Login Button'

Then following template can be called from scenario as simple step

Feature: Auth

  Scenario: Verify that user is able to login
    When I login
    Then I expect 'Header' to be visible

Configuration

To use templates their location need to be passed to templates property of config file and library need to be listed in require

module.exports = {
    default: {
        requireModule: [
            '@qavajs/template'
        ],
        templates: ['templates/*.feature']
    }
}

Parameters

Templates also can accept parameters as <param> e.g

Feature: Templates

  Scenario: I login as '<username>' with '<password>' password
    When I open 'https://your-app.com'
    And I type '<username>' to 'Login Form > Username Input'
    And I type '<password>' to 'Login Form > Password Input'
    And I click 'Login Form > Login Button'

Then following template can be called with actual params

Feature: Auth

  Scenario: Verify that user is able to login
    When I login as 'admin' with 'admin' password
    Then I expect 'Header' to be visible

Multiline parameter

It is also possible to pass multi line parameter to template

Feature: TextArea

  Scenario: Verify that user is able to login
    When I set text area:
    """
    this
    is
    multiline
    text
    """

Multiline data can be accessed by <qavajsMultiline> formal parameter in template

Feature: Templates

  Scenario: I set text area:
    When I type '<qavajsMultiline>' to 'Form > Text Area'

Key Value Params

Multiple parameters can be passed in form of key-value data table

Feature: TextArea

  Scenario: Verify that user is able to login
    When I fill registration form:
      | name     | John Dou                 |
      | position | Test Automation Engineer |

And values can be accessed by corresponding keys

Feature: Templates

  Scenario: I fill registration form:
    When I type '<name>' to 'Form > Name'
    When I type '<position>' to 'Form > Position'

Dependencies (1)

Dev Dependencies (24)

Package Sidebar

Install

npm i @qavajs/template

Weekly Downloads

103

Version

0.8.2

License

MIT

Unpacked Size

42.8 kB

Total Files

17

Last publish

Collaborators

  • alexandr_legchilov
  • kirill_bogdanets
  • alexgalichenko