{"id":18697451,"url":"https://github.com/frameworkium/frameworkium-bdd","last_synced_at":"2025-04-12T07:32:07.162Z","repository":{"id":10772991,"uuid":"62046365","full_name":"Frameworkium/frameworkium-bdd","owner":"Frameworkium","description":"Integration of Cucumber BDD and frameworkium-core to offer support for using tests written as feature files.","archived":false,"fork":false,"pushed_at":"2023-01-25T12:33:24.000Z","size":1163,"stargazers_count":15,"open_issues_count":7,"forks_count":19,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-03-27T12:22:06.573Z","etag":null,"topics":["automation","bdd","cucumber-jvm","selenium","selenium-webdriver"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Frameworkium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-27T10:08:32.000Z","updated_at":"2024-01-12T08:20:01.000Z","dependencies_parsed_at":"2023-02-14T07:20:16.718Z","dependency_job_id":null,"html_url":"https://github.com/Frameworkium/frameworkium-bdd","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frameworkium%2Fframeworkium-bdd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frameworkium%2Fframeworkium-bdd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frameworkium%2Fframeworkium-bdd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frameworkium%2Fframeworkium-bdd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Frameworkium","download_url":"https://codeload.github.com/Frameworkium/frameworkium-bdd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223503878,"owners_count":17156223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bdd","cucumber-jvm","selenium","selenium-webdriver"],"created_at":"2024-11-07T11:24:23.000Z","updated_at":"2024-11-07T11:24:23.780Z","avatar_url":"https://github.com/Frameworkium.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Frameworkium-BDD\n\n![build](https://github.com/frameworkium/frameworkium-bdd/workflows/frameworkium-bdd%20build/badge.svg)\n![release](https://img.shields.io/github/v/release/frameworkium/frameworkium-bdd)\n\nThis is a Cucumber implementation of [Frameworkium][frameworkium],\nit utilises [frameworkium-core][core] with an added BDD layer,\nprovided by Cucumber-JVM, to give you a BDD Automation solution.\n\n## Getting Started\n\n1. Clone this project `git clone https://github.com/Frameworkium/frameworkium-bdd.git`\n2. Create your own package for your project under `src/test/java`\n3. Create a `glue` package within your project package where you will put all your step definition classes\n4. Add your glue packages to the `glue` parameter of the `@CucumberOptions`\n   inside `UITestRunner` and `APITestRunner`\n5. Create a `pages` package within your project package where you will put your page object classes\n6. Create feature files in `src/test/resources/features`\n7. Run all tests using `mvn clean verify`\n\n## Project Layout\n\nFrameworkium-BDD uses conventional Cucumber-JVM layout as shown below. The main\npackage and features package path is already configured within the `pom.xml` so\nthat TestNG knows where all the necessary components are when tests are run.\n\nThe layout looks something like this\n\n```\n.\n├── src/\n|    ├── test/\n|        ├── java/\n|        |   └── com.your.package/\n|        |       ├── glue/\n|        |       |   └──SomeSteps.java\n|        |       └── pages/\n|        |           └──PageObject.java\n|        └── resources/\n|            ├── features/\n|            |\t└── Feature_file.feature\n└── pom.xml\n```\n\nAn overview of some of the important packages.\n\n| Package/file  | Description |\n| ------------- | ------------- |\n| glue  | Contain your 'step definition' classes (e.g SomeSteps.java) which join together the page objects with the feature files |\n| pages  | Contain page object classes |\n| features  | Contain your 'feature files' which hold all your test scenarios |\n\n## Running Tests\n\n### Command Line Options\n\nSee the main [Frameworkium docs](https://frameworkium.github.io/#_pages/Command-Line-Options.md)\nfor the full list of command line options.\nThe only addition we have made is adding a `tags` parameter to select the\ncucumber tests you to run (this replaces the `tests` and `groups` TestNG parameters used in Frameworkium).\n\n\nIf no tag property is set all tests, excluding those tagged with `@ignore` will be executed.\n\n#### Examples\n\nRun all tests with the @smoke tag\n```\nmvn clean verify -Dcucumber.options=\"--tags @smoke\"\n```\n\nRun all test that do NOT have the tag @wip\n```\nmvn clean verify -Dcucumber.options=\"--tags not @wip\"\n```\n\nRun all test that have the tag @p1 OR @smoke\n```\nmvn clean verify -Dcucumber.options=\"--tags @p1,@smoke\"\n```\n\nComprehensive docs on cucumber tagging can be found on the official\n[cucumber docs](https://cucumber.io/docs/cucumber/api/#tags).\n\n### API tests\n\nTag your API Scenarios with the `@api` tag so the `APITestRunner` is used,\notherwise a browser window will be opened for each test, slowing it down!\nThis also means you could have UI and API scenario's in the same feature file if you wished.\n\nYou can also use one tag at the feature level to create an API runner for all\ntests in the feature file.\n\n### Parallel Execution \n\nWorks the same as in core e.g. `-Dthreads=4`.\n\n## Reporting\n\nThe Allure reporting used in Frameworkium is also used with this framework\ngenerated by running `mvn allure:report`.\nSee the [main Frameworkium docs](https://frameworkium.github.io/#_pages/Allure-Reporting.md) for more info. \n\n### Zephyr Integration \n\nYou can also report test results back to zephyr although a different tag is\nrequired from Frameworkium in the format `@TestCaseId(TEST-1)`.\nSee the main Frameworkium *[docs](https://frameworkium.github.io/#_pages/ZephyrJiraLogging.md)* for more info \n\n\n[status-svg]: https://travis-ci.org/Frameworkium/frameworkium-bdd.svg?branch=master\n[status]: https://travis-ci.org/Frameworkium/frameworkium-bdd\n[frameworkium]: https://github.com/Frameworkium/frameworkium\n[core]: https://github.com/Frameworkium/frameworkium-core\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframeworkium%2Fframeworkium-bdd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fframeworkium%2Fframeworkium-bdd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframeworkium%2Fframeworkium-bdd/lists"}