mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-11-01 19:37:54 +00:00
Wifi 6921 (#408)
* Added Rerutn Upload and Download speed function in Android lib Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added Multi psk wpa2 testcase with upto 16 vlans in Android Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added Rate limiting testcase in Android Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added random string to ssid names in Rate limiting testcase in Android Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com> * Added random string attached ssids in multi_psk testcase in Android Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,296 @@
|
||||
from logging import exception
|
||||
import unittest
|
||||
import warnings
|
||||
from perfecto.test import TestResultFactory
|
||||
import pytest
|
||||
import sys
|
||||
import time
|
||||
from selenium.common.exceptions import NoSuchElementException
|
||||
from selenium.webdriver.common.by import By
|
||||
from appium import webdriver
|
||||
from selenium.common.exceptions import NoSuchElementException
|
||||
import random
|
||||
import sys
|
||||
import allure
|
||||
import string
|
||||
|
||||
if 'perfecto_libs' not in sys.path:
|
||||
sys.path.append(f'../libs/perfecto_libs')
|
||||
|
||||
pytestmark = [pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and,
|
||||
pytest.mark.rate_limiting, pytest.mark.bridge]
|
||||
|
||||
from android_lib import closeApp, set_APconnMobileDevice_android, Toggle_AirplaneMode_android, ForgetWifiConnection, openApp, \
|
||||
get_ip_address_and, return_upload_download_speed_android, wifi_connect, wifi_disconnect_and_forget
|
||||
|
||||
setup_params_general = {
|
||||
"mode": "BRIDGE",
|
||||
"ssid_modes": {
|
||||
"wpa2_personal": [
|
||||
{"ssid_name": "ssid_wpa2_2g_RL",
|
||||
"appliedRadios": ["2G"],
|
||||
"security_key": "something",
|
||||
"rate-limit": {
|
||||
"ingress-rate": 60,
|
||||
"egress-rate": 10
|
||||
}
|
||||
},
|
||||
{"ssid_name": "ssid_wpa2_5g_RL",
|
||||
"appliedRadios": ["5G"],
|
||||
"security_key": "something",
|
||||
"rate-limit": {
|
||||
"ingress-rate": 60,
|
||||
"egress-rate": 10
|
||||
}
|
||||
}
|
||||
],
|
||||
"wpa": [
|
||||
{"ssid_name": "ssid_wpa_2g_RL",
|
||||
"appliedRadios": ["2G"],
|
||||
"security_key": "something",
|
||||
"rate-limit": {
|
||||
"ingress-rate": 60,
|
||||
"egress-rate": 10
|
||||
}
|
||||
},
|
||||
{"ssid_name": "ssid_wpa_5g_RL",
|
||||
"appliedRadios": ["5G"],
|
||||
"security_key": "something",
|
||||
"rate-limit": {
|
||||
"ingress-rate": 60,
|
||||
"egress-rate": 10
|
||||
}
|
||||
}
|
||||
],
|
||||
"wpa3_personal": [
|
||||
{"ssid_name": "ssid_wpa3_2g_RL",
|
||||
"appliedRadios": ["2G"],
|
||||
"security_key": "something",
|
||||
"rate-limit": {
|
||||
"ingress-rate": 60,
|
||||
"egress-rate": 10
|
||||
}
|
||||
},
|
||||
{"ssid_name": "ssid_wpa3_5g_RL",
|
||||
"appliedRadios": ["5G"],
|
||||
"security_key": "something",
|
||||
"rate-limit": {
|
||||
"ingress-rate": 60,
|
||||
"egress-rate": 10
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"rf": {},
|
||||
"radius": False
|
||||
}
|
||||
|
||||
for sec_modes in setup_params_general['ssid_modes'].keys():
|
||||
for i in range(len(setup_params_general['ssid_modes'][sec_modes])):
|
||||
N = 3
|
||||
rand_string = (''.join(random.choices(string.ascii_uppercase +
|
||||
string.digits, k=N)))+str(int(time.time_ns())%10000)
|
||||
setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string
|
||||
|
||||
|
||||
@allure.feature("Bridge MODE Rate Limiting")
|
||||
@pytest.mark.parametrize(
|
||||
'setup_profiles',
|
||||
[setup_params_general],
|
||||
indirect=True,
|
||||
scope="class"
|
||||
)
|
||||
@pytest.mark.usefixtures("setup_profiles")
|
||||
class TestRateLimitingBridge(object):
|
||||
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.twog
|
||||
def test_rate_limiting_wpa2_2g(self, request, get_vif_state, get_ap_logs,
|
||||
get_ToggleAirplaneMode_data, setup_perfectoMobile_android):
|
||||
profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0]
|
||||
ssidName = profile_data["ssid_name"]
|
||||
ssidPassword = profile_data["security_key"]
|
||||
up_rate = profile_data["rate-limit"]["ingress-rate"]
|
||||
down_rate = profile_data["rate-limit"]["egress-rate"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
print("SSID_PASS: " + ssidPassword)
|
||||
print("Upload rate:" + (str)(up_rate))
|
||||
print("Download rate:" + (str)(down_rate))
|
||||
get_vif_state.append(ssidName)
|
||||
|
||||
if ssidName not in get_vif_state:
|
||||
allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state))
|
||||
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
||||
|
||||
report = setup_perfectoMobile_android[1]
|
||||
driver = setup_perfectoMobile_android[0]
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
assert True
|
||||
else:
|
||||
assert False
|
||||
|
||||
@pytest.mark.wpa2_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_rate_limiting_wpa2_5g(self, request, get_vif_state, get_ap_logs,
|
||||
get_ToggleAirplaneMode_data, setup_perfectoMobile_android):
|
||||
profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1]
|
||||
ssidName = profile_data["ssid_name"]
|
||||
ssidPassword = profile_data["security_key"]
|
||||
up_rate = profile_data["rate-limit"]["ingress-rate"]
|
||||
down_rate = profile_data["rate-limit"]["egress-rate"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
print("SSID_PASS: " + ssidPassword)
|
||||
print("Upload rate:" + (str)(up_rate))
|
||||
print("Download rate:" + (str)(down_rate))
|
||||
get_vif_state.append(ssidName)
|
||||
|
||||
if ssidName not in get_vif_state:
|
||||
allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state))
|
||||
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
||||
|
||||
report = setup_perfectoMobile_android[1]
|
||||
driver = setup_perfectoMobile_android[0]
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
assert True
|
||||
else:
|
||||
assert False
|
||||
|
||||
@pytest.mark.wpa
|
||||
@pytest.mark.twog
|
||||
def test_rate_limiting_wpa_2g(self, request, get_vif_state, get_ap_logs,
|
||||
get_ToggleAirplaneMode_data, setup_perfectoMobile_android):
|
||||
profile_data = setup_params_general["ssid_modes"]["wpa"][0]
|
||||
ssidName = profile_data["ssid_name"]
|
||||
ssidPassword = profile_data["security_key"]
|
||||
up_rate = profile_data["rate-limit"]["ingress-rate"]
|
||||
down_rate = profile_data["rate-limit"]["egress-rate"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
print("SSID_PASS: " + ssidPassword)
|
||||
print("Upload rate:" + (str)(up_rate))
|
||||
print("Download rate:" + (str)(down_rate))
|
||||
get_vif_state.append(ssidName)
|
||||
|
||||
if ssidName not in get_vif_state:
|
||||
allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state))
|
||||
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
||||
|
||||
report = setup_perfectoMobile_android[1]
|
||||
driver = setup_perfectoMobile_android[0]
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
assert True
|
||||
else:
|
||||
assert False
|
||||
|
||||
@pytest.mark.wpa
|
||||
@pytest.mark.fiveg
|
||||
def test_rate_limiting_wpa_5g(self, request, get_vif_state, get_ap_logs,
|
||||
get_ToggleAirplaneMode_data, setup_perfectoMobile_android):
|
||||
profile_data = setup_params_general["ssid_modes"]["wpa"][1]
|
||||
ssidName = profile_data["ssid_name"]
|
||||
ssidPassword = profile_data["security_key"]
|
||||
up_rate = profile_data["rate-limit"]["ingress-rate"]
|
||||
down_rate = profile_data["rate-limit"]["egress-rate"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
print("SSID_PASS: " + ssidPassword)
|
||||
print("Upload rate:" + (str)(up_rate))
|
||||
print("Download rate:" + (str)(down_rate))
|
||||
get_vif_state.append(ssidName)
|
||||
|
||||
if ssidName not in get_vif_state:
|
||||
allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state))
|
||||
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
||||
|
||||
report = setup_perfectoMobile_android[1]
|
||||
driver = setup_perfectoMobile_android[0]
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
assert True
|
||||
else:
|
||||
assert False
|
||||
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.twog
|
||||
def test_rate_limiting_wpa3_2g(self, request, get_vif_state, get_ap_logs,
|
||||
get_ToggleAirplaneMode_data, setup_perfectoMobile_android):
|
||||
profile_data = setup_params_general["ssid_modes"]["wpa3_personal"][0]
|
||||
ssidName = profile_data["ssid_name"]
|
||||
ssidPassword = profile_data["security_key"]
|
||||
up_rate = profile_data["rate-limit"]["ingress-rate"]
|
||||
down_rate = profile_data["rate-limit"]["egress-rate"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
print("SSID_PASS: " + ssidPassword)
|
||||
print("Upload rate:" + (str)(up_rate))
|
||||
print("Download rate:" + (str)(down_rate))
|
||||
get_vif_state.append(ssidName)
|
||||
|
||||
if ssidName not in get_vif_state:
|
||||
allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state))
|
||||
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
||||
|
||||
report = setup_perfectoMobile_android[1]
|
||||
driver = setup_perfectoMobile_android[0]
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
assert True
|
||||
else:
|
||||
assert False
|
||||
|
||||
@pytest.mark.wpa3_personal
|
||||
@pytest.mark.fiveg
|
||||
def test_rate_limiting_wpa3_5g(self, request, get_vif_state, get_ap_logs,
|
||||
get_ToggleAirplaneMode_data, setup_perfectoMobile_android):
|
||||
profile_data = setup_params_general["ssid_modes"]["wpa3_personal"][1]
|
||||
ssidName = profile_data["ssid_name"]
|
||||
ssidPassword = profile_data["security_key"]
|
||||
up_rate = profile_data["rate-limit"]["ingress-rate"]
|
||||
down_rate = profile_data["rate-limit"]["egress-rate"]
|
||||
print("SSID_NAME: " + ssidName)
|
||||
print("SSID_PASS: " + ssidPassword)
|
||||
print("Upload rate:" + (str)(up_rate))
|
||||
print("Download rate:" + (str)(down_rate))
|
||||
get_vif_state.append(ssidName)
|
||||
|
||||
if ssidName not in get_vif_state:
|
||||
allure.attach(name="retest,vif state ssid not available:", body=str(get_vif_state))
|
||||
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
||||
|
||||
report = setup_perfectoMobile_android[1]
|
||||
driver = setup_perfectoMobile_android[0]
|
||||
connData = get_ToggleAirplaneMode_data
|
||||
|
||||
wifi_connect(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
down_speed, up_speed = return_upload_download_speed_android(request, setup_perfectoMobile_android, connData)
|
||||
wifi_disconnect_and_forget(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData)
|
||||
print(down_speed, up_speed)
|
||||
if float(down_speed) < float(down_rate) and float(up_speed) < float(up_rate):
|
||||
assert True
|
||||
else:
|
||||
assert False
|
||||
Reference in New Issue
Block a user