Sync cucumber automation test results with your testrail suite
MIT License
Sync
cucumber
automation test results with your testrail suite. Discover an example with Cucumber in this gem source.
clean_testrun
is set true
testrail-rspec
execution on-demandAdd this line to your application's Gemfile:
gem 'testrail-cucumber'
And then execute:
$ bundle
Or install it yourself as:
$ gem install testrail-cucumber
Import the library in your env.rb
file
require 'testrail-cucumber'
Prefix testrail case id(s) on start of your cucumber scenario or scenario outline; say, C860
@your_tag
Scenario: C860 Verify the home page
Given I navigate to "home" page
Then I verify the home page
Scenario: C860 C862 C863 Verify the home page
Given I navigate to "home" page
Then I verify the home page
Scenario Outline: C853 Verify Google search
And I search for <keyword>
Then I verify <result> in the search result page
Examples:
| keyword | result |
| Jesus | Jesus |
| Bible | My saviour |
Create a config file, testrail_config.yml
in the project's parent folder
Enter the testrail details based on demand
To execute tests against the existing Test Run
,
testrail:
url: https://your_url.testrail.io/
user: [email protected]
password: ******
run_id: 111
Here, run_id
is the dynamically generated id from your testrail account (say, run_id: 111
)
To create a dynamic Test Run
and to update results,
testrail:
url: https://your_url.testrail.io/
user: [email protected]
password: ******
project_id: 10
suite_id: 110
Here, project_id
and suite_id
are the dynamically generated id from your testrail account; run_id
is optional in this case.
To delete all test-runs before execution,
testrail:
url: https://your_url.testrail.io/
user: [email protected]
password: ******
clean_testrun: true
project_id: 10
suite_id: 110
Set, clean_testrun: false
if you don't want to clean the existing test runs; but this keyword is optional.
Skip specific test-runs from deletion: set clean_testrun: true
& skip_testrun_ids: value, ...
testrail:
url: https://your_url.testrail.io/
user: [email protected]
password: ******
clean_testrun: true
skip_testrun_ids: 473, 475
project_id: 10
suite_id: 110
Here, skip_testrun_ids: value
is optional.
Disable testrail-rspec
execution: set allow: yes
testrail:
url: https://your_url.testrail.io/
user: [email protected]
password: ******
run_id: 111
allow: no
Here, allow: yes
is optional.
Use Environment variables to pass testrail config values
testrail:
url: ENV['URL']
user: ENV['TESTRAIL_USER']
password: ENV['TESTRAIL_PASSWORD']
run_id: ENV['RUN_ID']
clean_testrun: false
project_id: 10
suite_id: 110
Example, rake ./demo_spec.rb [email protected] TESTRAIL_PASSWORD=****** RUN_ID=564 URL=https://your_url.testrail.io/
Update the results through Hooks
on end of each test
After do |scenario|
TestrailCucumber::UpdateTestRails.new(scenario).upload_result
end
Yes, you can use this cucumber
demo as an example, https://github.com/prashanth-sams/testrail-cucumber/features
rake test