Ruby gem

AssertThat - BDD & Cucumber for Jira provides a Ruby plugin to enable integration with your automated test framework:

The plugin performs 2 main functions:

Download Feature files - download_features

The scenarios and feature files can be downloaded from the plugin into your automation test framework using the plugin provided. In addition to using tags to filter the scenarios for execution, the plugin provides 3 optional fields:

Upload test results (cucumber json file) into AssertThat - upload_report

The AssertThat - BDD Test Automation in Jira will parse the results of the cucumber json file and load them so that the results can be viewed in Jira alongside the user stories - Test Execution status for User Stories. The automated test results will automatically be linked to existing defects and the results loaded into the reporting tool. The failed tests can then be easily reviewed and assigned for further analysis - Automated Test Report Analysis.

Mandatory fields

The only mandatory field required is the projectId. The following parameters are also required however can be passed as environment variables - ASSERTTHAT_ACCESS_KEY and the ASSERTTHAT_SECRET_KEY. All 3 parameters are available from the AssertThat Configuration page - AssertThat Configuration.

Usage - GemFile

Installation

To add to the Gemfile

1 gem 'assertthat-bdd', '~> 1.0', '>= 1.4.0'

Rake

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 require 'assertthat-bdd' task :download_features do AssertThatBDD::Features.download( #Optional can be supplied as environment variable ASSERTTHAT_ACCESS_KEY accessKey:'ASSERTTHAT_ACCESS_KEY', #Optional can be supplied as environment variable ASSERTTHAT_SECRET_KEY secretKey:'ASSERTTHAT_SECRET_KEY', #Required for Jira Server only. Omit if using Jira Cloud version jiraServerUrl: 'https://mycompanyjira.com' #Required Jira project id e.g. 10001 projectId: 'PROJECT_ID', #Optional - default ./features outputFolder: './features/', #Optional proxy url to connect to Jira proxy: 'PROXY_URL', #Optional - default automated (can be one of: manual/automated/both) mode: 'automated', #Optional - tag expression filter for scenarios. More on tag expressions https://cucumber.io/docs/cucumber/api/#tag-expressions tags: '(@smoke or @ui) and (not @slow)', #Optional - all features downloaded by default - should be a valid JQL jql: 'project = XX AND key in (\'XXX-1\')' ) end task :upload_report do AssertThatBDD::Report.upload( #Optional can be supplied as environment variable ASSERTTHAT_ACCESS_KEY accessKey:'ASSERTTHAT_ACCESS_KEY', #Optional can be supplied as environment variable ASSERTTHAT_SECRET_KEY secretKey:'ASSERTTHAT_SECRET_KEY', #Required for Jira Server only. Omit if using Jira Cloud version jiraServerUrl: 'https://mycompanyjira.com' #Jira project id e.g. 10001 projectId: 'PROJECT_ID', #The name of the run - default 'Test run dd MMM yyyy HH:mm:ss' runName: "Dry Tests Run", #Json report folder - default ./reports jsonReportFolder: "reports", #Regex to search for cucumber reports - default .*.json jsonReportIncludePattern: ".*/cucumber.json" ) end

Usage - Command line

Command line installation

1 gem install assertthat-bdd
  • For downloading features refer to usage below (one required parameter is projectId)

Download feature files

1 2 3 4 5 6 7 8 9 10 11 12 13 14 assertthat-bdd-features -h Usage: assertthat-bdd-features [options] -a, --accessKey ACCESS_KEY Access key same as env variable ASSERTTHAT_ACCESS_KEY -s, --secretKey SECRET_KEY Secret key same as env variable ASSERTTHAT_SECRET_KEY -u, --jiraServerUrl SERVER_URL Jira Server URL (Only for jira server integration) e.g. https://mycompanyjira.com -p, --projectId PROJECT_ID Jira project id -o, --outputFolder OUTPUT_FOLDER Featured output folder - default ./features -m, --mode MODE Mode one of automated,manual,both - deafult automated -t, --tags <tag-expression> Cucucmber tag expression for scenarios filtering -j, --jql JQL_FILTER Jql issues filter -x, --proxy PROXY_URL proxy url to connect to Jira -h, --help Show help -v, --version Show version

Upload test results

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 assertthat-bdd-report -h Usage: assertthat-bdd-report [options] -a, --accessKey ACCESS_KEY Access key same as env variable ASSERTTHAT_ACCESS_KEY -s, --secretKey SECRET_KEY Secret key same as env variable ASSERTTHAT_SECRET_KEY -u, --jiraServerUrl SERVER_URL Jira Server URL (Only for jira server integration) e.g. https://mycompanyjira.com -p, --projectId PROJECT_ID Jira project id -n, --runName RUN_NAME The name of the run - default 'Test run dd MMM yyyy HH:mm:ss' -f JSON_FOLDER_PATH, Json report folder - default ./reports --jsonReportFolder -i INCLUDE_REGEX, Regex to search for cucumber reports - default .*.json --jsonReportIncludePattern -x, --proxy PROXY_URL proxy url to connect to Jira -h, --help Show help -v, --version Show version -q, --jql [JQL] JQL filter for Jira issues to update with test results

Example project

Refer to example project for running using Rake assertthat-bdd-ruby-example