- Project Description
- Project Structure
- Technologies Used
- Installation
- Usage
- Dependencies
- User Stories & Test Scenarios
- Test Coverage Table
- Test Reports
- Bug Reports
- Project Team
- GitHub Links
- License
- Contact
This project automates functional UI tests for the E-Junkie demo shop using Java, Selenium WebDriver, Cucumber, TestNG, and the Page Object Model (POM). The project adopts BDD principles and parallel test execution for scalable automation.
πͺ Key Features:
- Cucumber with Gherkin syntax for human-readable test cases
- TestNG + XML execution with browser parameterization
- Thread-safe WebDriver management with
ThreadLocal - ExtentReports Integration for both HTML and PDF reporting
E-JunkieDemoShopProject_Cucumber/
βββ src/
β βββ test/
β β
β βββ java/
β β βββ featureFiles/ # .feature files written in Gherkin
β β βββ hooks/ # Cucumber Hooks (Before/After)
β β βββ pages/ # Page Object Model classes
β β βββ runners/ # TestNG runner classes
β β β βββ XML/ # TestNG XML configuration files
β β βββ stepDefinitions/ # Cucumber step definitions
β β βββ utilities/ # Driver, ConfigReader, ExtentReportManager, etc.
β βββ resources/
β βββ fonts/ # Fonts used in reports
β βββ extent.properties # ExtentReports configuration
β βββ pdf-cucumber-report-config.yaml
βββ testGifs/ # GIFs used in reports
βββ testReports/ # Spark & PDF report output (auto-generated)
βββ configuration.properties # General test configuration
βββ pom.xml # Maven build configuration
βββ README.md
| Tool / Library | Description |
|---|---|
| Java JDK 21 | Programming Language |
| Selenium WebDriver 4.31.0 | Web Automation Library |
| Cucumber 7.20.0 | BDD Testing Framework |
| TestNG 7.10.2 | Test Execution Engine |
| ExtentReports + Adapter 1.14.0 | Spark + PDF reporting integration |
| Apache POI 5.2.5 | Excel File Handling |
| Maven | Project Build + Dependency Manager |
| SLF4J + Log4j | Logging |
| Healenium-web | Locator catching |
- Clone the repository:
git clone https://github.com/zaferatakli/E-JunkieDemoShopProject_Cucumber.git
- Open the project in IntelliJ IDEA or your preferred IDE.
- Run:
mvn clean install
- To execute all tests with default configuration:
mvn test - To run specific browser tests:
- Open
singleBrowserTesting.xmlorparallelBrowserTesting.xmlin therunners/XML/folder. - Right-click and run the XML file.
- Open
All required dependencies are declared in pom.xml.
Ensure Maven updates all packages automatically.
Key dependencies include:
- Selenium
- Cucumber Java & TestNG
- ExtentReports (Spark & PDF)
- SLF4J + Log4j
- Healenium-web
π As a customer, I want to add an eBook to the basket and try applying an invalid promo code, so I can check whether the system correctly displays the "Invalid promo code" warning.
β Expected: "Invalid promo code" warning message is displayed after clicking βApply.β
β Actual: After adding the eBook to the basket and entering an invalid promo code, the system displayed the warning message "Invalid promo code" upon clicking βApply.β
π As a customer, I want to attempt payment without entering required fields like email or billing name, so I can confirm that the form validations are triggered.
β Expected: "Invalid email" and "Invalid billing name" error messages are displayed.
β Actual: When the required fields like email and billing name were left empty, the system triggered the form validations and displayed the error messages "Invalid email" and "Invalid billing name."
π As a customer, I want to enter a fake card number during payment so I can verify that the system blocks invalid card details.
β Expected: "Your card number is invalid" warning appears.
β Actual: When a fake card number was entered, the system correctly blocked the payment and displayed the warning message "Your card number is invalid."
π As a customer, I want to complete the payment with valid card details so I can receive confirmation of a successful purchase.
β Expected: "Your order has been confirmed. Thank you!" is displayed.
β Actual: The payment was completed successfully with valid card details, and the message "Your order has been confirmed. Thank you!" was displayed.
π As a customer, I want to be able to download the eBook immediately after a successful purchase.
β Expected: File download starts and matches the purchased content.
β Actual: The eBook download started immediately after the successful purchase and matched the purchased content.
π As a customer, I want to send a message through the contact form to get support, and if CAPTCHA is not verified, I should be warned.
β Expected: Positive scenario -> "Message sent successfully" message appears. Negative scenario -> "Recaptcha did not match" error message appears. β Actual: The contact form was submitted successfully, and the message "Recaptcha did not match" appeared.
π As a customer, I want to navigate from the demo site to the official e-junkie homepage to verify the redirection works correctly.
β Expected: Final URL matches e-junkie.com.
β Actual: Final URL matched e-junkie.com.
π As a customer, I want to play the 'How it works' video and ensure it starts, plays for 10 seconds, and closes properly.
β Expected: Video plays and closes after 10 seconds.
β Actual: The video started playing successfully, continued for 10 seconds, and closed as expected without any issues.
| User Story | Description | Status |
|---|---|---|
| US_301 | Add eBook and apply invalid promo code | β Passed |
| US_302 | Payment attempt with missing info | β Passed |
| US_303 | Payment with fake card | β Passed |
| US_304 | Successful payment with valid card | β Passed |
| US_305 | eBook download after purchase | β Passed |
| US_306 | Contact form captcha validation | β Passed |
| US_307 | Logo click navigates to homepage | β Passed |
| US_308 | Play and close "How it works" video | β Passed |
| Scenario | Priority |
|---|---|
| Add to cart + invalid promo | Medium |
| Missing email or name in payment | High |
| Fake card number | High |
| Valid payment and success message | High |
| eBook download available | High |
| Contact form without captcha | Medium |
| Homepage redirection | Low |
| Video functionality | Low |
| Report Type | Description |
|---|---|
| Spark Report | Rich HTML report with steps/screenshots |
| PDF Report | Clean summary with scenario results |
Find reports inside:
/testReports/SparkReport/
/testReports/PDFReport/
Bug reports are tracked in the GitHub Issues section of the repository.
- No bugs have been found.
| Name | Role | User Stories |
|---|---|---|
| Zafer AtaklΔ± | Project Lead & QA Engineer | US_306, US_307 |
| RΔ±fat BatΔ±r | QA Engineer | US_304, US_305 |
| Azim Korkmaz | QA Engineer | US_302 |
| Nuri ΓztΓΌrk | QA Engineer | US_308 |
| Tugba Kilic | QA Engineer | US_301, US_303 |
- π Main Repository
Contributors:
This project is licensed under the MIT License.
For any questions or suggestions, please reach out via GitHub or team leads listed above.







