This repository is the artifact for the research paper: "From User Stories to End-to-End Web Testing" by Humaid Mollah and Petra van den Bos (Formal Methods and Tools Group, University of Twente, Enschede, The Netherlands). The paper has been submitted to the ICTS workshop INTUITESTBEDS 2023.
This repository contains:
- Source code for the test cases used in the case studies discussed in the paper.
- Interview transcripts from discussions with software developers and testers at the digital development agency El Nino.
- MyDay: https://app.myday.me
- VRM: https://vrm.victronenergy.com
- Utwente People: https://people.utwente.nl/
/tests
- Contains test case implementations for MyDay, VRM, and Utwente People web applications./user_actions
- Contains user action implementations using the Selenium WebDriver./helper
- Contains helper functions for Selenium WebDriver operations.main.py
- Entry point to run all test cases and generate reports.interview_transcripts.pdf
- Contains the interview transcripts.
Ensure that your system meets the following requirements:
- Python 3.10 or higher is installed.
- Google Chrome or Mozilla Firefox is installed.
- Stable Internet connection is available.
-
The project dependencies are managed using Pipenv. If Pipenv is not installed, run the following command:
pip install pipenv
-
Install the required dependencies by running:
pipenv sync
-
Activate the virtual environment:
pipenv shell
By default, the test cases run using Google Chrome. If you prefer to use Firefox, update the initialize_webdriver()
method in /helper/selenium_helper.py
:
- Comment out the line that initializes the Chrome WebDriver.
- Uncomment the line that initializes the Firefox WebDriver.
To execute all test cases in the /tests
directory, use the following command:
python -m unittest discover -s tests -p '*.py'
python -m unittest discover -s tests -p *.py
By default, 5 out of 6 MyDay test cases are skipped with the following message:
"To run this test case, enter the email and password of your MyDay.me account in the file TODOs."
To enable these test cases:
- Create a MyDay account at https://app.myday.me.
- Provide your MyDay credentials:
- Open
tests/test_myday.py
. - Locate the lines marked with
TODO
comments. - Enter your MyDay email and password in the respective placeholders.
- Open
After completing the setup, re-run the test cases using the unittest
command mentioned earlier.
For any issues or questions, feel free to reach out!