Skip to main content
All CollectionsGetting StartedHow-To
Exporting Feature Files With Behave Pro
Exporting Feature Files With Behave Pro

Behave Pro can export all the BDD Scenarios for a Jira project to any Gherkin compatible BDD Automation tool - Cucumber, SpecFlow, etc...

Alan Parkinson avatar
Written by Alan Parkinson
Updated over 3 years ago

If you use a Git integrated project you will not need to use the build tools as this automatically commits your features to your Git repository.

Behave Pro is compatible with the Gherkin family of test automation tools; Cucumber, Cucumber-JVM, Cucumber-JS, SpecFlow (C#/.net), Behat (PHP) and Behave (Python). These all consume plain text feature files in the Gherkin format and Behave Pro generates this format for BDD scenarios and features. For certain programming languages and projects type Behave Pro can even display test results within Jira.

There two different project types in Behave Pro:

  • Classic - The original project type in Behave Pro where the data is stored inside Behave Pro and be exported by users or build tools to be executed as Automated tests

  • Git connected - A new project type where feature files are stored in the team's Git repository and any change made in Behave Pro to features or scenarios are committed directly to the git repository. Any commits made by testers or developers are synced back into Behave Pro and Jira.

For most projects, we recommend using a Git connected repository as it has the latest features that benefit teams the most. An important feature difference is Git connected projects support publishing test results to Jira from Cucumber and SpecFlow.

Git connected project - Test Automation advice

If a project uses Behave Pro's Git integration through GitHub, BitBucket or GitLab, then exporting is done automatically whenever scenarios are created within the acceptance criteria of the Jira issue. When changes are made to the acceptance criteria within the Jira issue, updates to the feature files or feature files are created within your git repository at the location specified during Behave Pro setup. If you need to check where the export location is, you can go to Project Settings > Behave Pro > Git Connector > Configure. If you want to change the repository, directory or branch you will need to disable and re-enable Behave Pro within the Jira project.

It's worth noting if you are using feature-branching, that when acceptance criteria is created a new branch is created using a format of <Jira-ID>-<Jira-Issue-Name>. The new features are created within the directory within that branch as specified above. If you are using a trunk-based strategy, it will not create a new branch and use the base branch that is specified.

Classic Project - Exporting for Test Automation

When using a classic project you have multiple options for how to export your feature files. If your attempting to export all of your files into your projects we strongly recommend using the build tools below. If you are after an individual feature or your working environment is not supported by Behave Pro you can create a script which can be shown in the, "All Features - CMD Line" section.

Build Tools

You can integrate one of Behave Pro's build tools into your projects build process to export all the feature files for your project to a local directory before executing Cucumber or your preferred automation tool of choice.

Please see this guide for detailed instructions on using the export functionality for classic projects.

Supported tools

Individual Features

To export a specific feature, you can navigate to the feature you want to export on the Requirements page. In the top-right of the feature you can find the download symbol marked with a yellow circle in the image below, clicking this will download the feature file with all scenarios related to it.

All Features - CMD Line

If you want to export all of the features in a Jira project, you can do this through curl or wget commands, please check out our comprehensive guide on this here.

Did this answer your question?