Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/victoriaduarte/universo-robot

Automated tests for a Gym web and mobile application using Robot Framework
https://github.com/victoriaduarte/universo-robot

api-testing appium appium-android automation-testing mobile-testing robotframework web-testing

Last synced: 13 days ago
JSON representation

Automated tests for a Gym web and mobile application using Robot Framework

Awesome Lists containing this project

README

        

# universo-robot

Automated tests for web and mobile (Android) application using Robot Framework and Appium.

## ๐Ÿ“š Course
[Universo Robot Framework - Udemy](https://www.udemy.com/course/universo-robot-framework/)

## โœ… What I learned
- Automated Web testing using Browser Library
- Automated API testing using Requests Library
- Automated Mobile testing using Appium
- Manual API testing using Insomnia
- Test Setup and Test Teardown
- Page objects pattern
- Component testing
- Custom Python libs
- Manipulating JSON objects
- SQL scripts
- PostgreSQL database and pgAdmin 4 with Docker
- Cross-browser testing
- Enviroment variables with python-dotenv

## ๐ŸŒ Application
Smartbit is a fictitious gym application where the client starts their registration on the web application and visit the nearest branch to finish the membership process. On the native mobile app (Android) they can manage their account, register their body measurements, check their BMI (IMC) and cancel their gym membership.

The gym administrator uses the web application to complete the client registration, manage the clients and their memberships.

*Mobile application*

*Web application*


## ๐Ÿงช Test cases

Client login

| Test Case | Status | Application |
|---|---|---|
|Login with cpf and ip | โœ… | Mobile |
|Login with unregistered cpf | โœ… | Mobile |
|Login with invalid cpf | โœ… | Mobile |

Client measurements

| Test Case | Status | Application |
|---|---|---|
|Register my measures | โœ… | Mobile |
|Should not register empty measures | โœ… | Mobile |
|Should not register invalid measures | โœ… | Mobile |

Admin login

| Test Case | Status | Application |
|---|---|---|
|Login as gym admin | โœ… | Web |
|Login as gym admin with invalid password | โœ… | Web |
|Login as gym admin with unregistered email | โœ… | Web |
|Login with invalid credentials | โœ… | Web |

Client signup

| Test Case | Status | Application |
|---|---|---|
|Start the user registration | โœ… | Web |
|Name field should be required | โœ… | Web |
|Email field should be required | โœ… | Web |
|Document field should be required | โœ… | Web |
|Duplicate email | โœ… | Web |
|Duplicate cpf | โœ… | Web |
|Signup with invalid data | โœ… | Web |

Memberships

| Test Case | Status | Application |
|---|---|---|
|Enroll an user | โœ… | Web |
|Should not create duplicate membership | โœ… | Web |
|Should not create invalid membership | ๐Ÿšง | Web |
|Search not found | โœ… | Web |
|Search membership by name | โœ… | Web |
|Delete membership by name | โœ… | Web |

Clients

| Test Case | Status | Application |
|---|---|---|
|Search not found | โœ… | Web |
|Search client by name | โœ… | Web |
|Delete client by name | โœ… | Web |
|Edit client with valid data | ๐Ÿšง | Web |
|Edit client with invalid data | ๐Ÿšง | Web |

## ๐Ÿ’ป Technologies and Tools used
- **Python**: Programming language used to create custom libraries
- **Robot Framework**: Test automation framework
- **Robot Framework dependencies**: `python -m pip install -r requirements.txt`
- **Appium**: Automation mobile testing tool
- **Android Studio**: Run the Android Virtual Device (AVD) emulator
- **Appium Inspector**: GUI for inspecting and interacting with the mobile app elements
- **Insomnia**: Manual API testing

## Report

*Web test report*

*Mobile test report*