mirror of
				https://github.com/Telecominfraproject/wlan-testing.git
				synced 2025-11-04 04:48:01 +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:
		@@ -3758,7 +3758,6 @@ def get_ip_address_eap_and(request, WifiName, User, ttls_passwd, setup_perfectoM
 | 
				
			|||||||
        # -----------------To Open Connections page---------------------------
 | 
					        # -----------------To Open Connections page---------------------------
 | 
				
			||||||
    closeApp(connData["appPackage-android"], setup_perfectoMobile)
 | 
					    closeApp(connData["appPackage-android"], setup_perfectoMobile)
 | 
				
			||||||
    return ip_address_element_text, ssid_with_internet
 | 
					    return ip_address_element_text, ssid_with_internet
 | 
				
			||||||
 | 
					 | 
				
			||||||
#only to connect to wifi
 | 
					#only to connect to wifi
 | 
				
			||||||
def wifi_connect_eap(request, WifiName, User, ttls_passwd, setup_perfectoMobile, connData):
 | 
					def wifi_connect_eap(request, WifiName, User, ttls_passwd, setup_perfectoMobile, connData):
 | 
				
			||||||
    print("\n-------------------------------------")
 | 
					    print("\n-------------------------------------")
 | 
				
			||||||
@@ -6677,3 +6676,75 @@ def get_phone_information(setup_perfectoMobile, search_this):
 | 
				
			|||||||
    device_information = driver.execute_script('mobile:handset:info', params)
 | 
					    device_information = driver.execute_script('mobile:handset:info', params)
 | 
				
			||||||
    print("device information for "+search_this+" is: ", device_information)
 | 
					    print("device information for "+search_this+" is: ", device_information)
 | 
				
			||||||
    return device_information
 | 
					    return device_information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#------------Return upload download rate------------------------------
 | 
				
			||||||
 | 
					def return_upload_download_speed_android(request, setup_perfectoMobile, get_APToMobileDevice_data):
 | 
				
			||||||
 | 
					    print("\n-------------------------------------")
 | 
				
			||||||
 | 
					    print("Verify Upload & Download Speed")
 | 
				
			||||||
 | 
					    print("-------------------------------------")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    report = setup_perfectoMobile[1]
 | 
				
			||||||
 | 
					    driver = setup_perfectoMobile[0]
 | 
				
			||||||
 | 
					    connData = get_APToMobileDevice_data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    driver.switch_to.context('WEBVIEW_1')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        print("Launching Chrome")
 | 
				
			||||||
 | 
					        report.step_start("Google Home Page")
 | 
				
			||||||
 | 
					        driver.get(connData["webURL"])
 | 
				
			||||||
 | 
					        print("Enter Search Text")
 | 
				
			||||||
 | 
					        elementFindTxt = driver.find_element_by_xpath(connData["lblSearch"])
 | 
				
			||||||
 | 
					        elementFindTxt.send_keys("Internet Speed Test")
 | 
				
			||||||
 | 
					    except Exception as e:
 | 
				
			||||||
 | 
					        print("Launching Chrome Failed")
 | 
				
			||||||
 | 
					        print (e)
 | 
				
			||||||
 | 
					        # allure.attach(name="Speed Test logs: ", body=str("Launching Safari Failed"))
 | 
				
			||||||
 | 
					        # allure.attach(name="Speed Test logs: ", body=str("Error log: " + e))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        print("Click Search Button")
 | 
				
			||||||
 | 
					        report.step_start("Click Search Button")
 | 
				
			||||||
 | 
					        time.sleep(2)
 | 
				
			||||||
 | 
					        driver.implicitly_wait(2)
 | 
				
			||||||
 | 
					        elelSearch = driver.find_element_by_xpath("//*[@class='aajZCb']//*[@class='nz2CCf']/li[1]/div[2]")
 | 
				
			||||||
 | 
					        elelSearch.click()
 | 
				
			||||||
 | 
					    except:
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            time.sleep(2)
 | 
				
			||||||
 | 
					            driver.implicitly_wait(2)
 | 
				
			||||||
 | 
					            elelSearch = driver.find_element_by_xpath("//*[@class='aajZCb']//*[@class='nz2CCf']/li[1]/div[2]")
 | 
				
			||||||
 | 
					            elelSearch.click()
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            print("Search Drop Down not active...")
 | 
				
			||||||
 | 
					            return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        print("Click Run Speed Test Button...")
 | 
				
			||||||
 | 
					        report.step_start("Click Run Speed Test Button")
 | 
				
			||||||
 | 
					        driver.find_element_by_xpath(connData["BtnRunSpeedTest"]).click()
 | 
				
			||||||
 | 
					    except NoSuchElementException:
 | 
				
			||||||
 | 
					        print("Error in speed test element ", NoSuchElementException)
 | 
				
			||||||
 | 
					        # allure.attach(name="Speed Test logs: ", body=str("Search Run Speed Test not active..." + NoSuchElementException))
 | 
				
			||||||
 | 
					        return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #Get upload/Download Speed
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        print("Get Download Speed")
 | 
				
			||||||
 | 
					        report.step_start("Get upload/Download Speed")
 | 
				
			||||||
 | 
					        time.sleep(60)
 | 
				
			||||||
 | 
					        downloadMbps = driver.find_element_by_xpath(connData["downloadMbps"])
 | 
				
			||||||
 | 
					        downloadSpeed = downloadMbps.text
 | 
				
			||||||
 | 
					        print("Download: " + downloadSpeed + " Mbps")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        print("Get Upload Speed")
 | 
				
			||||||
 | 
					        report.step_start("Get Upload Speed")
 | 
				
			||||||
 | 
					        UploadMbps = driver.find_element_by_xpath(connData["UploadMbps"])
 | 
				
			||||||
 | 
					        uploadSpeed = UploadMbps.text
 | 
				
			||||||
 | 
					        print("Upload: " + uploadSpeed + " Mbps")
 | 
				
			||||||
 | 
					        allure.attach(name="Speed Test logs: ", body=str("Upload: " + uploadSpeed + " Mbps" + "  Download: " + downloadSpeed + " Mbps"))
 | 
				
			||||||
 | 
					        print("Access Point Verification Completed Successfully")
 | 
				
			||||||
 | 
					    except NoSuchElementException:
 | 
				
			||||||
 | 
					        print("Access Point Verification NOT Completed, checking Connection....")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return downloadSpeed, uploadSpeed
 | 
				
			||||||
										
											
												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