Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/daryaandreyuk/music-quiz-automation

Portfolio project. UI Automation Testing for Music Quiz
https://github.com/daryaandreyuk/music-quiz-automation

allure-report junit5 locators maven pageobjectmodel selenium-webdriver uitesting

Last synced: 10 days ago
JSON representation

Portfolio project. UI Automation Testing for Music Quiz

Awesome Lists containing this project

README

        

# Music Quiz UI Automation framework

## This is portfolio project on automation of test scripts using UI tests for [wro.mzgb.net](https://wro.mzgb.net/)

## Contents:

- [Technology stack used](https://github.com/DaryaAndreyuk/music-quiz-automation/tree/fb_DaryaAndreyuk_18_AddReadMe?tab=readme-ov-file#technology-stack-used)
- [Instructions to Create a Valid `Sheet.xlsx` File](https://github.com/DaryaAndreyuk/music-quiz-automation/tree/fb_DaryaAndreyuk_18_AddReadMe?tab=readme-ov-file#instructions-to-create-a-valid-sheetxlsx-file)
- [Running the Tests from the terminal](https://github.com/DaryaAndreyuk/music-quiz-automation/tree/fb_DaryaAndreyuk_18_AddReadMe?tab=readme-ov-file#running-the-tests)
- [Viewing Allure Reports](https://github.com/DaryaAndreyuk/music-quiz-automation/tree/fb_DaryaAndreyuk_18_AddReadMe?tab=readme-ov-file#viewing-allure-reports)
- [Build with Github Actions](https://github.com/DaryaAndreyuk/music-quiz-automation/tree/fb_DaryaAndreyuk_18_AddReadMe?tab=readme-ov-file#build-with-github-actions)

## Technology stack used


Selenium
Selenium Grid
Intellij_IDEA
Java
Allure_Report
Maven
Github Actions
GitHub
JUnit5

In this project, automated tests are written in `Java 21` using the `Selenium` framework for UI testing.

- `Maven` is used as the build tool.
- `JUnit5` is the testing framework.
- `Allure` is integrated for generating test reports.
- The `Page Object Model` design pattern is implemented to separate the test logic from the UI structure, making the code more maintainable and reusable.
- For remote test execution, the project is set up with `Github Actions` which builds the tests, generates an `Allure` report, and publishes the results on `Github Pages`.
- Configured cloud-based testing with `Selenium Grid` for distributed and parallel test execution.
- Ensured security by masking sensitive data in the reports and automation processes.
- Implemented parameterized testing to optimize test case flexibility and scalability using `JUnit` annotations

## Instructions to Create a Valid `Sheet.xlsx` File

To create a valid `src/test/resources/data/Sheet.xlsx` file based on a template, follow these steps:

### Step 1: Locate the Template

A template file named `SheetTemplate.xlsx` is provided in the repository at `src/test/resources/data/SheetTemplate.xlsx`.

### Step 2: Copy the Template

Copy the `SheetTemplate.xlsx` file to create a new file named `Sheet.xlsx` in the same directory.

### Step 3: Open the Sheet.xlsx file in Excel or any other spreadsheet editor.
Make sure to fill in the required data fields as shown below:

### Example `Sheet.xlsx`

Here’s a detailed view of what the `SheetTemplate.xlsx` file should contain:

| Name | John |
| Phone | 48152829319 |
| Email | [email protected] |
| Team | DreamTeam |
| Number of teammates | 7 |
| Password | strongpass!@#$%57 |

Make sure each field corresponds to the expected format and content based on your application's requirements.

## Running the Tests

To execute all the tests, run the following command in the CLI: `mvn clean test -Pregression-tests`

For only smoke tests: `mvn clean test -Psmoke-tests`

For only positive tests: `mvn clean test -Ppositive-tests`

For only negative tests: `mvn clean test -Pnegative-tests`

## Viewing Allure Reports

After running the tests, you can view the Allure reports by executing:

`mvn allure:report`

## Example of Allure Report

AllureReportExample

## Report with test results

Allure Steps

## Build with Github Actions

1. Go to `music-quiz-automation` repository
2. Press to `Actions` tab

Step1 Actions Tab

3. Press `Full Regression Test` workflow (on the left panel)

Step2 FullRegressionTest Tab

4. Press `Run workflow` button

Step3 Run worflow

5. Wait till the build will be completed.

Step4 Wait for build completed

## See Allure Report from Github Pages

1. After build completed go to `Actions` tab again

Go To Actions

2. Click on the `pages and deployment` link

Go To Pages Deployments

3. Click on the link
Press Link

4. Now you can see Allure report

See Allure Report

If you have any comments or suggestions, please feel free to contact me
at: [[email protected]]([email protected])