From 69477cc46bdf7edca6585ba98ae524ab410a6cf3 Mon Sep 17 00:00:00 2001 From: haricharan-jaka Date: Thu, 5 Aug 2021 17:23:30 +0530 Subject: [PATCH 1/3] Added Bridge mode connectivity testcases --- .../test_AccessPointConnection_BridgeMode.py | 221 ++++++++++++++++ .../client_connectivity/test_BridgeMode.py | 214 +++++++++++++++ .../test_AccessPointConnection.py | 67 +++++ .../test_AccessPointConnection_BridgeMode.py | 245 ++++++++++++++++++ .../client_connectivity/test_BridgeMode.py | 212 +++++++++++++++ 5 files changed, 959 insertions(+) create mode 100644 tests/e2e/interOp/android/AccessPointConnection/test_AccessPointConnection_BridgeMode.py create mode 100644 tests/e2e/interOp/android/client_connectivity/test_BridgeMode.py create mode 100644 tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection_BridgeMode.py create mode 100644 tests/e2e/interOp/iOS/client_connectivity/test_BridgeMode.py diff --git a/tests/e2e/interOp/android/AccessPointConnection/test_AccessPointConnection_BridgeMode.py b/tests/e2e/interOp/android/AccessPointConnection/test_AccessPointConnection_BridgeMode.py new file mode 100644 index 000000000..e3c348ec1 --- /dev/null +++ b/tests/e2e/interOp/android/AccessPointConnection/test_AccessPointConnection_BridgeMode.py @@ -0,0 +1,221 @@ +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 sys +import allure + +pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.interop_and, pytest.mark.android, pytest.mark.AccessPointConnection] + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +from android_lib import closeApp, verifyUploadDownloadSpeed_android, set_APconnMobileDevice_android, Toggle_AirplaneMode_android, ForgetWifiConnection, openApp + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"],"security_key": "something"}], + "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"]}, + {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"]}], + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"],"security_key": "something"}]}, + "rf": {}, + "radius": False +} + +@allure.feature("BRIDGE MODE CLIENT CONNECTIVITY") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) + +@pytest.mark.usefixtures("setup_profiles") +class TestAcessPointConnectionBridge(object): + + @pytest.mark.fiveg + @pytest.mark.wpa2_personal + def test_AccessPointConnection_5g_WPA2_Personal_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, setup_perfectoMobile_android): + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print ("SSID_NAME: " + ssidName) + #print ("SSID_PASS: " + ssidPassword) + + 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_APToMobileDevice_data + + #Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + #Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + #Verify Upload download Speed from device Selection + assert verifyUploadDownloadSpeed_android(request, setup_perfectoMobile_android, connData) + + #ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.wpa2_personal + def test_AccessPointConnection_2g_WPA2_Personal_Bridge(self,request, get_vif_state, 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"] + print ("SSID_NAME: " + ssidName) + #print ("SSID_PASS: " + ssidPassword) + + 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 + + #Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + #Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + #Verify Upload download Speed from device Selection + assert verifyUploadDownloadSpeed_android(request, setup_perfectoMobile_android, connData) + + #ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.wpa + def test_AccessPointConnection_5g_WPA_Bridge(self, request, get_vif_state, 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"] + print ("SSID_NAME: " + ssidName) + #print ("SSID_PASS: " + ssidPassword) + + 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 + + #Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + #Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + #Verify Upload download Speed from device Selection + assert verifyUploadDownloadSpeed_android(request, setup_perfectoMobile_android, connData) + + #ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.wpa + def test_AccessPointConnection_2g_WPA_Bridge(self, request, get_vif_state, 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"] + print ("SSID_NAME: " + ssidName) + #print ("SSID_PASS: " + ssidPassword) + + 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 + + #Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + #Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + #Verify Upload download Speed from device Selection + assert verifyUploadDownloadSpeed_android(request, setup_perfectoMobile_android, connData) + + #ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.open + def test_AccessPointConnection_2g_OPEN_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + 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_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + # Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + # Verify Upload download Speed from device Selection + assert verifyUploadDownloadSpeed_android(request, setup_perfectoMobile_android, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.open + def test_AccessPointConnection_5g_OPEN_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + + 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_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + # Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + # Verify Upload download Speed from device Selection + assert verifyUploadDownloadSpeed_android(request, setup_perfectoMobile_android, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) diff --git a/tests/e2e/interOp/android/client_connectivity/test_BridgeMode.py b/tests/e2e/interOp/android/client_connectivity/test_BridgeMode.py new file mode 100644 index 000000000..c8ce6b6fb --- /dev/null +++ b/tests/e2e/interOp/android/client_connectivity/test_BridgeMode.py @@ -0,0 +1,214 @@ +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 sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.android, pytest.mark.interop_and, + pytest.mark.ClientConnectivity] + +from android_lib import closeApp, set_APconnMobileDevice_android, verifyUploadDownloadSpeed_android, \ + Toggle_AirplaneMode_android, ForgetWifiConnection, openApp + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "security_key": "something"}], + "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"]}, + {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"]}], + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "security_key": "something"}]}, + "rf": {}, + "radius": False +} + + +@allure.feature("BRIDGE MODE CLIENT CONNECTIVITY") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestBridgeMode(object): + + @pytest.mark.fiveg + @pytest.mark.wpa2_personal + def test_ClientConnectivity_5g_WPA2_Personal_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_android): + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + + 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_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + # Verify Upload download Speed from device Selection + assert verifyUploadDownloadSpeed_android(request, setup_perfectoMobile_android, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.wpa2_personal + def test_ClientConnectivity_2g_WPA2_Personal_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_android): + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + + 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_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + # Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.wpa + def test_ClientConnectivity_2g_WPA_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_android): + profile_data = setup_params_general["ssid_modes"]["wpa"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + + 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_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + # Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.wpa + def test_ClientConnectivity_5g_WPA_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_android): + profile_data = setup_params_general["ssid_modes"]["wpa"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + + 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_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + # Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.open + def test_ClientConnectivity_2g_OPEN_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + 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_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + # Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.open + def test_ClientConnectivity_5g_OPEN_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_android): + + profile_data = setup_params_general["ssid_modes"]["open"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + + 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_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_android(request, ssidName, ssidPassword, setup_perfectoMobile_android, connData) + + # Toggle AirplaneMode + assert Toggle_AirplaneMode_android(request, setup_perfectoMobile_android, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_android, ssidName, connData) + diff --git a/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection.py b/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection.py index 092e73fc9..4eab349cc 100644 --- a/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection.py +++ b/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection.py @@ -26,6 +26,8 @@ setup_params_general = { "ssid_modes": { "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"],"security_key": "something"}], + "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"]}, + {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"]}], "wpa2_personal": [ {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"],"security_key": "something"}]}, @@ -168,4 +170,69 @@ class TestAccessPointConnectivety(object): ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) #ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.open + def test_AccessPointConnection_5g_OPEN(self, request, get_vif_state, get_AccessPointConn_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["open"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_AccessPointConn_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Need An ip To ping + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData, ssidName) + + # Open Ping Application + openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS) + + ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.open + def test_AccessPointConnection_2g_OPEN(self, request, get_vif_state, get_AccessPointConn_data, + setup_perfectoMobile_iOS): + profile_data = setup_params_general["ssid_modes"]["open"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_AccessPointConn_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Need An ip To ping + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData, ssidName) + + # Open Ping Application + openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS) + + ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) + + # ForgetWifi ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) \ No newline at end of file diff --git a/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection_BridgeMode.py b/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection_BridgeMode.py new file mode 100644 index 000000000..c65f8cbb2 --- /dev/null +++ b/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection_BridgeMode.py @@ -0,0 +1,245 @@ +from logging import exception +import io +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 sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +from iOS_lib import closeApp, openApp, get_WifiIPAddress_iOS, ForgetWifiConnection, ping_deftapps_iOS, \ + Toggle_AirplaneMode_iOS, set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown + +pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.ios, pytest.mark.interop_ios, + pytest.mark.AccessPointConnection] + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "security_key": "something"}], + "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"]}, + {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"]}], + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "security_key": "something"}]}, + "rf": {}, + "radius": False +} + + +@allure.feature("BRIDGE MODE CLIENT CONNECTIVITY") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestAccessPointConnectivetyBridge(object): + + @pytest.mark.fiveg + @pytest.mark.wpa2_personal + def test_AccessPointConnection_5g_WPA2_Personal_Bridge(self, request, get_vif_state, get_AccessPointConn_data, + setup_perfectoMobile_iOS): + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_AccessPointConn_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Need An ip To ping + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData, ssidName) + + # Open Ping Application + openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS) + + ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.wpa2_personal + def test_AccessPointConnection_2g_WPA2_Personal_Bridge(self, request, get_vif_state, get_AccessPointConn_data, + setup_perfectoMobile_iOS): + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_AccessPointConn_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Need An ip To ping + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData) + + # Open Ping Application + openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS) + + ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.wpa + def test_AccessPointConnection_5g_WPA_Bridge(self, request, get_vif_state, get_AccessPointConn_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["wpa"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_AccessPointConn_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Need An ip To ping + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData, ssidName) + + # Open Ping Application + openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS) + + ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.wpa + def test_AccessPointConnection_2g_WPA_Bridge(self, request, get_vif_state, get_AccessPointConn_data, + setup_perfectoMobile_iOS): + profile_data = setup_params_general["ssid_modes"]["wpa"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_AccessPointConn_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Need An ip To ping + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData, ssidName) + + # Open Ping Application + openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS) + + ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.open + def test_AccessPointConnection_5g_OPEN_Bridge(self, request, get_vif_state, get_AccessPointConn_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["open"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_AccessPointConn_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Need An ip To ping + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData, ssidName) + + # Open Ping Application + openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS) + + ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.open + def test_AccessPointConnection_2g_OPEN_Bridge(self, request, get_vif_state, get_AccessPointConn_data, + setup_perfectoMobile_iOS): + profile_data = setup_params_general["ssid_modes"]["open"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + # print ("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_AccessPointConn_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Need An ip To ping + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData, ssidName) + + # Open Ping Application + openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS) + + ping_deftapps_iOS(setup_perfectoMobile_iOS, wifi_ip) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) \ No newline at end of file diff --git a/tests/e2e/interOp/iOS/client_connectivity/test_BridgeMode.py b/tests/e2e/interOp/iOS/client_connectivity/test_BridgeMode.py new file mode 100644 index 000000000..6fe5e3925 --- /dev/null +++ b/tests/e2e/interOp/iOS/client_connectivity/test_BridgeMode.py @@ -0,0 +1,212 @@ +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 sys +import allure + +if 'perfecto_libs' not in sys.path: + sys.path.append(f'../libs/perfecto_libs') + +pytestmark = [pytest.mark.sanity, pytest.mark.interop, pytest.mark.interop_ios, pytest.mark.ClientConnectivity] + +from iOS_lib import closeApp, openApp, verifyUploadDownloadSpeediOS, ForgetWifiConnection, Toggle_AirplaneMode_iOS, \ + set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa": [{"ssid_name": "ssid_wpa_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "security_key": "something"}], + "open": [{"ssid_name": "ssid_open_2g", "appliedRadios": ["is2dot4GHz"]}, + {"ssid_name": "ssid_open_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"]}], + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["is2dot4GHz"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["is5GHzU", "is5GHz", "is5GHzL"], + "security_key": "something"}]}, + "rf": {}, + "radius": False +} + + +@allure.feature("BRIDGE MODE CLIENT CONNECTIVITY") +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestBridgeMode(object): + + @pytest.mark.fiveg + @pytest.mark.wpa2_personal + def test_ClientConnectivity_5g_WPA2_Personal_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Verify Upload download Speed from device Selection + verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.wpa2_personal + def test_ClientConnectivity_2g_WPA2_Personal_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Verify Upload download Speed from device Selection + verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.wpa + def test_ClientConnectivity_2g_WPA_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["wpa"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Verify Upload download Speed from device Selection + verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.wpa + def test_ClientConnectivity_5g_WPA_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["wpa"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = profile_data["security_key"] + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Verify Upload download Speed from device Selection + verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.twog + @pytest.mark.open + def test_ClientConnectivity_2g_OPEN_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["open"][0] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Verify Upload download Speed from device Selection + verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) + + @pytest.mark.fiveg + @pytest.mark.open + def test_ClientConnectivity_5g_OPEN_Bridge(self, request, get_vif_state, get_APToMobileDevice_data, + setup_perfectoMobile_iOS): + + profile_data = setup_params_general["ssid_modes"]["open"][1] + ssidName = profile_data["ssid_name"] + ssidPassword = "[BLANK]" + print("SSID_NAME: " + ssidName) + print("SSID_PASS: " + ssidPassword) + 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_iOS[1] + driver = setup_perfectoMobile_iOS[0] + connData = get_APToMobileDevice_data + + # Set Wifi/AP Mode + set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) + + # Verify Upload download Speed from device Selection + verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData) + + # ForgetWifi + ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) \ No newline at end of file From a8592207e298a89b02e90970fd22d3f765ec02bd Mon Sep 17 00:00:00 2001 From: haricharan-jaka Date: Thu, 5 Aug 2021 17:24:53 +0530 Subject: [PATCH 2/3] Added open security to AccessPointConnection iOS --- .../iOS/AccessPointConnection/test_AccessPointConnection.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection.py b/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection.py index 4eab349cc..5fb07b44c 100644 --- a/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection.py +++ b/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection.py @@ -108,7 +108,6 @@ class TestAccessPointConnectivety(object): #ForgetWifi ForgetWifiConnection(request, setup_perfectoMobile_iOS, ssidName, connData) - @pytest.mark.fiveg @pytest.mark.wpa def test_AccessPointConnection_5g_WPA(self, request, get_vif_state, get_AccessPointConn_data, setup_perfectoMobile_iOS): From b8fafc767351a0b8e2fcad332754b7ce0f3c5b22 Mon Sep 17 00:00:00 2001 From: haricharan-jaka Date: Fri, 13 Aug 2021 13:52:04 +0530 Subject: [PATCH 3/3] Fixed the ssid parameter --- .../test_AccessPointConnection_BridgeMode.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection_BridgeMode.py b/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection_BridgeMode.py index c65f8cbb2..dd97ef960 100644 --- a/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection_BridgeMode.py +++ b/tests/e2e/interOp/iOS/AccessPointConnection/test_AccessPointConnection_BridgeMode.py @@ -104,7 +104,7 @@ class TestAccessPointConnectivetyBridge(object): set_APconnMobileDevice_iOS(request, ssidName, ssidPassword, setup_perfectoMobile_iOS, connData) # Need An ip To ping - wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData) + wifi_ip = get_WifiIPAddress_iOS(request, setup_perfectoMobile_iOS, connData, ssidName) # Open Ping Application openApp(connData["bundleId-iOS-Ping"], setup_perfectoMobile_iOS)