* WIFI-6052: Initial commit to allow use to run test cases from static ssid configured in AP mentioned in configuration.py Signed-off-by: shivamcandela <shivam.thakur@candelatech.com> * WIFI-6052 Adjusted the test cases to run with lf only Signed-off-by: shivamcandela <shivam.thakur@candelatech.com> * Added the error fix happened due to merge conflict resolution Signed-off-by: shivam <shivam.thakur@candelatech.com> * fixed advanced tests to support lf only Signed-off-by: shivam <shivam.thakur@candelatech.com> * added run_lf to create lanforge chamberview dut Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * added run_lf to setup profiles Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * removed chamber view dut from all function Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * changed bps to Mbps in lf_tools function - read_csv_individual_station_throughput Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * added test procedure and pass fail to report Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * added attach station data to allure function Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * added Non-mesh functionality Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * added 2g roam test Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * added definition, procedure and pass fail criteria for all test cases Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * attach_station data to allure and wait for ip Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * station data query and non mesh configuration Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * comments to all testcases Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * adding attenuator data to allure attach Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * added 5g test case Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * resolved merge conflicts Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * added run-lf to lf_test fixture Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * remove xy file Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> * remove reg marker Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com> Co-authored-by: Nikita Yadav <nikita.yadav@candelatech.com> Co-authored-by: jitendracandela <jitendra.kushavah@candelatech.com>
TIP Open WiFi Test Automation
Overview
This repository contains the test automation framework and scripts for TIP Open WiFi. Test Framework is implemented in pytest
The vision is to create an open test framework to ensure production grade Open Wifi Solution.
This test automation tied into our overall tooling at TIP as shown below:
General guidelines
This testing code adheres to generic pep8 style guidelines, most notably:
Using pytest as the test execution framework.
Using pylint for code quality monitoring.
We are using the pylint package to do the linting. Documentation for it can be found here.
In general, the customizations are possible via the .pylintrc file:
- Line length below 120 characters is fine (search for max-line-length)
- No new line at the end of file is fine (search for missing-final-newline)
- Multiple new lines at the end of file are fine (search for trailing-newlines)
- Indent using 4 spaces (search for indent-string)
In future we should enforce a policy, where we cannot merge a code where the pylint scoe goes below 7:
pylint --fail-under=7 *py
the command above would produce a non-zero exit code if the score drops below 7.
TIP Controller Integration
Using Swagger Autogenerated CloudSDK Library pypi package (implemented with swagger codegen).
Reporting
Currently we use the pytest allure integration to create visual reports for the test outcomes.
Additionally we generate overview pages, e.g. like this one to consolidate multiple test reports of the same test type.
These overview pages are being deployed by this workflow and their configuration is set in this file.
Miscellaneous
- Do not use old style string formatting:
"Hello %s" % var; usef"Hello {var}instead - use
"""in Docstrings
Useful links
https://docs.pytest.org/en/latest/example/markers.html
https://docs.pytest.org/en/latest/usage.html
http://pythontesting.net/framework/pytest/pytest-introduction/
Test status
Best Practice
- Ensure to have a python version > 3
- We strongly recommend to use virtualenv to ensure that your dev environment sandbox is created.
Code style
All code must be written in python 3 and conform to PEP 8 style guide. The test framework is built using pytest.
Directory Structure
├── lanforge - /* to be migrated */
├── libs
│ ├── controller_tests -/* Library Support for controller_tests part */
├── apnos -/* Library Support for Access Points (uses AP SSH) */
│ ├── lanforge -/* Library Support for LanForge Traffic Generator */
│ ├── perfecto -/* Library Support for Perfecto Systems */
│ ├── testrails -/* Result Visualization (will be depreciated ) */
├── tests -/* Pytest cases Directory */
│ ├── _basic_test_setup
│ ├── access_point_tests
│ ├── controller_tests
│ ├── e2e
├── advanced
├── basic
├── interOp
├── mdu
|── mesh
|── scale
|── README.md -/* Pytest framework and testcases information */
Setup Instructions
Step 1
Set up the repository in your base directory of choice. Currently, it is
important to clone the wlan-lanforge-scripts repository and link to wlan-testing
directory (The sync_repos.bash provides that linkage).
git clone https://github.com/Telecominfraproject/wlan-testing
git clone https://github.com/Telecominfraproject/wlan-lanforge-scripts
Make sure this directory structure exists
├── wlan-lanforge-scripts
├── wlan-testing
cd wlan-testing
./sync_repos.bash
Step 2
Please ensure you follow the steps outlined in here
Lets add the TIP pypi repository by following the below steps:
mkdir ~/.pip
echo "[global]" > ~/.pip/pip.conf
echo "index-url = https://pypi.org/simple" >> ~/.pip/pip.conf
echo "extra-index-url = https://tip-read:tip-read@tip.jfrog.io/artifactory/api/pypi/tip-wlan-python-pypi-local/simple" >> ~/.pip/pip.conf
Step 3
Please ensure you have python version >= 3 is required. Double check this by running "python --version" command.
User this to check "python --version"
Lets Install the Python Packages needed
pip3 install -r requirements.txt
Step 4
Setup configuration.py file This file is autogenerated by Quali-Lab-Orchestration You can custom create the configuration file, by following the sample configuration data structure (tests/configuration.py)
Step 5
You are all set,
To verify that everything is working,
cd wlan-testing/tests pytest -m test_connection -s -vvv
Executing and Contributing new test cases
Follow instructions provided here to understand the Testing Framework, and How to run and write new tests
Issue Reporting
Please submit issues using our JIRA project here
Use the Test Automation backlog

