mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-11-02 20:07:57 +00:00
357 lines
17 KiB
Python
357 lines
17 KiB
Python
"""
|
|
EAP Passpoint NAT Mode
|
|
Run wpa2_eap:
|
|
pytest -m "OpenRoaming and interop_ios and fiveg and wpa2_eap and nat" -s -vvv --testbed interop --skip-upgrade
|
|
pytest -m "OpenRoaming and interop_ios and twog and wpa2_eap and nat" -s -vvv --testbed interop --skip-upgrade
|
|
Run wpa2_only_eap:
|
|
pytest -m "OpenRoaming and interop_ios and fiveg and wpa2_only_eap and nat" -s -vvv --testbed interop --skip-upgrade
|
|
pytest -m "OpenRoaming and interop_ios and twog and wpa2_only_eap and nat" -s -vvv --testbed interop --skip-upgrade
|
|
Run all:
|
|
pytest -m "OpenRoaming and interop_ios and nat" -s -vvv --testbed interop --skip-upgrade
|
|
"""
|
|
|
|
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.ios, pytest.mark.openRoaming, pytest.mark.nat]
|
|
pytestmark = [pytest.mark.openRoaming]
|
|
|
|
from iOS_lib import closeApp, openApp, ForgetProfileWifiConnection, deleteOpenRoamingInstalledProfile, verifyUploadDownloadSpeediOS, downloadInstallOpenRoamingProfile, ForgetWifiConnection, Toggle_AirplaneMode_iOS, set_APconnMobileDevice_iOS, verify_APconnMobileDevice_iOS, Toggle_WifiMode_iOS, tearDown
|
|
|
|
setup_params_eap = {
|
|
"mode": "NAT",
|
|
"ssid_modes": {
|
|
"open": [
|
|
{"ssid_name": "passpoint_profile_download", "appliedRadios": ["is2dot4GHz"]}
|
|
],
|
|
"wpa2_eap": [
|
|
{"ssid_name": "ssid_wpa2_eap_passpoint_2g", "appliedRadios": ["is2dot4GHz"]},
|
|
{"ssid_name": "ssid_wpa2_eap_passpoint_5g", "appliedRadios": ["is5GHz"]}
|
|
],
|
|
"wpa2_only_eap": [
|
|
{"ssid_name": "ssid_wpa2_only_eap_passpoint_2g", "appliedRadios": ["is2dot4GHz"]},
|
|
{"ssid_name": "ssid_wpa2_only_eap_passpoint_5g", "appliedRadios": ["is5GHz"]}
|
|
]
|
|
}
|
|
}
|
|
|
|
@allure.feature("NAT MODE EAP PASSPOINT SETUP")
|
|
@pytest.mark.parametrize(
|
|
'setup_profiles',
|
|
[setup_params_eap],
|
|
indirect=True,
|
|
scope="class"
|
|
)
|
|
@pytest.mark.usefixtures("setup_profiles")
|
|
class TestOpenRoamingNAT(object):
|
|
|
|
@pytest.mark.wpa2_eap
|
|
@pytest.mark.twog
|
|
@pytest.mark.parametrize(
|
|
'push_ap_profile',
|
|
[{"ssid_names": ["ssid_wpa2_eap_passpoint_2g", "passpoint_profile_download"]}],
|
|
indirect=True,
|
|
scope="function"
|
|
)
|
|
@pytest.mark.usefixtures("push_ap_profile")
|
|
def test_OpenRoaming_2g_WPA2_EAP_NAT(self, passpoint_profile_info, push_ap_profile, request, get_APToMobileDevice_data, setup_perfectoMobile_iOS):
|
|
|
|
result = push_ap_profile['ssid_wpa2_eap_passpoint_2g']['vif_config']
|
|
if result:
|
|
allure.attach(name="Config push to AP for ssid_wpa2_eap_passpoint_2g successful ", body="")
|
|
else:
|
|
allure.attach(name="Config push to AP for ssid_wpa2_eap_passpoint_2g failed", body="")
|
|
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
|
assert result
|
|
result = push_ap_profile['ssid_wpa2_eap_passpoint_2g']['vif_state']
|
|
if result:
|
|
allure.attach(name="Config apply to AP for ssid_wpa2_eap_passpoint_2g successful ", body="")
|
|
else:
|
|
allure.attach(name="Config apply to AP for ssid_wpa2_eap_passpoint_2g failed", body="")
|
|
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
|
assert result
|
|
|
|
print("SSID to download profile :: ", setup_params_eap["ssid_modes"]["open"][0]["ssid_name"])
|
|
print("SSID to validate connectivity :: ", setup_params_eap["ssid_modes"]["wpa2_eap"][0]["ssid_name"])
|
|
print("Profile download URL :: ", passpoint_profile_info["profile_download_url_ios"])
|
|
print("Profile name to remove :: ", passpoint_profile_info["profile_name_on_device"])
|
|
|
|
report = setup_perfectoMobile_iOS[1]
|
|
driver = setup_perfectoMobile_iOS[0]
|
|
connData = get_APToMobileDevice_data
|
|
|
|
downloadProfileSSID = setup_params_eap["ssid_modes"]["open"][0]["ssid_name"]
|
|
downloadProfileSSIDPass = ""
|
|
#profileDownloadURL = passpoint_profile_info["profile_download_url_ios"]
|
|
profileDownloadURL = "https://onboard.almondlabs.net/ttls/AmeriBand-Profile.mobileconfig"
|
|
profileName = passpoint_profile_info["profile_name_on_device"]
|
|
profileNameSSID = setup_params_eap["ssid_modes"]["wpa2_eap"][1]["ssid_name"]
|
|
|
|
#Setting Perfecto ReportClient....
|
|
#SSID to download profile :: passpoint_profile_download
|
|
#SSID to validate connectivity :: ssid_wpa2_eap_passpoint_5g
|
|
#Profile download URL :: https://onboard.almondlabs.net/ios.html
|
|
#Profile name to remove :: AmeriBand
|
|
|
|
#Delete Profile Under Settings
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
|
|
#Set Wifi/AP Mode
|
|
set_APconnMobileDevice_iOS(request, downloadProfileSSID, downloadProfileSSIDPass, setup_perfectoMobile_iOS, connData)
|
|
|
|
#Install Profile
|
|
downloadInstallOpenRoamingProfile(request, profileDownloadURL, setup_perfectoMobile_iOS, connData)
|
|
|
|
#ForgetWifi Original
|
|
ForgetWifiConnection(request, setup_perfectoMobile_iOS, downloadProfileSSID, connData)
|
|
|
|
try:
|
|
assert verify_APconnMobileDevice_iOS(request, profileNameSSID, setup_perfectoMobile_iOS, connData)
|
|
#Verify Upload download Speed from device Selection
|
|
verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData)
|
|
except Exception as e:
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
assert False
|
|
|
|
#Delete Profile Under Settings
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
|
|
|
|
@pytest.mark.wpa2_eap
|
|
@pytest.mark.fiveg
|
|
@pytest.mark.parametrize(
|
|
'push_ap_profile',
|
|
[{"ssid_names": ["ssid_wpa2_eap_passpoint_5g", "passpoint_profile_download"]}],
|
|
indirect=True,
|
|
scope="function"
|
|
)
|
|
@pytest.mark.usefixtures("push_ap_profile")
|
|
def test_OpenRoaming_5g_WPA2_EAP_NAT(self, passpoint_profile_info, push_ap_profile, request, get_APToMobileDevice_data, setup_perfectoMobile_iOS):
|
|
|
|
result = push_ap_profile['ssid_wpa2_eap_passpoint_5g']['vif_config']
|
|
if result:
|
|
allure.attach(name="Config push to AP for ssid_wpa2_eap_passpoint_5g successful ", body="")
|
|
else:
|
|
allure.attach(name="Config push to AP for ssid_wpa2_eap_passpoint_5g failed", body="")
|
|
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
|
assert result
|
|
result = push_ap_profile['ssid_wpa2_eap_passpoint_5g']['vif_state']
|
|
if result:
|
|
allure.attach(name="Config apply to AP for ssid_wpa2_eap_passpoint_5g successful ", body="")
|
|
else:
|
|
allure.attach(name="Config apply to AP for ssid_wpa2_eap_passpoint_5g failed", body="")
|
|
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
|
assert result
|
|
|
|
print("SSID to download profile :: ", setup_params_eap["ssid_modes"]["open"][0]["ssid_name"])
|
|
print("SSID to validate connectivity :: ", setup_params_eap["ssid_modes"]["wpa2_eap"][1]["ssid_name"])
|
|
print("Profile download URL :: ", passpoint_profile_info["profile_download_url_ios"])
|
|
print("Profile name to remove :: ", passpoint_profile_info["profile_name_on_device"])
|
|
|
|
report = setup_perfectoMobile_iOS[1]
|
|
driver = setup_perfectoMobile_iOS[0]
|
|
connData = get_APToMobileDevice_data
|
|
|
|
downloadProfileSSID = setup_params_eap["ssid_modes"]["open"][0]["ssid_name"]
|
|
downloadProfileSSIDPass = ""
|
|
#profileDownloadURL = passpoint_profile_info["profile_download_url_ios"]
|
|
profileDownloadURL = "https://onboard.almondlabs.net/ttls/AmeriBand-Profile.mobileconfig"
|
|
profileName = passpoint_profile_info["profile_name_on_device"]
|
|
profileNameSSID = setup_params_eap["ssid_modes"]["wpa2_eap"][1]["ssid_name"]
|
|
|
|
#Setting Perfecto ReportClient....
|
|
#SSID to download profile :: passpoint_profile_download
|
|
#SSID to validate connectivity :: ssid_wpa2_eap_passpoint_5g
|
|
#Profile download URL :: https://onboard.almondlabs.net/ios.html
|
|
#Profile name to remove :: AmeriBand
|
|
|
|
#ForgetProfileWifiConnection(request, setup_perfectoMobile_iOS, profileNameSSID, connData)
|
|
#Delete Profile Under Settings
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
|
|
#Set Wifi/AP Mode
|
|
set_APconnMobileDevice_iOS(request, downloadProfileSSID, downloadProfileSSIDPass, setup_perfectoMobile_iOS, connData)
|
|
|
|
#Install Profile
|
|
downloadInstallOpenRoamingProfile(request, profileDownloadURL, setup_perfectoMobile_iOS, connData)
|
|
|
|
#ForgetWifi Original
|
|
ForgetWifiConnection(request, setup_perfectoMobile_iOS, downloadProfileSSID, connData)
|
|
|
|
try:
|
|
assert verify_APconnMobileDevice_iOS(request, profileNameSSID, setup_perfectoMobile_iOS, connData)
|
|
#Verify Upload download Speed from device Selection
|
|
verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData)
|
|
except Exception as e:
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
assert False
|
|
|
|
#Delete Profile Under Settings
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
|
|
|
|
@pytest.mark.wpa2_only_eap
|
|
@pytest.mark.twog
|
|
@pytest.mark.parametrize(
|
|
'push_ap_profile',
|
|
[{"ssid_names": ["ssid_wpa2_only_eap_passpoint_2g", "passpoint_profile_download"]}],
|
|
indirect=True,
|
|
scope="function"
|
|
)
|
|
@pytest.mark.usefixtures("push_ap_profile")
|
|
def test_OpenRoaming_wpa2_only_eap_2g_NAT(self, passpoint_profile_info, push_ap_profile, request, get_APToMobileDevice_data, setup_perfectoMobile_iOS):
|
|
"""
|
|
EAP Passpoint BRIDGE Mode
|
|
pytest -m "interop_iOS and eap_passpoint and bridge and wpa2_only_eap and twog"
|
|
"""
|
|
result = push_ap_profile['ssid_wpa2_only_eap_passpoint_2g']['vif_config']
|
|
if result:
|
|
allure.attach(name="Config push to AP for ssid_wpa2_only_eap_passpoint_2g successful ", body="")
|
|
else:
|
|
allure.attach(name="Config push to AP for ssid_wpa2_only_eap_passpoint_2g failed", body="")
|
|
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
|
assert result
|
|
result = push_ap_profile['ssid_wpa2_only_eap_passpoint_2g']['vif_state']
|
|
if result:
|
|
allure.attach(name="Config apply to AP for ssid_wpa2_only_eap_passpoint_2g successful ", body="")
|
|
else:
|
|
allure.attach(name="Config apply to AP for ssid_wpa2_only_eap_passpoint_2g failed", body="")
|
|
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
|
assert result
|
|
|
|
print("SSID to download profile :: ", setup_params_eap["ssid_modes"]["open"][0]["ssid_name"])
|
|
print("SSID to validate connectivity :: ", setup_params_eap["ssid_modes"]["wpa2_only_eap"][0]["ssid_name"])
|
|
print("Profile download URL :: ", passpoint_profile_info["profile_download_url_ios"])
|
|
print("Profile name to remove :: ", passpoint_profile_info["profile_name_on_device"])
|
|
|
|
report = setup_perfectoMobile_iOS[1]
|
|
driver = setup_perfectoMobile_iOS[0]
|
|
connData = get_APToMobileDevice_data
|
|
|
|
downloadProfileSSID = setup_params_eap["ssid_modes"]["open"][0]["ssid_name"]
|
|
downloadProfileSSIDPass = ""
|
|
#profileDownloadURL = passpoint_profile_info["profile_download_url_ios"]
|
|
profileDownloadURL = "https://onboard.almondlabs.net/ttls/AmeriBand-Profile.mobileconfig"
|
|
profileName = passpoint_profile_info["profile_name_on_device"]
|
|
profileNameSSID = setup_params_eap["ssid_modes"]["wpa2_eap"][1]["ssid_name"]
|
|
|
|
#Setting Perfecto ReportClient....
|
|
#SSID to download profile :: passpoint_profile_download
|
|
#SSID to validate connectivity :: ssid_wpa2_eap_passpoint_5g
|
|
#Profile download URL :: https://onboard.almondlabs.net/ios.html
|
|
#Profile name to remove :: AmeriBand
|
|
|
|
#Delete Profile Under Settings
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
|
|
#Set Wifi/AP Mode
|
|
set_APconnMobileDevice_iOS(request, downloadProfileSSID, downloadProfileSSIDPass, setup_perfectoMobile_iOS, connData)
|
|
|
|
#Install Profile
|
|
downloadInstallOpenRoamingProfile(request, profileDownloadURL, setup_perfectoMobile_iOS, connData)
|
|
|
|
#ForgetWifi Original
|
|
ForgetWifiConnection(request, setup_perfectoMobile_iOS, downloadProfileSSID, connData)
|
|
|
|
try:
|
|
assert verify_APconnMobileDevice_iOS(request, profileNameSSID, setup_perfectoMobile_iOS, connData)
|
|
#Verify Upload download Speed from device Selection
|
|
verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData)
|
|
except Exception as e:
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
assert False
|
|
|
|
#Delete Profile Under Settings
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
|
|
|
|
|
|
@pytest.mark.wpa2_only_eap
|
|
@pytest.mark.fiveg
|
|
@pytest.mark.parametrize(
|
|
'push_ap_profile',
|
|
[{"ssid_names": ["ssid_wpa2_only_eap_passpoint_5g", "passpoint_profile_download"]}],
|
|
indirect=True,
|
|
scope="function"
|
|
)
|
|
@pytest.mark.usefixtures("push_ap_profile")
|
|
def test_OpenRoaming_wpa2_only_eap_5g_NAT(self, passpoint_profile_info, push_ap_profile, request, get_APToMobileDevice_data, setup_perfectoMobile_iOS):
|
|
"""
|
|
EAP Passpoint BRIDGE Mode
|
|
pytest -m "interop_iOS and eap_passpoint and bridge and wpa2_only_eap and fiveg"
|
|
"""
|
|
result = push_ap_profile['ssid_wpa2_only_eap_passpoint_5g']['vif_config']
|
|
if result:
|
|
allure.attach(name="Config push to AP for ssid_wpa2_only_eap_passpoint_5g successful ", body="")
|
|
else:
|
|
allure.attach(name="Config push to AP for ssid_wpa2_only_eap_passpoint_5g failed", body="")
|
|
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
|
assert result
|
|
result = push_ap_profile['ssid_wpa2_only_eap_passpoint_5g']['vif_state']
|
|
if result:
|
|
allure.attach(name="Config apply to AP for ssid_wpa2_only_eap_passpoint_5g successful ", body="")
|
|
else:
|
|
allure.attach(name="Config apply to AP for ssid_wpa2_only_eap_passpoint_5g failed", body="")
|
|
pytest.xfail("SSID NOT AVAILABLE IN VIF STATE")
|
|
assert result
|
|
|
|
print("SSID to download profile :: ", setup_params_eap["ssid_modes"]["open"][0]["ssid_name"])
|
|
print("SSID to validate connectivity :: ", setup_params_eap["ssid_modes"]["wpa2_only_eap"][1]["ssid_name"])
|
|
print("Profile download URL :: ", passpoint_profile_info["profile_download_url_ios"])
|
|
print("Profile name to remove :: ", passpoint_profile_info["profile_name_on_device"])
|
|
|
|
report = setup_perfectoMobile_iOS[1]
|
|
driver = setup_perfectoMobile_iOS[0]
|
|
connData = get_APToMobileDevice_data
|
|
|
|
downloadProfileSSID = setup_params_eap["ssid_modes"]["open"][0]["ssid_name"]
|
|
downloadProfileSSIDPass = ""
|
|
#profileDownloadURL = passpoint_profile_info["profile_download_url_ios"]
|
|
profileDownloadURL = "https://onboard.almondlabs.net/ttls/AmeriBand-Profile.mobileconfig"
|
|
profileName = passpoint_profile_info["profile_name_on_device"]
|
|
profileNameSSID = setup_params_eap["ssid_modes"]["wpa2_eap"][1]["ssid_name"]
|
|
|
|
#Setting Perfecto ReportClient....
|
|
#SSID to download profile :: passpoint_profile_download
|
|
#SSID to validate connectivity :: ssid_wpa2_eap_passpoint_5g
|
|
#Profile download URL :: https://onboard.almondlabs.net/ios.html
|
|
#Profile name to remove :: AmeriBand
|
|
|
|
#Delete Profile Under Settings
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
|
|
#Set Wifi/AP Mode
|
|
set_APconnMobileDevice_iOS(request, downloadProfileSSID, downloadProfileSSIDPass, setup_perfectoMobile_iOS, connData)
|
|
|
|
#Install Profile
|
|
downloadInstallOpenRoamingProfile(request, profileDownloadURL, setup_perfectoMobile_iOS, connData)
|
|
|
|
#ForgetWifi Original
|
|
ForgetWifiConnection(request, setup_perfectoMobile_iOS, downloadProfileSSID, connData)
|
|
|
|
try:
|
|
assert verify_APconnMobileDevice_iOS(request, profileNameSSID, setup_perfectoMobile_iOS, connData)
|
|
#Verify Upload download Speed from device Selection
|
|
verifyUploadDownloadSpeediOS(request, setup_perfectoMobile_iOS, connData)
|
|
except Exception as e:
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|
|
assert False
|
|
|
|
#Delete Profile Under Settings
|
|
deleteOpenRoamingInstalledProfile(request, profileName, setup_perfectoMobile_iOS, connData)
|