This is the automation project for Verivox mobile application.
Project structure:
I am using Pytest strutucture for this project. So, here is an overview for my project:
verivox/
pages/
locators/
general_locators.py
base.py
tarife.py
vergleich.py
setup/
verivox.apk
tests/
test_verivox.py
conftest.py
README.md
requirements.txt
๐ Brief explanation for each folder:
Pages >> PageObjects design pattern related, a .py file for each folder and its functionalities as well.
Setup >> Here we indicate apks to be used and also the the serial number of the device under test (DeviceId.py).
Tests >> Test flow for the execution.
Conftest >> Pytest file for all needed configurations.
README.md >> About the project and instructions of how to run it.
requirements.txt >> All the necessary resources to run this project.
๐ฏ I am using following resources here:
- Python
- Pytest
- Appium-Python-Client (and some complements)
๐ How to install them?
Just run requirements.txt file by using following command on root path:
pip install -r requirements.txt
๐ Report execution
To perform execution and also generate a report for that, just use following command when calling pytest:
pytest --html=report.html
After execution, a file called "report.html" will be generated on root path of the project. Click on it, and it will be opened as a text file. Execute it indicating a browser to render html file. Report will be displayed.
Also, a link will be displayed after execution, so you may access it directly from that.
Scenario 1: Verify the DSL calculator
GIVEN that I can open the app Home screen
WHEN I select the DSL calculator
AND I enter "030" for my area code
AND I select the "100 Mbit/s" bandwidth option
AND I click the "Jetzt vergleichen" button
THEN I should see a list of available tariffs based on my selection
Scenario 2: Load multiple tariff results
GIVEN the same tariff calculation criteria from scenario 1
WHEN I see the tariff search results screen
THEN I should see the total number of available tariffs listed in the Ermittelte Tarife section
WHEN I scroll to the end of the search results
THEN I should see only the first 20 tariffs displayed
WHEN I click on the button labeled "20 weitere Tarife laden"
THEN I should see the next 20 tariffs displayed
AND I can continue to load any additional tariffs until all tariffs have been displayed
Scenario 3: Load multiple tariff results
GIVEN the same tariff calculation criteria from scenario 1
AND I see the tariff search results screen
WHEN I click on any "Zum Angebot" button to select a tariff offer
THEN I should see the corresponding tariff offer screen for the selected tariff
Application version:
3.3.1
Information about device under test:
Emulated device from Android Studio.
Model: Google Pixel 3.
Android version: 9
IDE for test development:
Pycharm