QA/Execution/Web Testing/Automation/Pip Requirements
Pip Requirements Files
The Web QA team uses Pip requirements files to manage the libraries that are required to run the tests for each project. There are two levels of requirements files: Infrastructure Requirements and Project Requirements.
Infrastructure Requirements
These are libraries that are required for our infrastructure (i.e., Jenkins) in order to run tests in that manner we choose. They are not absolutely required to run tests locally, which is why they are separated out into their own file.
There is a single infrastructure requirements.txt file which is used by all Web QA jobs, which is stored in the webqa-infrastructure-requirements Github repository. Jenkins reads this file when setting up jobs to install the required libraries. If you wish to change the infrastructure requirements for all Web QA jobs you would submit a pull request to this git repository.
Currently this requirements file includes the following
Project Requirements
Each project has its own unique library requirements as well, and these are stored in the requirements.txt file which resides in the root of the project.
Setting up Your Local Environment
If wish to run the tests locally without using any of the infrastructure tools, then you can install the required files by typing:
pip install -Ur requirements.txt
at a command line.
If you wish to also install the infrastrutcure tools, to run tests in a similar manner to how they are run on Jenkins, then you would also type the command:
pip install -r https://raw.github.com/mozilla/webqa-infrastructure-requirements/master/requirements.txt