Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/qmetry/qaf-cucumber

QAF BDD2 with cucumber runner
https://github.com/qmetry/qaf-cucumber

bdd2 cucumber java qaf qaf-bdd qaf-cucumber selenium-webdriver test-automation testng

Last synced: 3 months ago
JSON representation

QAF BDD2 with cucumber runner

Awesome Lists containing this project

README

        

[![License](https://img.shields.io/github/license/qmetry/qaf-cucumber.svg)](http://www.opensource.org/licenses/mit-license.php)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.qmetry/qaf-cucumber/badge.svg)](https://mvnrepository.com/artifact/com.qmetry/qaf-cucumber/latest)
[![javadoc](https://javadoc.io/badge2/com.qmetry/qaf-cucumber/javadoc.svg)](https://javadoc.io/doc/com.qmetry/qaf-cucumber)
# qaf-cucumber
This plug-in can be used for any of the following purpose:

* Use cucumber steps with QAF
* Use cucumber runner and all QAF BDD2 features

## How to use
Add [dependency](https://mvnrepository.com/artifact/com.qmetry/qaf-cucumber/2.1.15-beta-2) in your project.
### IVY
```

```
### Maven
```

com.qmetry
qaf-cucumber
version

```

This plug-in will work with cucumber 5+.
### Why BDD2 syntax
`BDD2` is super set of `Gherkin` syntax. Following are **additional features** in `BDD2` in addition to `Gherkin`:
* Custom Meta-Data
* Parameter support in step argument
* Examples from external source (`CSV`, `XML`, `JSON`, `EXCEL`, `DB`) with filter options

### Using qaf-cucumber with QAF BDD runner
When you are using QAF BDD runner you can use Cucumber 5 steps with QAF BDD or BDD2 or Gherkin.

##### Why QAF BDD runner
* Native TestNG implemenatation (All features of testNG)
* Multiple syntax support (QAF BDD, BDD2, Gherkin)
* Step Meta-data support
* Step retry support
* Supports step defined in BDD (non Java steps)
* Verification (also known as soft-assert) support
* Detailed live reporting
* TestNG Execution configuration

Belwo is basic TestNG configuration:
```xml






```
Refer [documentation](https://qmetry.github.io/qaf/latest/bdd-configuration.html) for more details.

### Using qaf-cucumber with Cucumber runner
When you want to use cucumber or cucumber runner you can get support of `BDD2` and QAF [detailed reporting](https://qmetry.github.io/qaf/latest/qaf_reporting.html).

##### QAF Over Cucumber
Following are **additional features** when used Cucumber with QAF:
* `BDD2` Support
* [Example from external file](https://qmetry.github.io/qaf/latest/bdd2.html#data-driven-scenario).
* Verification support
* [Resource Management](https://qmetry.github.io/qaf/latest/managing_resources_for_different_env.html)
* QAF [detailed reporting](https://qmetry.github.io/qaf/latest/qaf_reporting.html)
* Integration with third party tools
* QAF backend (like cucumber-java and cucumber-java8 backend)
* Inbuilt Web/MObile/Web-service functional test automation support

Required to add cucumber plugin `com.qmetry.qaf.automation.cucumber.QAFCucumberPlugin` to get above features with cucumber. Below is example with Junit

```
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"com.qmetry.qaf.automation.cucumber.QAFCucumberPlugin"}, )//
public class RunCucumberTest {
}
```
If you don't have qaf dashboard in your project, add it from [here](https://github.com/infostretch/qaf-report) for detailed report generated by QAFCucumberPlugin.

Refer [QAF](https://qmetry.github.io/) documentation to learn more about QAF.