* Removed performance marker from peak_throughput_tests for twog and fiveg, Added AX_capacity testplan in performance for twog and fiveg Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added pass_fail_criteria argument Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Removed performance marker from bidirectional test cases Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Removed ow_sanity_lf marker from schema validation (#940) Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * add roam otd twog same channel wpa3 eap test (#941) Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * add roam otd fiveg wpa3eap test (#942) Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * Update test_bridge_mode.py (#944) Co-authored-by: Gopi Raga <117985788+GopiRaga7@users.noreply.github.com> * Update ucentralgw-qa-deployment.yaml (#945) * Added sleep time in the rate limiting test case (#946) Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Fix roam OTA test issues with iwinfo output & Add Pass/Fail (#947) * improve re pattern to fetch ap data from iwconfig Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * fix config issue in wpa2 tests Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * fix key,value issues in config creation Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * fix empty radio & wifi-bands config issue Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * replace global config_data with local config in test Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * add ap logs per testcase to allure Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * fix missing underscore to get dut logs function Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * refine selected testbed logic as per testbed names in lab-info Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * marker and pass/fail addtions to roam ota tests Signed-off-by: anil-tegala <anil.tegala@candelatech.com> --------- Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * Add hfcl_ion4xi to the overview page (#948) Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Update ucentralgw-qa-deployment.yaml (#949) * Added udaya_a6-id2 to the sanity and performance overview page (#950) Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * WIFI-13871 CGW deploy testing (#951) Signed-off-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> Co-authored-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> * add roam ota twog & fiveg wpa2psk test (#952) * add roam ota twog and fiveg wpa2 psk test Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * set missing band in 2G config Signed-off-by: anil-tegala <anil.tegala@candelatech.com> --------- Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * Wifi 13874 (#953) * Added more logs to asb script Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Increased sleep time after factory reset for ASB tests Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> --------- Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * roam ota twog and fiveg wpa3psk test (#954) * add roam ota twog and fiveg wpa2 psk test Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * add roam ota twog and fiveg wpa3 psk test Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * set missing band in 2G config Signed-off-by: anil-tegala <anil.tegala@candelatech.com> --------- Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * add roam ota twog and fiveg wpa2-eap test (#955) Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * WIFI-13871: CGW deployment (#956) * WIFI-13871 CGW deploy testing Signed-off-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> * WIFI-13871 CGW deploy testing Signed-off-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> --------- Signed-off-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> Co-authored-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> * Update cgw-dev-deployment.yaml * WIFI-13871 Correct branch for deploy repo Signed-off-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> * add roam ota twog and fiveg wpa3 enterprise test (#958) Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * WIFI-13871 Need sops installed as well Signed-off-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> * add roam ota 5g and 6g wpa2psk test (#959) * add roam ota fiveg and sixg wpa2psk test Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * change security type to wpa3 Signed-off-by: anil-tegala <anil.tegala@candelatech.com> --------- Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * Wifi 13853 (#960) * Removed >/dev/null 2>&1 for logs purpose Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added Verbosity for logs Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added retries=3 in the kubectl cp command Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added list of files in the pod /tmp/allure-results Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> --------- Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Wifi 13859 (#961) * Added hfcl_ion4xi in the sanity, performance, regression workflows and overview page Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Removed hfcl_ion4xi from overview page Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> --------- Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added wifi_capacity_ax_tests in the performance workflow Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Modified marker name for ax capacity Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added performance pass-fail criteria file Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added pass-fail values for edgecore_eap105,sercomm_ap72tip Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added pass-fail values for udaya_a6-id2 Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added pass-fail values for edgecore_eap111 Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * add roam ota fiveg and sixg wpa3 enterprise test (#963) Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * add roam ota twog and sixg sae test (#964) Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * add roam ota twog and sixg wpa3 enterprise test (#965) * add roam ota twog and sixg wpa3 enterprise test Signed-off-by: anil-tegala <anil.tegala@candelatech.com> --------- Signed-off-by: anil-tegala <anil.tegala@candelatech.com> * Handle locations inside deploy repo (#966) Co-authored-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> * Added edgecore_eap105,sercomm_ap72tip to the sanity and performance overview page (#967) Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Wifi 13921 (#969) * Modified as per new lab infra and Added udaya_a6-id2,edgecore_eap105,sercomm_ap72tip in the performance workflow Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Modified as per new lab infra and Added udaya_a6-id2,edgecore_eap105,sercomm_ap72tip in the sanity workflow Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Modified as per new lab infra and Added udaya_a6-id2,edgecore_eap105,sercomm_ap72tip in the regression workflow Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> --------- Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Replaced advanced-3b with advanced-1c (#971) Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added wifi_capacity_ax_tests for udaya_a6-id2,edgecore_eap105,sercomm_ap72tip APs Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> --------- Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> Signed-off-by: anil-tegala <anil.tegala@candelatech.com> Signed-off-by: Carsten Schafer <Carsten.Schafer@kinarasystems.com> Co-authored-by: Anil Kumar Tegala <anil.tegala@candelatech.com> Co-authored-by: Gopi Raga <117985788+GopiRaga7@users.noreply.github.com> Co-authored-by: GowthamPrajwal <86651786+GowthamPrajwal@users.noreply.github.com> Co-authored-by: mythri-candela <168416732+mythri-candela@users.noreply.github.com> Co-authored-by: Carsten Schafer <49571202+carsten989@users.noreply.github.com> Co-authored-by: Carsten Schafer <Carsten.Schafer@kinarasystems.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:
You can get the full list of tests on GitHub Pages that's updated automatically.
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 */
Test Automation Setup Instructions
# Let's assume '~/automation' directory for setting wlan-testing
cd ~/
mkdir automation
cd automation
git clone https://github.com/Telecominfraproject/wlan-testing
cd wlan-testing/
cd tests/
vim lab_info.json # Setup your testbed data info here
docker build -f docker/Dockerfile -t wlantest .
docker run -i -t -v $(YOUR_ALLURE_RESULT_DIR):/allure-results wlantest -c “cd tests;pytest -m ‘marker’ -s -vvv –testbed=basic-testbed –alluredir=allure-results”
# Check List of Available Tests
https://telecominfraproject.github.io/wlan-testing/
# Test Suites Marker
ow_sanity_lf: OpenWifi Sanity Test Plan
# List of Available Markers
client_connectivity_tests: Client Connectivity Test Cases with bridge|nat|vlan modes across 2.4|5|6 GHz bands with Various Encryptions
dfs_tests: Dynamic Frequency Selection Test Cases
multi_psk_tests: Multi PSK Test Cases
rate_limiting_tests: Rate Limiting Test Cases
dvlan_tests: Dynamic VLAN Test Cases
dynamic_qos_tests: Dynamic QOS Test Cases
multi_vlan_tests: Multi VLAN Combination based Test Cases
client_scale_tests: Client Capacity Tests with maximum possible Stations bridge|nat|vlan 2.4|5|6 GHz Bands
peak_throughput_tests: Single Client Peak Performance Test with various Bandwidths across 2.4|5|6 GHz Bands with various Client Types
dataplane_tests: Single Client Throughput Test with various pkt sizes with UL|DL|BI with AC|AX Client Types across 2.4|5|6 GHz Bands
country_code: Country Code Test Cases
# Supported Modes, Bands, Encryptions
bridge: Use this marker to run bridge mode tests in each of the above test plans/suites
nat: Use this marker to run nat mode tests in each of the above test plans/suites
vlan: Use this marker to run vlan mode tests in each of the above test plans/suites
twog: Use this marker to run 2.4 GHz tests in each of the above test plans/suites
fiveg: Use this marker to run 5 GHz tests in each of the above test plans/suites
sixg: Use this marker to run 6 GHz tests in each of the above test plans/suites
open: Use this marker to run open Encryption tests in each of the above test plans/suites
wpa: Use this marker to run wpa Encryption tests in each of the above test plans/suites
wpa2_personal: Use this marker to run wpa2_personal Encryption tests in each of the above test plans/suites
wpa3_personal: Use this marker to run wpa3_personal Encryption tests in each of the above test plans/suites
wpa3_personal_mixed: Use this marker to run wpa3_personal_mixed Encryption tests in each of the above test plans/suites
wpa_wpa2_personal_mixed: Use this marker to run wpa_wpa2_personal_mixed Encryption tests in each of the above test plans/suites
wpa_enterprise: Use this marker to run wpa_enterprise Encryption tests in each of the above test plans/suites
wpa2_enterprise: Use this marker to run wpa2_enterprise Encryption tests in each of the above test plans/suites
wpa3_enterprise: Use this marker to run wpa3_enterprise Encryption tests in each of the above test plans/suites
wpa_wpa2_enterprise_mixed: Use this marker to run wpa_wpa2_enterprise_mixed Encryption tests in each of the above test plans/suites
wpa3_enterprise_mixed: Use this marker to run wpa3_enterprise_mixed Encryption tests in each of the above test plans/suites
# for visualizing allure reports, Install nodejs
# Set Java home
# install allure command
npm install -g allure-commandline --save-dev
Test Plans and Markers📑
Docker Setup Instructions
This repository support building Docker image from bundled Dockerfile. If you want to use it for testing, please refer to the related directory for details.
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

