{"id":24059644,"url":"https://github.com/alisson-t-bucchi/cc360-selenium-cucumber-java","last_synced_at":"2026-05-21T05:05:23.473Z","repository":{"id":271122409,"uuid":"912459370","full_name":"alisson-t-bucchi/CC360-selenium-cucumber-java","owner":"alisson-t-bucchi","description":"BDD in a Page Object project of Full Search Automation Test on the Search 360 Page with Cucumber.","archived":false,"fork":false,"pushed_at":"2025-02-19T14:33:07.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-19T15:36:22.583Z","etag":null,"topics":["bdd-tests","cucumber-java","e2e-tests","gherkin","java","junit4","personal-project","pom","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alisson-t-bucchi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-05T16:27:40.000Z","updated_at":"2025-02-19T14:33:56.000Z","dependencies_parsed_at":"2025-01-05T17:27:31.418Z","dependency_job_id":"6f1986ac-cf4d-431c-a093-945aa820c248","html_url":"https://github.com/alisson-t-bucchi/CC360-selenium-cucumber-java","commit_stats":null,"previous_names":["alisson-t-bucchi/cc360-selenium-cucumber-java"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alisson-t-bucchi/CC360-selenium-cucumber-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisson-t-bucchi%2FCC360-selenium-cucumber-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisson-t-bucchi%2FCC360-selenium-cucumber-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisson-t-bucchi%2FCC360-selenium-cucumber-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisson-t-bucchi%2FCC360-selenium-cucumber-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alisson-t-bucchi","download_url":"https://codeload.github.com/alisson-t-bucchi/CC360-selenium-cucumber-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alisson-t-bucchi%2FCC360-selenium-cucumber-java/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264403799,"owners_count":23602621,"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":["bdd-tests","cucumber-java","e2e-tests","gherkin","java","junit4","personal-project","pom","selenium-webdriver"],"created_at":"2025-01-09T06:15:38.504Z","updated_at":"2026-05-21T05:05:18.437Z","avatar_url":"https://github.com/alisson-t-bucchi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BDD in a Page Object project of Full Search Automation Test on the Search 360 Page with Cucumber.  \nThis project uses **Cucumber**, **Selenium Webdriver**, and **Java** to automate the process of searching for information on the Search 360 page a onmichannel plataform by Cisco.  \nThe tests was organized with **JUnit 4** and interact with a web application to ensure the functionality of various forms and dropdowns.  \nThis project has POM.XML configuration to produce detailed error reports with **Surefire Reports** and insert in **DevOps methodology to be integrated in CD/CI pipeline** with **Jenkins** and **Docker**.   \n\n\n## Description\nThe goal of this project is to perform a complete search for information on the Search 360 page, covering data entry and interaction with various elements of the page interface, such as text fields, dropdown lists, and buttons.\n\n## Test Functionality\nThe automated test performs a sequence of actions as described in the Feature File of Cucumber. The flow includes:\n1. Opening the Search 360 page.\n2. Filling in reference, agent, email, and phone fields.\n3. Interacting with various page elements, such as service line, category, subcategory, reason, state, and period.\n4. Performing a search using the Search button.\n5. Interacting with additional elements such as Voice, Email, and Chat.\n6. Closing the page after the process is complete.\n\n## Prerequisites\nBefore running the tests, ensure you have the following installed:\n\n- **JDK 11 or higher**: Required for compiling and running Java code.\n- **Maven** or **Gradle**: To manage dependencies (choose one based on your preference).\n- **Selenium WebDriver**: To perform browser automation.\n- **WebDriverManager**: To automatically manage browser drivers.\n- **JUnit 4**: Testing framework used to organize and execute tests.\n- **ChromeDriver**: The WebDriver used for testing with Google Chrome.  \n\n## Dependencies\n\nYou can use **Maven** or **Gradle** to manage the dependencies.\n\n### Maven (`pom.xml`):\n\n```xml\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.seleniumhq.selenium\u003c/groupId\u003e\n        \u003cartifactId\u003eselenium-java\u003c/artifactId\u003e\n        \u003cversion\u003e4.0.0\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eio.github.bonigarcia\u003c/groupId\u003e\n        \u003cartifactId\u003ewebdrivermanager\u003c/artifactId\u003e\n        \u003cversion\u003e5.2.0\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.junit.jupiter\u003c/groupId\u003e\n        \u003cartifactId\u003ejunit-jupiter-api\u003c/artifactId\u003e\n        \u003cversion\u003e5.7.2\u003c/version\u003e\n        \u003cscope\u003etest\u003c/scope\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.junit.jupiter\u003c/groupId\u003e\n        \u003cartifactId\u003ejunit-jupiter-engine\u003c/artifactId\u003e\n        \u003cversion\u003e5.7.2\u003c/version\u003e\n        \u003cscope\u003etest\u003c/scope\u003e\n    \u003c/dependency\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecommons-io\u003c/groupId\u003e\n        \u003cartifactId\u003ecommons-io\u003c/artifactId\u003e\n        \u003cversion\u003e2.8.0\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n\n```\n\n\n## How to Run the Project\n1. Clone the repository:\n    git clone https://github.com/your-username/cucumber-automation.git\n    cd cucumber-automation\n\n2. Set up your environment:\n    If you don’t have Maven or Java set up yet, follow these instructions:\n    Maven: Official Maven Documentation\n    Java: Official Java Documentation\n\n3. Install dependencies: Run the following command to install the dependencies defined in the pom.xml file:\n    mvn clean install\n\n4. Run the tests: After installing the dependencies, run the tests with the command:\n    mvn test\n\n5. Results: The test results will be displayed in the terminal, and you can also check the execution report generated by Maven if you’ve set up a reporting plugin like Cucumber Reporting or Allure.\n\n6. Project Structure\nThe project is organized as follows:\n\n```\nCC360-selenium-cucumber-java/\nsrc\n|── main\n|   └── java\n|       └── pages                                   # Page Object localization\n|           ├── Search360Page.java                  # Include reusable methods for system searches iterations \n|       └── steps\n|           ├── BaseTest.java                       # Manage WebDriver lifecicle\n|           ├── DemoCC360AutomationCucumber.java    # Features steps described in .feature file\n|── test\n|   └── resources                                   # Gherkin scenarios tests\n|       ├── features\n|           ├── search360.feature\n|       └── config\n|           ├── cucumber.properties\n|\n├── pom.xml                                    # Maven configuration file\n└── README.md                                  # This file\n```\n\n7. Execution Flow:\n- Feature File (.feature):\n    Describes the test scenarios in Gherkin, as shown in the example above.\n\n- Step Definitions (DemoCC360AutomationCucumber.java):\n    Implements the steps described in the .feature file using the actions defined in the Page Object.\n\n- Page Object (Search360Page.java):\n    Encapsulates the selectors and interaction methods for the page being tested.\n\n- Driver Management (BaseTest.java):\n    Configures and terminates the WebDriver.\n\n## Important Files\n- pom.xml: Manages Maven dependencies and plugins.\n- search360.feature: The Gherkin file describing the feature and test scenarios.\n- DemoCC360AutomationCucumber.java: Defines the steps for Cucumber (BDD).\n- Search360Page.java: Contains the logic for interacting with the page interface.\n\n## Example .feature File\nThe search360.feature file contains the test scenario for the full search on the Search 360 page:\n\n```\nFeature: Perform a full search on the Search 360 page\n\n  Scenario Outline: Perform a full search on the Search 360 page\n    Given open the page\n    When I enter \"\u003creferencia\u003e\", \"\u003cagente\u003e\", \"\u003cemail\u003e\", and \"\u003ctelefone\u003e\"\n    And click on Service Line and select option\n    And click on Category and select option\n    And click on Sub-category and select option\n    And click on Reason and select option\n    And click on State and select option\n    And select a period\n    And click on Search\n    And click on Voice and close\n    And click on Email and close\n    And click on Chat and close\n    Then close the page\n\n    Examples:\n      | referencia   | agente   | email   | telefone   |\n      | \"referencia\" | \"agente\" | \"email\" | \"telefone\" |\n\n```\n\n## DemoCC360AutomationCucumber.java File\nThe Cucumber step definitions file (DemoCC360AutomationCucumber.java) implements the logic for each of the steps defined in the .feature file.\n\n### Additional Information\n    \n- WebDriver: The tests are configured to use Google Chrome. To use another browser (e.g., Firefox), modify the driver = new ChromeDrive (); line in the code.\n\n- WebDriverManager: Automatically manages the browser driver, ensuring compatibility between the Selenium version and the browser's driver.\n    \n- JUnit: Tests are organized using JUnit 4, and execution order is based on method names (due to the @FixMethodOrder(MethodSorters.NAME_ASCENDING) annotation).  \n\n\n## Contribution\nIf you would like to contribute to the project, follow these steps:\n1. Fork this repository.\n2. Create a branch for your modifications (git checkout -b feature/new-feature).\n3. Make the necessary changes.\n4. Submit a pull request.\n\n## License\nThis project is licensed under the MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falisson-t-bucchi%2Fcc360-selenium-cucumber-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falisson-t-bucchi%2Fcc360-selenium-cucumber-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falisson-t-bucchi%2Fcc360-selenium-cucumber-java/lists"}