1.0.0 • Published 1 year ago
@qavajs/template v1.0.0
@qavajs/template
Library that allow to define step definitions on Gherkin language.
Installation
npm install @qavajs/template
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 visibleConfiguration
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 visibleMultiline 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'