yadavnikita 6bc8d9edbe Wifi 8295 (#533)
* adding dependencies bash file

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc.1 option and fixture version

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added controller 3x files

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* calling controller logic

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added more functions

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc.1 functionality to different fixtures

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc.1  fixture to setup_profile

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* cc.1 fixture

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lanforge scripts

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* test function

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added realtive path and more function to controller access

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added wpa2 functionality

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* get slot id and ssid name

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* made change to add_env_properties

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added fixture line in setup_profiles

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added fixture line in setup_profiles

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added accurate way of creating wlan

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added controller log option

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added 2g options

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc option to add tations

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc option to add tations

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc option

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cc option

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* adding lanforge changes

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* create non mesh dut

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* cal bssid 2g and 5g method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* edited get ap config slot and controller log

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* adddd tst2g and test5g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added modification to fixture3x

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* testbed info

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added everything

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove laforge scripts

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* sync lanforge-scripts

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* comment out multi test

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* changed class name

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove roam directory

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* optimized code by calling basic_roam function from lftest

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* checking bssids after creating wlan

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added time calculation, rssi and cx-time reporting

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* created layer3

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* changed station name

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added rx packets

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* increased wait time

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* chaged logic for calculating 5g and 2g bssid also added 11r_log method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* aadded create_n_client,json_get,create_l3x,get_cx,get_l3_values,attachfile,basic_roam,multi_roam methods

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* adde lf_report() fixture

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added test basic roam 5g

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added roam setup

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added report library

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added multi_roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added dtim function

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added start sniffer stop sniff and query data

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* made it generic to support dtim and 11r

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added logic code for hard roam and query sniff

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added multi hard roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* uncommenting

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added cisco-lab-02

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added ft over ds config

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added ftotd_psk method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added something

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added classsification of tests

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* modified multi_hard_roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* iteration, client and roaming delay created

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* hard roam 5g method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* hard roam 2g method

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added 0db0 ap info to testbed-02

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* added 6e option and commentes while loop

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* enable_ft_sae

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* duration for roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* duration in 5g function

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* sae option

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* otd 5g test case

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* ota 6g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* Fixed the path for import

Signed-off-by: shivam <shivam.thakur@candelatech.com>

* controller.py: enable_ft_dot1x_wpa3, set_channel_width, set_channel

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* dot1x 6g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* updated lab_info

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* updated channel width and channel

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* updated hard roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* 2g 5g and 6g testcases in one file

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* string var in duration

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* 802.1x in multi hard roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* removing 5g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* removing 6g testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* report.py: table using pandas

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_test.py: added function of hard roam

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* hard roam using lanforge test function testcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* add dut name to hard roam function

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* add dut name to hard roam 5g

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* controller.py: enable_ft_dot1x_sha256_wpa3

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_test.py: added pass fail

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_test.py: twog radio added to hard roam class

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* test_roam_ota.py: 2g, 5g, 6g testcase modified

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* fixtures_3x.py: ft-dot1x-sha256 feature added

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lab_info.json: lab info updtaed

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* reports: remove report directory

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* controller.py:show_wireless_client_sum

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_hard_roam: modified

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* disble enable all bands fixtures

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_report to cc_1

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* ota test case

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* mdification

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lf_tests: identity and pass

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* conftest: varg

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* testcase correction

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* lab file

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* controller.py: enable_ft_dot1x_sha256_wpa3 enable radius

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* radius info

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* deleted all unused functions

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* modification to tetcase

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* radius data missing

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove example.py

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove lanforge reports

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* updated lab json

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove lanforge_log_0.txt

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove lanforge_log_1.txt

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove report.py

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* use pull_report

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* make it as master

* remove cc dp

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove unwanted thing

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* remove unwanted things

Signed-off-by: Nikita Yadav <nikita.yadav@candelatech.com>

* Added pdfkit,matplotlib

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Resolved the key error

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

Co-authored-by: shivam <shivam.thakur@candelatech.com>
Co-authored-by: jitendracandela <jitendra.kushavah@candelatech.com>
2022-06-08 17:45:15 +05:30
2022-05-05 17:19:10 +02:00
2021-07-26 15:59:07 +05:30
2021-08-24 23:22:47 +05:30
2022-06-08 17:45:15 +05:30
2022-06-08 17:45:15 +05:30
2021-04-15 00:08:24 +05:30
2022-06-08 17:45:15 +05:30
2020-07-06 10:38:51 -04:00
2022-03-29 12:06:36 +05:30
2022-06-08 17:45:15 +05:30
2021-05-26 02:07:52 -05:00

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

Automation Overview

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:

Tools and Test Automation

General guidelines

This testing code adheres to generic pep8 style guidelines, most notably:

  1. Documentation strings
  2. Naming conventions
  3. Sphynx docstring format

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:

  1. Line length below 120 characters is fine (search for max-line-length)
  2. No new line at the end of file is fine (search for missing-final-newline)
  3. Multiple new lines at the end of file are fine (search for trailing-newlines)
  4. 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

  1. Do not use old style string formatting: "Hello %s" % var; use f"Hello {var} instead
  2. use """ in Docstrings

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

total test count

R1.x sanity testing sanity test count

interop testing interop test count

performance testing performance test count

RF Testing Advance test count

regression testing Regression test count

interop performance testing Interop Performance test count

Best Practice

  1. Ensure to have a python version > 3
  2. 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.

made-with-python PEP8

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
git clone https://github.com/Telecominfraproject/wlan-lanforge-scripts
cd wlan-testing
./sync_repos.bash
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
pip3 install -r requirements.txt

cd tests
vim configuration.py    # Setup your testbed data info here

# Check if everything is good 
pytest --collect-only 


# for visualizing allure reports, Install nodejs
# Set Java home

# install allure command
npm install -g allure-commandline --save-dev

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

Description
No description provided
Readme BSD-3-Clause 211 MiB
Languages
Python 99%
Shell 0.6%
Roff 0.4%