/verivox

automation with python for Verivox.apk

Primary LanguagePython

Introduction

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.

Scenarios to be tested

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

Test Environment information

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