noneqa is an automatef testing framework skeleton to test API and UI parts of test assignment from NinjaOne. It is implemented in python and uses Selenium for web-UI, and requests for REST API.
- python 3.10.x is installed and available in PATH as python3.10
- venv in installed
The project has been tested on Windows 11 platform. Should be platform indepenedent, but was not tested on Linux of Mac OS.
git clone https://github.com/mityaika/noneqa.git
cd noneqa
python3.10 -m venv venv
.\venv\Scripts\activate # for Windows
# or for Linux/Mac OS source ./venv/bin/activate
pip install -r requirements.txt
Open config/default.config file and adjust your URLs for client and server apps.
python -m pytest --html=testresults/report.html
Results are output to console and html report created in testresults folder.
- The framwework has extensive configuration options where config option can be provided via command-line, config files, environment variables. Default configuration is in config/default.config file.
- The framework separates API, UI operations and locators, tests, test data and testresults.
- The framework has built-in functionality to measure elapsed time for API requests which can be used for further performance analysis.
- "System name" device property is not unique per system and can cause ambiguous recognition. One of possible solutions is to setup MITM proxy and intercept HTTP response to parse out id of the created device.
- "System type" can be "WINDOWS_WORKSTATION" or "WINDOWS WORKSTATION'. This is because of type: "WINDOWS WORKSTATION" in src/views/AddDevice.js