From 9ad99bed1ff14b6d8488d63ecb1be0c6e9ca40fd Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sun, 21 Nov 2021 15:09:43 +0530 Subject: [PATCH 01/52] Added multi station association and disassociation Signed-off-by: jitendracandela --- libs/lanforge/lf_tests.py | 5 +- .../__init__.py | 0 .../wpa2_personal/__init__.py | 0 .../test_bridge_association_disassociation.py | 60 +++++++++++++++++++ 4 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 tests/e2e/advanced/multi_association_disassociation/__init__.py create mode 100644 tests/e2e/advanced/multi_association_disassociation/wpa2_personal/__init__.py create mode 100644 tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index a439174b5..b0bd57b07 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -233,7 +233,7 @@ class RunTest: def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", instance_name="wct_instance", download_rate="1Gbps", influx_tags=[], - upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", raw_lines=[]): + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, raw_lines=[]): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) if mode == "BRIDGE": upstream_port = self.upstream_port @@ -260,7 +260,8 @@ class RunTest: upload_rate=upload_rate, download_rate=download_rate, sort="interleave", - create_stations=True, + stations=stations, + create_stations=create_stations, radio=None, security=None, paswd=None, diff --git a/tests/e2e/advanced/multi_association_disassociation/__init__.py b/tests/e2e/advanced/multi_association_disassociation/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/__init__.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py new file mode 100644 index 000000000..aee7a9d28 --- /dev/null +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -0,0 +1,60 @@ +import pytest +import allure +import os +import time +import pandas as pd + +pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.bridge] + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + ] + }, + "rf": {}, + "radius": False +} +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestMultiAssoDisassoBridge(object): + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5691", name="WIFI-5691") + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.up + def test_multi_station_udp_upload_2g(self, lf_test, lf_tools): + # run wifi capacity test here + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Downliad Rate:']] + wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) + time.sleep(30) + lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") + + + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + From 7041175f8c6c0d76bcfac892fa4892fc97bdfe0a Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sun, 21 Nov 2021 15:27:06 +0530 Subject: [PATCH 02/52] removed stations Signed-off-by: jitendracandela --- libs/lanforge/lf_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index b0bd57b07..b8f814a6f 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -233,7 +233,7 @@ class RunTest: def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", instance_name="wct_instance", download_rate="1Gbps", influx_tags=[], - upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, raw_lines=[]): + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", create_stations=True, raw_lines=[]): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) if mode == "BRIDGE": upstream_port = self.upstream_port From ed52ecceb9c3c5fff338119429b4edfc87cc4525 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sun, 21 Nov 2021 15:28:24 +0530 Subject: [PATCH 03/52] Added stations and create_stations argument in wifi_capacity method Signed-off-by: jitendracandela --- libs/lanforge/lf_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index b8f814a6f..b0bd57b07 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -233,7 +233,7 @@ class RunTest: def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", instance_name="wct_instance", download_rate="1Gbps", influx_tags=[], - upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", create_stations=True, raw_lines=[]): + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, raw_lines=[]): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) if mode == "BRIDGE": upstream_port = self.upstream_port From 00d1aa2daa023a8d922f9d6b1afc5b8901c07423 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sun, 21 Nov 2021 15:31:09 +0530 Subject: [PATCH 04/52] Added get_station_list and admin_up_down methods Signed-off-by: jitendracandela --- libs/lanforge/lf_tools.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index 83b2fc22e..067e67ce2 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -135,6 +135,24 @@ class ChamberView: self.CreateDut.ssid = temp self.CreateDut.add_ssids() + def get_station_list(self): + realm_obj = self.staConnect.localrealm + sta = realm_obj.station_list() + sta_list = [] + for i in sta: + for j in i: + sta_list.append(j) + return sta_list + + def admin_up_down(self, sta_list=[], option="up"): + realm_obj = self.staConnect.localrealm + if option == "up": + for i in sta_list: + realm_obj.admin_up(i) + elif option == "down": + for j in sta_list: + realm_obj.admin_down(j) + def Chamber_View(self): if self.delete_old_scenario: self.CreateChamberview.clean_cv_scenario(type="Network-Connectivity", scenario_name=self.scenario_name) From 9fc7b3b8655316cc194782b2666889127beb9001 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 16:12:03 +0530 Subject: [PATCH 05/52] modified dut name Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index aee7a9d28..7f015929a 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -30,15 +30,17 @@ class TestMultiAssoDisassoBridge(object): @pytest.mark.wpa2_personal @pytest.mark.twog @pytest.mark.up - def test_multi_station_udp_upload_2g(self, lf_test, lf_tools): + def test_multi_station_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] mode = "BRIDGE" vlan = 1 - lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + dut_name = create_lanforge_chamberview_dut + lf_tools.add_stations(band="2G", num_stations=16, dut=dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() sta_list = lf_tools.get_station_list() + print(sta_list) lf_tools.admin_up_down(sta_list=sta_list, option="up") sel_stations = ",".join(sta_list[0:8]) val = [['dl_rate_sel: Per-Station Downliad Rate:']] From 1a3320525afd63a3f096f1d67db2f54236c21a46 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 17:30:03 +0530 Subject: [PATCH 06/52] modified dut name Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 7f015929a..b143af969 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -36,8 +36,7 @@ class TestMultiAssoDisassoBridge(object): ssid_name = profile_data["ssid_name"] mode = "BRIDGE" vlan = 1 - dut_name = create_lanforge_chamberview_dut - lf_tools.add_stations(band="2G", num_stations=16, dut=dut_name, ssid_name=ssid_name) + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() sta_list = lf_tools.get_station_list() print(sta_list) From cc060627811259ef351a63e6b0cd18b842814ffd Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 17:54:24 +0530 Subject: [PATCH 07/52] added reset scenario Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index b143af969..95693a5c1 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -32,6 +32,7 @@ class TestMultiAssoDisassoBridge(object): @pytest.mark.up def test_multi_station_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] mode = "BRIDGE" From 9ebf5bf0992c8f1d3a5a411f890fee60a853101d Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 19:14:33 +0530 Subject: [PATCH 08/52] testing Signed-off-by: jitendracandela --- .../test_bridge_association_disassociation.py | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 95693a5c1..2feef3047 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -35,28 +35,29 @@ class TestMultiAssoDisassoBridge(object): lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] + print(ssid_name) mode = "BRIDGE" vlan = 1 lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() - sta_list = lf_tools.get_station_list() - print(sta_list) - lf_tools.admin_up_down(sta_list=sta_list, option="up") - sel_stations = ",".join(sta_list[0:8]) - val = [['dl_rate_sel: Per-Station Downliad Rate:']] - wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", - upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) - time.sleep(30) - lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") - time.sleep(10) - lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") - - - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - - lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - assert True + # sta_list = lf_tools.get_station_list() + # print(sta_list) + # lf_tools.admin_up_down(sta_list=sta_list, option="up") + # sel_stations = ",".join(sta_list[0:8]) + # val = [['dl_rate_sel: Per-Station Downliad Rate:']] + # wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, + # download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + # upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) + # time.sleep(30) + # lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") + # time.sleep(10) + # lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") + # + # + # + # report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + # + # lf_tools.attach_report_graphs(report_name=report_name) + # print("Test Completed... Cleaning up Stations") + # assert True From d8e3f9cdb9feb2a95ad33b4a957b74ae7a7aa08d Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 19:47:20 +0530 Subject: [PATCH 09/52] testing Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 2feef3047..7ee2027d4 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -34,7 +34,8 @@ class TestMultiAssoDisassoBridge(object): # run wifi capacity test here lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] - ssid_name = profile_data["ssid_name"] + ssid_name = [] + ssid_name.append(profile_data["ssid_name"]) print(ssid_name) mode = "BRIDGE" vlan = 1 From 47c690e2799abc30f71b31fe5b57a84ab969c229 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sun, 21 Nov 2021 15:09:43 +0530 Subject: [PATCH 10/52] Added multi station association and disassociation Signed-off-by: jitendracandela --- libs/lanforge/lf_tests.py | 5 +- .../__init__.py | 0 .../wpa2_personal/__init__.py | 0 .../test_bridge_association_disassociation.py | 60 +++++++++++++++++++ 4 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 tests/e2e/advanced/multi_association_disassociation/__init__.py create mode 100644 tests/e2e/advanced/multi_association_disassociation/wpa2_personal/__init__.py create mode 100644 tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index a439174b5..b0bd57b07 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -233,7 +233,7 @@ class RunTest: def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", instance_name="wct_instance", download_rate="1Gbps", influx_tags=[], - upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", raw_lines=[]): + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, raw_lines=[]): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) if mode == "BRIDGE": upstream_port = self.upstream_port @@ -260,7 +260,8 @@ class RunTest: upload_rate=upload_rate, download_rate=download_rate, sort="interleave", - create_stations=True, + stations=stations, + create_stations=create_stations, radio=None, security=None, paswd=None, diff --git a/tests/e2e/advanced/multi_association_disassociation/__init__.py b/tests/e2e/advanced/multi_association_disassociation/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/__init__.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py new file mode 100644 index 000000000..aee7a9d28 --- /dev/null +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -0,0 +1,60 @@ +import pytest +import allure +import os +import time +import pandas as pd + +pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.bridge] + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + ] + }, + "rf": {}, + "radius": False +} +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestMultiAssoDisassoBridge(object): + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5691", name="WIFI-5691") + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.up + def test_multi_station_udp_upload_2g(self, lf_test, lf_tools): + # run wifi capacity test here + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssid_name = profile_data["ssid_name"] + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Downliad Rate:']] + wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) + time.sleep(30) + lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") + + + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True + From 725bb98944d6192b4772cb525854f92dc042d57a Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sun, 21 Nov 2021 15:27:06 +0530 Subject: [PATCH 11/52] removed stations Signed-off-by: jitendracandela --- libs/lanforge/lf_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index b0bd57b07..b8f814a6f 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -233,7 +233,7 @@ class RunTest: def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", instance_name="wct_instance", download_rate="1Gbps", influx_tags=[], - upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, raw_lines=[]): + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", create_stations=True, raw_lines=[]): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) if mode == "BRIDGE": upstream_port = self.upstream_port From 54c9982d3bffa865e93c86757338f5a3218e9eec Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sun, 21 Nov 2021 15:28:24 +0530 Subject: [PATCH 12/52] Added stations and create_stations argument in wifi_capacity method Signed-off-by: jitendracandela --- libs/lanforge/lf_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index b8f814a6f..b0bd57b07 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -233,7 +233,7 @@ class RunTest: def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", instance_name="wct_instance", download_rate="1Gbps", influx_tags=[], - upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", create_stations=True, raw_lines=[]): + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, raw_lines=[]): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) if mode == "BRIDGE": upstream_port = self.upstream_port From 0edf4dbfad812e14469ff84d94c7f9bf58fd7fc7 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sun, 21 Nov 2021 15:31:09 +0530 Subject: [PATCH 13/52] Added get_station_list and admin_up_down methods Signed-off-by: jitendracandela --- libs/lanforge/lf_tools.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index 83b2fc22e..067e67ce2 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -135,6 +135,24 @@ class ChamberView: self.CreateDut.ssid = temp self.CreateDut.add_ssids() + def get_station_list(self): + realm_obj = self.staConnect.localrealm + sta = realm_obj.station_list() + sta_list = [] + for i in sta: + for j in i: + sta_list.append(j) + return sta_list + + def admin_up_down(self, sta_list=[], option="up"): + realm_obj = self.staConnect.localrealm + if option == "up": + for i in sta_list: + realm_obj.admin_up(i) + elif option == "down": + for j in sta_list: + realm_obj.admin_down(j) + def Chamber_View(self): if self.delete_old_scenario: self.CreateChamberview.clean_cv_scenario(type="Network-Connectivity", scenario_name=self.scenario_name) From cd68be1d1c100de15344175767ee8ce142b67d06 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 16:12:03 +0530 Subject: [PATCH 14/52] modified dut name Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index aee7a9d28..7f015929a 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -30,15 +30,17 @@ class TestMultiAssoDisassoBridge(object): @pytest.mark.wpa2_personal @pytest.mark.twog @pytest.mark.up - def test_multi_station_udp_upload_2g(self, lf_test, lf_tools): + def test_multi_station_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] mode = "BRIDGE" vlan = 1 - lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + dut_name = create_lanforge_chamberview_dut + lf_tools.add_stations(band="2G", num_stations=16, dut=dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() sta_list = lf_tools.get_station_list() + print(sta_list) lf_tools.admin_up_down(sta_list=sta_list, option="up") sel_stations = ",".join(sta_list[0:8]) val = [['dl_rate_sel: Per-Station Downliad Rate:']] From 7a656fb3787292f8c0ba4cf9aeff7d2354911c03 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 17:30:03 +0530 Subject: [PATCH 15/52] modified dut name Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 7f015929a..b143af969 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -36,8 +36,7 @@ class TestMultiAssoDisassoBridge(object): ssid_name = profile_data["ssid_name"] mode = "BRIDGE" vlan = 1 - dut_name = create_lanforge_chamberview_dut - lf_tools.add_stations(band="2G", num_stations=16, dut=dut_name, ssid_name=ssid_name) + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() sta_list = lf_tools.get_station_list() print(sta_list) From 31371a542098dc6c24ddeeeb4b5fbbd1cd45967f Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 17:54:24 +0530 Subject: [PATCH 16/52] added reset scenario Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index b143af969..95693a5c1 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -32,6 +32,7 @@ class TestMultiAssoDisassoBridge(object): @pytest.mark.up def test_multi_station_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] mode = "BRIDGE" From da44e559c3ca5cc0809d39b24b2e7af69ec2a725 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 19:14:33 +0530 Subject: [PATCH 17/52] testing Signed-off-by: jitendracandela --- .../test_bridge_association_disassociation.py | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 95693a5c1..2feef3047 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -35,28 +35,29 @@ class TestMultiAssoDisassoBridge(object): lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] + print(ssid_name) mode = "BRIDGE" vlan = 1 lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() - sta_list = lf_tools.get_station_list() - print(sta_list) - lf_tools.admin_up_down(sta_list=sta_list, option="up") - sel_stations = ",".join(sta_list[0:8]) - val = [['dl_rate_sel: Per-Station Downliad Rate:']] - wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, - download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", - upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) - time.sleep(30) - lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") - time.sleep(10) - lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") - - - - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - - lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - assert True + # sta_list = lf_tools.get_station_list() + # print(sta_list) + # lf_tools.admin_up_down(sta_list=sta_list, option="up") + # sel_stations = ",".join(sta_list[0:8]) + # val = [['dl_rate_sel: Per-Station Downliad Rate:']] + # wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, + # download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + # upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) + # time.sleep(30) + # lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") + # time.sleep(10) + # lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") + # + # + # + # report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + # + # lf_tools.attach_report_graphs(report_name=report_name) + # print("Test Completed... Cleaning up Stations") + # assert True From eb2d21d11fcb3d3faff51f99e333dcc2b0406529 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 19:47:20 +0530 Subject: [PATCH 18/52] testing Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 2feef3047..7ee2027d4 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -34,7 +34,8 @@ class TestMultiAssoDisassoBridge(object): # run wifi capacity test here lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] - ssid_name = profile_data["ssid_name"] + ssid_name = [] + ssid_name.append(profile_data["ssid_name"]) print(ssid_name) mode = "BRIDGE" vlan = 1 From 66e97d9d83ee8fd3e6d38bf9081cb4e9b45b4e1d Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 22 Nov 2021 23:01:31 +0530 Subject: [PATCH 19/52] fixed lf_skip Signed-off-by: jitendracandela --- .../test_bridge_association_disassociation.py | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 7ee2027d4..7e46f9b1c 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -32,33 +32,31 @@ class TestMultiAssoDisassoBridge(object): @pytest.mark.up def test_multi_station_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here - lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] - ssid_name = [] - ssid_name.append(profile_data["ssid_name"]) + ssid_name = profile_data["ssid_name"] print(ssid_name) mode = "BRIDGE" vlan = 1 lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() - # sta_list = lf_tools.get_station_list() - # print(sta_list) - # lf_tools.admin_up_down(sta_list=sta_list, option="up") - # sel_stations = ",".join(sta_list[0:8]) - # val = [['dl_rate_sel: Per-Station Downliad Rate:']] - # wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, - # download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", - # upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) - # time.sleep(30) - # lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") - # time.sleep(10) - # lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") - # - # - # - # report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - # - # lf_tools.attach_report_graphs(report_name=report_name) - # print("Test Completed... Cleaning up Stations") - # assert True + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Downliad Rate:']] + wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) + time.sleep(30) + lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") + + + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + print("Test Completed... Cleaning up Stations") + assert True From b57bb967f8f47a4d6d552c471f2491487fe9eec0 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Tue, 23 Nov 2021 11:15:09 +0530 Subject: [PATCH 20/52] fixed lf_skip Signed-off-by: jitendracandela --- .../wpa2_personal/test_bridge_association_disassociation.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 7e46f9b1c..cfcfad12e 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -48,8 +48,10 @@ class TestMultiAssoDisassoBridge(object): download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) time.sleep(30) + print("stations down") lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") time.sleep(10) + print("stations down") lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") From adc1784d9b43fb96bc64dc8d81a8fd5c470aac6d Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Wed, 24 Nov 2021 20:03:42 +0530 Subject: [PATCH 21/52] modified read_kpi_file method Signed-off-by: jitendracandela --- libs/lanforge/lf_tools.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index 067e67ce2..233f00c68 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -152,6 +152,7 @@ class ChamberView: elif option == "down": for j in sta_list: realm_obj.admin_down(j) + time.sleep(2) def Chamber_View(self): if self.delete_old_scenario: @@ -307,7 +308,7 @@ class ChamberView: if df.empty == True: return "empty" else: - result = df.to_string(index=False) + result = df[column_name].values.tolist() return result def attach_report_graphs(self, report_name=None, pdf_name="WIFI Capacity Test PDF Report"): From d5a00cf2b059fb631036655e0e55fca5c300a980 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Wed, 24 Nov 2021 20:04:42 +0530 Subject: [PATCH 22/52] added test cases for 2g and 5g Signed-off-by: jitendracandela --- .../test_bridge_association_disassociation.py | 244 +++++++++++++++++- 1 file changed, 232 insertions(+), 12 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 4ead0907c..dadd08b4a 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -3,6 +3,7 @@ import allure import os import time import pandas as pd +import threading pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.bridge] @@ -29,9 +30,18 @@ class TestMultiAssoDisassoBridge(object): @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5691", name="WIFI-5691") @pytest.mark.wpa2_personal @pytest.mark.twog - @pytest.mark.up + @pytest.mark.udp_upload_2g def test_multi_station_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -43,18 +53,228 @@ class TestMultiAssoDisassoBridge(object): print(sta_list) lf_tools.admin_up_down(sta_list=sta_list, option="up") sel_stations = ",".join(sta_list[0:8]) - val = [['dl_rate_sel: Per-Station Downliad Rate:']] + val = [['ul_rate_sel: Per-Station Upload Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) - time.sleep(30) - print("stations down") - lf_tools.admin_up_down(sta_list=sta_list[8:16], option="down") - time.sleep(10) - print("stations down") - lf_tools.admin_up_down(sta_list=sta_list[8:16], option="up") - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] - lf_tools.attach_report_graphs(report_name=report_name) - print("Test Completed... Cleaning up Stations") - assert True + + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) + print(type(kpi_val)) + print(str(kpi_val)) + val = kpi_val.split(" ") + print(val) + pass_value = 32 * 0.999 + print("pass value ", pass_value) + print(val[12]) + if str(kpi_val) == "empty": + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + + if float(val[12]) >= float(pass_value): + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) + assert True + else: + print(" valueTest faled due to lesser") + allure.attach(name="Kpi Data", body=str(kpi_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5692", name="WIFI-5692") + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.udp_download_2g + def test_multi_station_udp_download_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Download Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_download_2g", mode=mode, vlan_id=vlan, + download_rate="4Mbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="0Gbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) + print(type(kpi_val)) + print(str(kpi_val)) + val = kpi_val.split(" ") + print(val) + pass_value = 32 * 0.999 + print("pass value ", pass_value) + print(val[6]) + if str(kpi_val) == "empty": + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + + if float(val[6]) >= float(pass_value): + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) + assert True + else: + print(" valueTest faled due to lesser") + allure.attach(name="Kpi Data", body=str(kpi_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5693", name="WIFI-5693") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.udp_upload_5g + def test_multi_station_udp_upload_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['ul_rate_sel: Per-Station Upload Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_5g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="8Mbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) + print(type(kpi_val)) + print(str(kpi_val)) + val = kpi_val.split(" ") + print(val) + pass_value = 64 * 0.999 + print("pass value ", pass_value) + print(val[12]) + if str(kpi_val) == "empty": + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + + if float(val[12]) >= float(pass_value): + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) + assert True + else: + print(" valueTest faled due to lesser") + allure.attach(name="Kpi Data", body=str(kpi_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5694", name="WIFI-5694") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.udp_download_5g + def test_multi_station_udp_download_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Download Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_download_5g", mode=mode, vlan_id=vlan, + download_rate="8Mbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="0Gbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) + print(type(kpi_val)) + #print(str(kpi_val)) + print(kpi_val) + print(kpi_val[0]) + #val = kpi_val.split(" ") + #print(val) + pass_value = 64 * 0.999 + print("pass value ", pass_value) + #print(val[6]) + if not any(kpi_val): + print("kpi is empty, station did not got ip, Test failed") + allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + assert False + else: + + if float(str(kpi_val[0])[1:-1]) >= float(pass_value): + print("Test passed successfully") + allure.attach(name="Kpi Data", body=str(kpi_val)) + assert True + else: + print(" valueTest faled due to lesser") + allure.attach(name="Kpi Data", body=str(kpi_val)) + assert False + print("Test Completed... Cleaning up Stations") + From ba34f4731fccecef4fb67133f83da51f345794c4 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Thu, 25 Nov 2021 00:32:39 +0530 Subject: [PATCH 23/52] modified according the changes in read_kpi_file method Signed-off-by: jitendracandela --- .../test_bridge_association_disassociation.py | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index dadd08b4a..3b984f6d0 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -67,24 +67,22 @@ class TestMultiAssoDisassoBridge(object): kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) print(type(kpi_val)) - print(str(kpi_val)) - val = kpi_val.split(" ") - print(val) + print(kpi_val) + print(kpi_val[1]) pass_value = 32 * 0.999 print("pass value ", pass_value) - print(val[12]) if str(kpi_val) == "empty": print("kpi is empty, station did not got ip, Test failed") allure.attach(name="Kpi Data", body="station did not got ip Test failed.") assert False else: - if float(val[12]) >= float(pass_value): + if float(str(kpi_val[1])[1:-1]) >= float(pass_value): print("Test passed successfully") allure.attach(name="Kpi Data", body=str(kpi_val)) assert True else: - print(" valueTest faled due to lesser") + print(" valueTest failed due to lesser") allure.attach(name="Kpi Data", body=str(kpi_val)) assert False print("Test Completed... Cleaning up Stations") @@ -129,24 +127,22 @@ class TestMultiAssoDisassoBridge(object): kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) print(type(kpi_val)) - print(str(kpi_val)) - val = kpi_val.split(" ") - print(val) + print(kpi_val) + print(kpi_val[0]) pass_value = 32 * 0.999 print("pass value ", pass_value) - print(val[6]) if str(kpi_val) == "empty": print("kpi is empty, station did not got ip, Test failed") allure.attach(name="Kpi Data", body="station did not got ip Test failed.") assert False else: - if float(val[6]) >= float(pass_value): + if float(str(kpi_val[0])[1:-1]) >= float(pass_value): print("Test passed successfully") allure.attach(name="Kpi Data", body=str(kpi_val)) assert True else: - print(" valueTest faled due to lesser") + print(" valueTest failed due to lesser") allure.attach(name="Kpi Data", body=str(kpi_val)) assert False print("Test Completed... Cleaning up Stations") @@ -191,24 +187,22 @@ class TestMultiAssoDisassoBridge(object): kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) print(type(kpi_val)) - print(str(kpi_val)) - val = kpi_val.split(" ") - print(val) + print(kpi_val) + print(kpi_val[1]) pass_value = 64 * 0.999 print("pass value ", pass_value) - print(val[12]) if str(kpi_val) == "empty": print("kpi is empty, station did not got ip, Test failed") allure.attach(name="Kpi Data", body="station did not got ip Test failed.") assert False else: - if float(val[12]) >= float(pass_value): + if float(str(kpi_val[1])[1:-1]) >= float(pass_value): print("Test passed successfully") allure.attach(name="Kpi Data", body=str(kpi_val)) assert True else: - print(" valueTest faled due to lesser") + print(" valueTest failed due to lesser") allure.attach(name="Kpi Data", body=str(kpi_val)) assert False print("Test Completed... Cleaning up Stations") @@ -253,15 +247,11 @@ class TestMultiAssoDisassoBridge(object): kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) print(type(kpi_val)) - #print(str(kpi_val)) print(kpi_val) print(kpi_val[0]) - #val = kpi_val.split(" ") - #print(val) pass_value = 64 * 0.999 print("pass value ", pass_value) - #print(val[6]) - if not any(kpi_val): + if str(kpi_val) == "empty": print("kpi is empty, station did not got ip, Test failed") allure.attach(name="Kpi Data", body="station did not got ip Test failed.") assert False @@ -272,7 +262,7 @@ class TestMultiAssoDisassoBridge(object): allure.attach(name="Kpi Data", body=str(kpi_val)) assert True else: - print(" valueTest faled due to lesser") + print(" valueTest failed due to lesser") allure.attach(name="Kpi Data", body=str(kpi_val)) assert False print("Test Completed... Cleaning up Stations") From ff2d409cfe5860f94edc7022a379308f8728d39d Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Fri, 26 Nov 2021 00:31:53 +0530 Subject: [PATCH 24/52] Added read_csv_individual_station_throughput method Signed-off-by: jitendracandela --- libs/lanforge/lf_tools.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index 233f00c68..ff16565a3 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -311,6 +311,32 @@ class ChamberView: result = df[column_name].values.tolist() return result + def read_csv_individual_station_throughput(self, dir_name, option): + try: + df = pd.read_csv("../reports/" + str(dir_name) + "/csv-data/data-Combined_bps__60_second_running_average-1.csv", sep=r'\t', engine='python') + print("csv file opened") + except FileNotFoundError: + print("csv file does not exist") + return False + + dict_data = {} + if option == "download": + csv_sta_names = df.iloc[[0]].values.tolist() + csv_throughput_values = df.iloc[[1]].values.tolist() + elif option == "upload": + csv_sta_names = df.iloc[[0]].values.tolist() + csv_throughput_values = df.iloc[[2]].values.tolist() + else: + print("Provide proper option: download or upload") + return + + sta_list = csv_sta_names[0][0][:-1].replace('"', '').split(",") + th_list = list(map(float, csv_throughput_values[0][0].split(","))) + for i in range(len(sta_list)): + dict_data[sta_list[i]] = th_list[i] + + return dict_data + def attach_report_graphs(self, report_name=None, pdf_name="WIFI Capacity Test PDF Report"): relevant_path = "../reports/" + report_name + "/" entries = os.listdir("../reports/" + report_name + '/') From 266bd023c1dff7e4e1d901d42675b92b3e449e4c Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Fri, 26 Nov 2021 00:35:16 +0530 Subject: [PATCH 25/52] modified according to per station throughput pass fail criteria Signed-off-by: jitendracandela --- .../test_bridge_association_disassociation.py | 113 ++++++++++-------- 1 file changed, 64 insertions(+), 49 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 3b984f6d0..2373b3fa1 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -60,30 +60,33 @@ class TestMultiAssoDisassoBridge(object): download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) - report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] lf_tools.attach_report_graphs(report_name=report_name) - kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - print(type(kpi_val)) - print(kpi_val) - print(kpi_val[1]) - pass_value = 32 * 0.999 + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="upload") + print(type(csv_val)) + print(csv_val) + pass_value = 4 * 0.99 print("pass value ", pass_value) - if str(kpi_val) == "empty": - print("kpi is empty, station did not got ip, Test failed") - allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") assert False else: - - if float(str(kpi_val[1])[1:-1]) >= float(pass_value): + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: print("Test passed successfully") - allure.attach(name="Kpi Data", body=str(kpi_val)) + allure.attach(name="Csv Data", body=str(csv_val)) assert True else: print(" valueTest failed due to lesser") - allure.attach(name="Kpi Data", body=str(kpi_val)) + allure.attach(name="Csv Data", body=str(csv_val)) assert False print("Test Completed... Cleaning up Stations") @@ -125,25 +128,29 @@ class TestMultiAssoDisassoBridge(object): lf_tools.attach_report_graphs(report_name=report_name) - kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - print(type(kpi_val)) - print(kpi_val) - print(kpi_val[0]) - pass_value = 32 * 0.999 + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="download") + print(type(csv_val)) + print(csv_val) + pass_value = 4 * 0.99 print("pass value ", pass_value) - if str(kpi_val) == "empty": - print("kpi is empty, station did not got ip, Test failed") - allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") assert False else: - - if float(str(kpi_val[0])[1:-1]) >= float(pass_value): + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: print("Test passed successfully") - allure.attach(name="Kpi Data", body=str(kpi_val)) + allure.attach(name="Csv Data", body=str(csv_val)) assert True else: print(" valueTest failed due to lesser") - allure.attach(name="Kpi Data", body=str(kpi_val)) + allure.attach(name="Csv Data", body=str(csv_val)) assert False print("Test Completed... Cleaning up Stations") @@ -185,25 +192,29 @@ class TestMultiAssoDisassoBridge(object): lf_tools.attach_report_graphs(report_name=report_name) - kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - print(type(kpi_val)) - print(kpi_val) - print(kpi_val[1]) - pass_value = 64 * 0.999 + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="upload") + print(type(csv_val)) + print(csv_val) + pass_value = 8 * 0.99 print("pass value ", pass_value) - if str(kpi_val) == "empty": - print("kpi is empty, station did not got ip, Test failed") - allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") assert False else: - - if float(str(kpi_val[1])[1:-1]) >= float(pass_value): + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: print("Test passed successfully") - allure.attach(name="Kpi Data", body=str(kpi_val)) + allure.attach(name="Csv Data", body=str(csv_val)) assert True else: print(" valueTest failed due to lesser") - allure.attach(name="Kpi Data", body=str(kpi_val)) + allure.attach(name="Csv Data", body=str(csv_val)) assert False print("Test Completed... Cleaning up Stations") @@ -245,25 +256,29 @@ class TestMultiAssoDisassoBridge(object): lf_tools.attach_report_graphs(report_name=report_name) - kpi_val = lf_tools.read_kpi_file(column_name=["numeric-score"], dir_name=report_name) - print(type(kpi_val)) - print(kpi_val) - print(kpi_val[0]) - pass_value = 64 * 0.999 + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="download") + print(type(csv_val)) + print(csv_val) + pass_value = 8 * 0.99 print("pass value ", pass_value) - if str(kpi_val) == "empty": - print("kpi is empty, station did not got ip, Test failed") - allure.attach(name="Kpi Data", body="station did not got ip Test failed.") + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") assert False else: - - if float(str(kpi_val[0])[1:-1]) >= float(pass_value): + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: print("Test passed successfully") - allure.attach(name="Kpi Data", body=str(kpi_val)) + allure.attach(name="Csv Data", body=str(csv_val)) assert True else: print(" valueTest failed due to lesser") - allure.attach(name="Kpi Data", body=str(kpi_val)) + allure.attach(name="Csv Data", body=str(csv_val)) assert False print("Test Completed... Cleaning up Stations") From 15d31aba256220376fb760dcb7ecbf81462d8205 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sat, 27 Nov 2021 17:22:03 +0530 Subject: [PATCH 26/52] Added mutli asso disasso NAT mode Signed-off-by: jitendracandela --- .../test_nat_association_disassociation.py | 285 ++++++++++++++++++ .../test_vlan_association_disassociation.py | 285 ++++++++++++++++++ 2 files changed, 570 insertions(+) create mode 100644 tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py create mode 100644 tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py new file mode 100644 index 000000000..1fcba8970 --- /dev/null +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py @@ -0,0 +1,285 @@ +import pytest +import allure +import os +import time +import pandas as pd +import threading + +pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.nat] + +setup_params_general = { + "mode": "NAT", + "ssid_modes": { + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + ] + }, + "rf": {}, + "radius": False +} +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestMultiAssoDisassoNat(object): + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5848", name="WIFI-5848") + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.udp_upload_2g + def test_multi_station_NAT_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "NAT" + vlan = 1 + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['ul_rate_sel: Per-Station Upload Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_NAT_upload_2g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="upload") + print(type(csv_val)) + print(csv_val) + pass_value = 4 * 0.99 + print("pass value ", pass_value) + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: + print("Test passed successfully") + allure.attach(name="Csv Data", body=str(csv_val)) + assert True + else: + print(" valueTest failed due to lesser") + allure.attach(name="Csv Data", body=str(csv_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5870", name="WIFI-5870") + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.udp_download_2g + def test_multi_station_NAT_udp_download_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "NAT" + vlan = 1 + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Download Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_NAT_download_2g", mode=mode, vlan_id=vlan, + download_rate="4Mbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="0Gbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="download") + print(type(csv_val)) + print(csv_val) + pass_value = 4 * 0.99 + print("pass value ", pass_value) + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: + print("Test passed successfully") + allure.attach(name="Csv Data", body=str(csv_val)) + assert True + else: + print(" valueTest failed due to lesser") + allure.attach(name="Csv Data", body=str(csv_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5871", name="WIFI-5871") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.udp_upload_5g + def test_multi_station_NAT_udp_upload_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "NAT" + vlan = 1 + lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['ul_rate_sel: Per-Station Upload Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_NAT_upload_5g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="8Mbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="upload") + print(type(csv_val)) + print(csv_val) + pass_value = 8 * 0.99 + print("pass value ", pass_value) + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: + print("Test passed successfully") + allure.attach(name="Csv Data", body=str(csv_val)) + assert True + else: + print(" valueTest failed due to lesser") + allure.attach(name="Csv Data", body=str(csv_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5872", name="WIFI-5872") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.udp_download_5g + def test_multi_station_NAT_udp_download_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "NAT" + vlan = 1 + lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Download Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_NAT_download_5g", mode=mode, vlan_id=vlan, + download_rate="8Mbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="0Gbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="download") + print(type(csv_val)) + print(csv_val) + pass_value = 8 * 0.99 + print("pass value ", pass_value) + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: + print("Test passed successfully") + allure.attach(name="Csv Data", body=str(csv_val)) + assert True + else: + print(" valueTest failed due to lesser") + allure.attach(name="Csv Data", body=str(csv_val)) + assert False + print("Test Completed... Cleaning up Stations") + + diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py new file mode 100644 index 000000000..2373b3fa1 --- /dev/null +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py @@ -0,0 +1,285 @@ +import pytest +import allure +import os +import time +import pandas as pd +import threading + +pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.bridge] + +setup_params_general = { + "mode": "BRIDGE", + "ssid_modes": { + "wpa2_personal": [ + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + ] + }, + "rf": {}, + "radius": False +} +@pytest.mark.parametrize( + 'setup_profiles', + [setup_params_general], + indirect=True, + scope="class" +) +@pytest.mark.usefixtures("setup_profiles") +class TestMultiAssoDisassoBridge(object): + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5691", name="WIFI-5691") + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.udp_upload_2g + def test_multi_station_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['ul_rate_sel: Per-Station Upload Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="upload") + print(type(csv_val)) + print(csv_val) + pass_value = 4 * 0.99 + print("pass value ", pass_value) + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: + print("Test passed successfully") + allure.attach(name="Csv Data", body=str(csv_val)) + assert True + else: + print(" valueTest failed due to lesser") + allure.attach(name="Csv Data", body=str(csv_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5692", name="WIFI-5692") + @pytest.mark.wpa2_personal + @pytest.mark.twog + @pytest.mark.udp_download_2g + def test_multi_station_udp_download_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Download Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_download_2g", mode=mode, vlan_id=vlan, + download_rate="4Mbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="0Gbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="download") + print(type(csv_val)) + print(csv_val) + pass_value = 4 * 0.99 + print("pass value ", pass_value) + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: + print("Test passed successfully") + allure.attach(name="Csv Data", body=str(csv_val)) + assert True + else: + print(" valueTest failed due to lesser") + allure.attach(name="Csv Data", body=str(csv_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5693", name="WIFI-5693") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.udp_upload_5g + def test_multi_station_udp_upload_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['ul_rate_sel: Per-Station Upload Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_5g", mode=mode, vlan_id=vlan, + download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="8Mbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="upload") + print(type(csv_val)) + print(csv_val) + pass_value = 8 * 0.99 + print("pass value ", pass_value) + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: + print("Test passed successfully") + allure.attach(name="Csv Data", body=str(csv_val)) + assert True + else: + print(" valueTest failed due to lesser") + allure.attach(name="Csv Data", body=str(csv_val)) + assert False + print("Test Completed... Cleaning up Stations") + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5694", name="WIFI-5694") + @pytest.mark.wpa2_personal + @pytest.mark.fiveg + @pytest.mark.udp_download_5g + def test_multi_station_udp_download_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + # run wifi capacity test here + def thread_fun(station_list): + print(station_list) + time.sleep(60) + lf_tools.admin_up_down(sta_list=station_list, option="down") + print("stations down") + time.sleep(10) + lf_tools.admin_up_down(sta_list=station_list, option="up") + print("stations up") + + profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] + ssid_name = profile_data["ssid_name"] + print(ssid_name) + mode = "BRIDGE" + vlan = 1 + lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) + lf_tools.Chamber_View() + sta_list = lf_tools.get_station_list() + print(sta_list) + lf_tools.admin_up_down(sta_list=sta_list, option="up") + sel_stations = ",".join(sta_list[0:8]) + val = [['dl_rate_sel: Per-Station Download Rate:']] + thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) + thr1.start() + wct_obj = lf_test.wifi_capacity(instance_name="udp_download_5g", mode=mode, vlan_id=vlan, + download_rate="8Mbps", stations=sel_stations, raw_lines=val, batch_size="8", + upload_rate="0Gbps", protocol="UDP-IPv4", duration="120000", + create_stations=False) + + report_name = wct_obj.report_name[0]['LAST']["response"].split(":::")[1].split("/")[-1] + + lf_tools.attach_report_graphs(report_name=report_name) + + csv_val = lf_tools.read_csv_individual_station_throughput(dir_name=report_name, option="download") + print(type(csv_val)) + print(csv_val) + pass_value = 8 * 0.99 + print("pass value ", pass_value) + pass_fail = [] + if not csv_val: + print("csv file does not exist, station did not got ip, Test failed") + allure.attach(name="Csv Data", body="station did not got ip Test failed.") + assert False + else: + for i in csv_val.values(): + if i >= pass_value: + pass_fail.append(1) + else: + pass_fail.append(0) + if pass_fail.count(0) == 0: + print("Test passed successfully") + allure.attach(name="Csv Data", body=str(csv_val)) + assert True + else: + print(" valueTest failed due to lesser") + allure.attach(name="Csv Data", body=str(csv_val)) + assert False + print("Test Completed... Cleaning up Stations") + + From 96c7c09aaea24e3305c02b100e0d0b114c73c556 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Sat, 27 Nov 2021 17:25:25 +0530 Subject: [PATCH 27/52] Added mutli asso disasso VLAN mode Signed-off-by: jitendracandela --- .../test_vlan_association_disassociation.py | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py index 2373b3fa1..329cd15a4 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py @@ -5,10 +5,10 @@ import time import pandas as pd import threading -pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.bridge] +pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.vlan] setup_params_general = { - "mode": "BRIDGE", + "mode": "VLAN", "ssid_modes": { "wpa2_personal": [ {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, @@ -25,13 +25,13 @@ setup_params_general = { scope="class" ) @pytest.mark.usefixtures("setup_profiles") -class TestMultiAssoDisassoBridge(object): +class TestMultiAssoDisassoVlan(object): - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5691", name="WIFI-5691") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5873", name="WIFI-5873") @pytest.mark.wpa2_personal @pytest.mark.twog @pytest.mark.udp_upload_2g - def test_multi_station_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + def test_multi_station_VLAN_udp_upload_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here def thread_fun(station_list): print(station_list) @@ -45,7 +45,7 @@ class TestMultiAssoDisassoBridge(object): profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) - mode = "BRIDGE" + mode = "VLAN" vlan = 1 lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() @@ -56,7 +56,7 @@ class TestMultiAssoDisassoBridge(object): val = [['ul_rate_sel: Per-Station Upload Rate:']] thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) thr1.start() - wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_2g", mode=mode, vlan_id=vlan, + wct_obj = lf_test.wifi_capacity(instance_name="udp_VLAN_upload_2g", mode=mode, vlan_id=vlan, download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", upload_rate="4Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) @@ -90,11 +90,11 @@ class TestMultiAssoDisassoBridge(object): assert False print("Test Completed... Cleaning up Stations") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5692", name="WIFI-5692") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5874", name="WIFI-5874") @pytest.mark.wpa2_personal @pytest.mark.twog @pytest.mark.udp_download_2g - def test_multi_station_udp_download_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + def test_multi_station_VLAN_udp_download_2g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here def thread_fun(station_list): print(station_list) @@ -108,7 +108,7 @@ class TestMultiAssoDisassoBridge(object): profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) - mode = "BRIDGE" + mode = "VLAN" vlan = 1 lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() @@ -119,7 +119,7 @@ class TestMultiAssoDisassoBridge(object): val = [['dl_rate_sel: Per-Station Download Rate:']] thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) thr1.start() - wct_obj = lf_test.wifi_capacity(instance_name="udp_download_2g", mode=mode, vlan_id=vlan, + wct_obj = lf_test.wifi_capacity(instance_name="udp_VLAN_download_2g", mode=mode, vlan_id=vlan, download_rate="4Mbps", stations=sel_stations, raw_lines=val, batch_size="8", upload_rate="0Gbps", protocol="UDP-IPv4", duration="120000", create_stations=False) @@ -154,11 +154,11 @@ class TestMultiAssoDisassoBridge(object): assert False print("Test Completed... Cleaning up Stations") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5693", name="WIFI-5693") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5875", name="WIFI-5875") @pytest.mark.wpa2_personal @pytest.mark.fiveg @pytest.mark.udp_upload_5g - def test_multi_station_udp_upload_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + def test_multi_station_VLAN_udp_upload_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here def thread_fun(station_list): print(station_list) @@ -172,7 +172,7 @@ class TestMultiAssoDisassoBridge(object): profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] ssid_name = profile_data["ssid_name"] print(ssid_name) - mode = "BRIDGE" + mode = "VLAN" vlan = 1 lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() @@ -183,7 +183,7 @@ class TestMultiAssoDisassoBridge(object): val = [['ul_rate_sel: Per-Station Upload Rate:']] thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) thr1.start() - wct_obj = lf_test.wifi_capacity(instance_name="udp_upload_5g", mode=mode, vlan_id=vlan, + wct_obj = lf_test.wifi_capacity(instance_name="udp_VLAN_upload_5g", mode=mode, vlan_id=vlan, download_rate="0Gbps", stations=sel_stations, raw_lines=val, batch_size="8", upload_rate="8Mbps", protocol="UDP-IPv4", duration="120000", create_stations=False) @@ -218,11 +218,11 @@ class TestMultiAssoDisassoBridge(object): assert False print("Test Completed... Cleaning up Stations") - @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5694", name="WIFI-5694") + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-5876", name="WIFI-5876") @pytest.mark.wpa2_personal @pytest.mark.fiveg @pytest.mark.udp_download_5g - def test_multi_station_udp_download_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): + def test_multi_station_VLAN_udp_download_5g(self, lf_test, lf_tools, create_lanforge_chamberview_dut): # run wifi capacity test here def thread_fun(station_list): print(station_list) @@ -236,7 +236,7 @@ class TestMultiAssoDisassoBridge(object): profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] ssid_name = profile_data["ssid_name"] print(ssid_name) - mode = "BRIDGE" + mode = "VLAN" vlan = 1 lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() @@ -247,7 +247,7 @@ class TestMultiAssoDisassoBridge(object): val = [['dl_rate_sel: Per-Station Download Rate:']] thr1 = threading.Thread(target=thread_fun, args=(sta_list[8:16],)) thr1.start() - wct_obj = lf_test.wifi_capacity(instance_name="udp_download_5g", mode=mode, vlan_id=vlan, + wct_obj = lf_test.wifi_capacity(instance_name="udp_VLAN_download_5g", mode=mode, vlan_id=vlan, download_rate="8Mbps", stations=sel_stations, raw_lines=val, batch_size="8", upload_rate="0Gbps", protocol="UDP-IPv4", duration="120000", create_stations=False) From de6a9a2c4a27971145c2a6e07d97036b9c0e270f Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 29 Nov 2021 14:38:33 +0530 Subject: [PATCH 28/52] Changed vlan value to 100 Signed-off-by: jitendracandela --- .../wpa2_personal/test_vlan_association_disassociation.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py index 329cd15a4..cfa6907f8 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py @@ -46,7 +46,7 @@ class TestMultiAssoDisassoVlan(object): ssid_name = profile_data["ssid_name"] print(ssid_name) mode = "VLAN" - vlan = 1 + vlan = 100 lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() sta_list = lf_tools.get_station_list() @@ -109,7 +109,7 @@ class TestMultiAssoDisassoVlan(object): ssid_name = profile_data["ssid_name"] print(ssid_name) mode = "VLAN" - vlan = 1 + vlan = 100 lf_tools.add_stations(band="2G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() sta_list = lf_tools.get_station_list() @@ -173,7 +173,7 @@ class TestMultiAssoDisassoVlan(object): ssid_name = profile_data["ssid_name"] print(ssid_name) mode = "VLAN" - vlan = 1 + vlan = 100 lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() sta_list = lf_tools.get_station_list() @@ -237,7 +237,7 @@ class TestMultiAssoDisassoVlan(object): ssid_name = profile_data["ssid_name"] print(ssid_name) mode = "VLAN" - vlan = 1 + vlan = 100 lf_tools.add_stations(band="5G", num_stations=16, dut=lf_tools.dut_name, ssid_name=ssid_name) lf_tools.Chamber_View() sta_list = lf_tools.get_station_list() From ca4337216471140811c4495b31439af660bb5af7 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 29 Nov 2021 17:58:18 +0530 Subject: [PATCH 29/52] Added sleep in admin_up_down method Signed-off-by: jitendracandela --- libs/lanforge/lf_tools.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index ff16565a3..f03e9e897 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -149,9 +149,11 @@ class ChamberView: if option == "up": for i in sta_list: realm_obj.admin_up(i) + time.sleep(0.005) elif option == "down": for j in sta_list: realm_obj.admin_down(j) + time.sleep(0.005) time.sleep(2) def Chamber_View(self): From e32d2bf3039c44df2c773d817b9a87add8acf462 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 29 Nov 2021 18:00:30 +0530 Subject: [PATCH 30/52] Added reset_scenario Signed-off-by: jitendracandela --- .../test_bridge_association_disassociation.py | 4 ++++ .../wpa2_personal/test_nat_association_disassociation.py | 4 ++++ .../wpa2_personal/test_vlan_association_disassociation.py | 8 ++++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py index 2373b3fa1..75b3054f9 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_bridge_association_disassociation.py @@ -42,6 +42,7 @@ class TestMultiAssoDisassoBridge(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -105,6 +106,7 @@ class TestMultiAssoDisassoBridge(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -169,6 +171,7 @@ class TestMultiAssoDisassoBridge(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -233,6 +236,7 @@ class TestMultiAssoDisassoBridge(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] ssid_name = profile_data["ssid_name"] print(ssid_name) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py index 1fcba8970..ce274b761 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py @@ -42,6 +42,7 @@ class TestMultiAssoDisassoNat(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -105,6 +106,7 @@ class TestMultiAssoDisassoNat(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -169,6 +171,7 @@ class TestMultiAssoDisassoNat(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -233,6 +236,7 @@ class TestMultiAssoDisassoNat(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] ssid_name = profile_data["ssid_name"] print(ssid_name) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py index cfa6907f8..35601e817 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py @@ -11,8 +11,8 @@ setup_params_general = { "mode": "VLAN", "ssid_modes": { "wpa2_personal": [ - {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something"}, - {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something"} + {"ssid_name": "ssid_wpa2_2g", "appliedRadios": ["2G"], "security_key": "something", "vlan":100}, + {"ssid_name": "ssid_wpa2_5g", "appliedRadios": ["5G"], "security_key": "something", "vlan":100} ] }, "rf": {}, @@ -42,6 +42,7 @@ class TestMultiAssoDisassoVlan(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -105,6 +106,7 @@ class TestMultiAssoDisassoVlan(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][0] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -169,6 +171,7 @@ class TestMultiAssoDisassoVlan(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] ssid_name = profile_data["ssid_name"] print(ssid_name) @@ -233,6 +236,7 @@ class TestMultiAssoDisassoVlan(object): lf_tools.admin_up_down(sta_list=station_list, option="up") print("stations up") + lf_tools.reset_scenario() profile_data = setup_params_general["ssid_modes"]["wpa2_personal"][1] ssid_name = profile_data["ssid_name"] print(ssid_name) From 678c5dbc0eece24932ab6dcb738166774fc6f789 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Wed, 1 Dec 2021 10:48:30 +0530 Subject: [PATCH 31/52] removed changes in read_kpi_file method Signed-off-by: jitendracandela --- libs/lanforge/lf_tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index f03e9e897..42b9ea802 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -310,7 +310,7 @@ class ChamberView: if df.empty == True: return "empty" else: - result = df[column_name].values.tolist() + result = df.to_string(index=False) return result def read_csv_individual_station_throughput(self, dir_name, option): From 2a7296719d086d3b931f463caa4f0931d3a6f090 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Wed, 1 Dec 2021 10:50:15 +0530 Subject: [PATCH 32/52] commented module level marker Signed-off-by: jitendracandela --- .../wpa2_personal/test_nat_association_disassociation.py | 2 +- .../wpa2_personal/test_vlan_association_disassociation.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py index ce274b761..9711e6e85 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_nat_association_disassociation.py @@ -5,7 +5,7 @@ import time import pandas as pd import threading -pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.nat] +#pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.nat] setup_params_general = { "mode": "NAT", diff --git a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py index 35601e817..cfa7a6d1f 100644 --- a/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py +++ b/tests/e2e/advanced/multi_association_disassociation/wpa2_personal/test_vlan_association_disassociation.py @@ -5,7 +5,7 @@ import time import pandas as pd import threading -pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.vlan] +#pytestmark = [pytest.mark.advance, pytest.mark.multiassodisasso, pytest.mark.vlan] setup_params_general = { "mode": "VLAN", From a1a3a5106d1842452ad728bb32e8d1af1280ae04 Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Mon, 6 Dec 2021 19:04:19 +0530 Subject: [PATCH 33/52] changed default value of stations argument Signed-off-by: jitendracandela --- libs/lanforge/lf_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index b0bd57b07..04f52c8de 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -233,7 +233,7 @@ class RunTest: def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", instance_name="wct_instance", download_rate="1Gbps", influx_tags=[], - upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, raw_lines=[]): + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations=None, create_stations=True, raw_lines=[]): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) if mode == "BRIDGE": upstream_port = self.upstream_port From 873fa9b82f2144e8db3f16da12c3a4f4266ad84b Mon Sep 17 00:00:00 2001 From: jitendracandela Date: Tue, 7 Dec 2021 01:03:14 +0530 Subject: [PATCH 34/52] again changed default value of stations argument Signed-off-by: jitendracandela --- libs/lanforge/lf_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index 04f52c8de..b0bd57b07 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -233,7 +233,7 @@ class RunTest: def wifi_capacity(self, mode="BRIDGE", vlan_id=100, batch_size="1,5,10,20,40,64,128", instance_name="wct_instance", download_rate="1Gbps", influx_tags=[], - upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations=None, create_stations=True, raw_lines=[]): + upload_rate="1Gbps", protocol="TCP-IPv4", duration="60000", stations="", create_stations=True, raw_lines=[]): instance_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=S)) if mode == "BRIDGE": upstream_port = self.upstream_port From 76980e6b61d84cf05dc62d1079f5b88d972df72e Mon Sep 17 00:00:00 2001 From: Max Brenner Date: Tue, 7 Dec 2021 13:47:08 +0100 Subject: [PATCH 35/52] increase job timeout for advance workflow Signed-off-by: Max Brenner --- .github/workflows/advanced.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/advanced.yml b/.github/workflows/advanced.yml index 2b9b78129..ae5342af5 100644 --- a/.github/workflows/advanced.yml +++ b/.github/workflows/advanced.yml @@ -27,6 +27,7 @@ jobs: test: runs-on: [ self-hosted, small ] needs: [ build ] + timeout-minutes: 1440 env: AWS_EKS_NAME: tip-wlan-main AWS_DEFAULT_OUTPUT: json From 372a93142bffcc43cd74815e00014f36b25ec420 Mon Sep 17 00:00:00 2001 From: Sushant Bawiskar Date: Fri, 10 Dec 2021 11:52:21 +0530 Subject: [PATCH 36/52] - added random text to ssid for enterprise client_connect/android for uniques ssid Signed-off-by: Sushant Bawiskar --- .../client_connect_test/android/test_enterprise_ttls.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_enterprise_ttls.py index 817488b1b..b83686d69 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_enterprise_ttls.py @@ -9,7 +9,8 @@ from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.by import By from appium import webdriver from selenium.common.exceptions import NoSuchElementException - +import string +import random import sys import allure @@ -37,6 +38,12 @@ setup_params_enterprise = { "rf": {}, "radius": True } +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Bridge Mode EAP Client Connect : Suite-A") From acdc22b97494fdbe72aff5ce3e87b4f22bdb8bd8 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:52:56 +0530 Subject: [PATCH 37/52] - added random text to ssid for enterprise client_connect/ios for uniques ssid Signed-off-by: Sushant Bawiskar --- .../client_connect_test/iOS/test_enterprise_ttls.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_enterprise_ttls.py index 1e91fe739..3fa7662a3 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_enterprise_ttls.py @@ -10,7 +10,8 @@ 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 string import sys import allure @@ -41,6 +42,12 @@ setup_params_enterprise = { "radius": True } +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Bridge Mode EAP Client Connect : Suite-A") From 0fdd78e8a29af1718a74a93075e64f7c3d149d11 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:53:24 +0530 Subject: [PATCH 38/52] - added random text to ssid for enterprise client_connect/nat/android for uniques ssid Signed-off-by: Sushant Bawiskar --- .../client_connect_test/android/test_enterprise_ttls.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_enterprise_ttls.py index a7ec71480..e2a76f04a 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_enterprise_ttls.py @@ -9,7 +9,8 @@ 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 string import sys import allure @@ -37,6 +38,12 @@ setup_params_enterprise = { "rf": {}, "radius": True } +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Nat Mode EAP Client Connectivity : Suite-A") From 04c93ba86ea5478767d9f73aaf9f06f3aa359114 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:53:38 +0530 Subject: [PATCH 39/52] - added random text to ssid for enterprise client_connect/nat/ios for uniques ssid Signed-off-by: Sushant Bawiskar --- .../client_connect_test/iOS/test_enterprise_ttls.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_enterprise_ttls.py index 7a8c8c904..65a19a2cb 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_enterprise_ttls.py @@ -10,7 +10,8 @@ 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 string import sys import allure @@ -40,7 +41,12 @@ setup_params_enterprise = { "rf": {}, "radius": True } - +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Nat Mode EAP Client Connect : Suite-A") From 1f16c998a7dcff6000a415f73467e71473f8101f Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:54:11 +0530 Subject: [PATCH 40/52] - added random text to ssid for enterprise client_connect/vlan/and for uniques ssid Signed-off-by: Sushant Bawiskar --- .../client_connect_test/android/test_enterprise_ttls.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_enterprise_ttls.py index 415560a68..9bd90aa40 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_enterprise_ttls.py @@ -9,7 +9,8 @@ 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 string import sys import allure @@ -37,6 +38,12 @@ setup_params_enterprise = { "rf": {}, "radius": True } +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Vlan Mode EAP Client Connect : Suite-A") From b1e52d9b706e09fde8f5423b9394605f6327a7c5 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:54:35 +0530 Subject: [PATCH 41/52] - added random text to ssid for enterprise client_connect/vlan/ios for uniques ssid Signed-off-by: Sushant Bawiskar --- .../client_connect_test/iOS/test_enterprise_ttls.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_enterprise_ttls.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_enterprise_ttls.py index d327f7d8f..100613af7 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_enterprise_ttls.py +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_enterprise_ttls.py @@ -10,7 +10,8 @@ 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 string import sys import allure @@ -40,7 +41,12 @@ setup_params_enterprise = { "rf": {}, "radius": True } - +for sec_modes in setup_params_enterprise['ssid_modes'].keys(): + for i in range(len(setup_params_enterprise['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_enterprise['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Vlan Mode EAP Client Connect : Suite-A") From 6841c2b20292de1d45313122020a1b1338ed0dea Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:55:23 +0530 Subject: [PATCH 42/52] - added random text to ssid for client_connect/vlan/ios for uniques ssid Signed-off-by: Sushant Bawiskar --- .../iOS/test_general_security_mode.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_general_security_mode.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_general_security_mode.py index 5a2b6dfe0..ad468e8e2 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_general_security_mode.py +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/iOS/test_general_security_mode.py @@ -10,7 +10,8 @@ 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 string import sys import allure @@ -38,7 +39,12 @@ setup_params_general = { "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 = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Vlan Mode Client Connect : Suite-A") @@ -280,7 +286,12 @@ setup_params_general_two = { "rf": {}, "radius": False } - +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Vlan Mode Client Connect : Suite-B") From 3d81df7df902eed36ad2222dc899821787d4158e Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:55:53 +0530 Subject: [PATCH 43/52] - added random text to ssid for client_connect/bridge/android for unique ssid Signed-off-by: Sushant Bawiskar --- .../android/test_general_security_modes.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_general_security_modes.py index ab51b4c1b..7d1895e4c 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/android/test_general_security_modes.py @@ -9,7 +9,8 @@ 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 string import sys import allure @@ -37,6 +38,13 @@ setup_params_general = { "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 = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string + @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Bridge Mode Client Connect : Suite-A") @pytest.mark.InteropsuiteA @@ -297,6 +305,12 @@ setup_params_general_two = { "radius": False } +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Bridge Mode Client Connect : Suite-B") From 1bac048d50e14117b801a94039367c2a0b7cc458 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:56:05 +0530 Subject: [PATCH 44/52] - added random text to ssid for client_connect/bridge/ios for unique ssid Signed-off-by: Sushant Bawiskar --- .../iOS/test_general_security_modes.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_general_security_modes.py index 682a75396..493909210 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/bridge_mode/client_connect_test/iOS/test_general_security_modes.py @@ -10,7 +10,8 @@ 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 string import sys import allure @@ -39,7 +40,12 @@ setup_params_general = { "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 = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Bridge Mode Client Connect : Suite-A") @@ -290,7 +296,12 @@ setup_params_general_two = { "rf": {}, "radius": False } - +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Bridge Mode Client Connect : Suite-B") From 19a34d22587fbefebf80ae7238a0c96e8ba97ee6 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:56:37 +0530 Subject: [PATCH 45/52] - added random text to ssid for client_connect/nat/android for unique ssid Signed-off-by: Sushant Bawiskar --- .../android/test_general_security_modes.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_general_security_modes.py index 044918352..c002fdb73 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/android/test_general_security_modes.py @@ -9,9 +9,10 @@ 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') @@ -36,6 +37,13 @@ setup_params_general = { "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 = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string + @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Nat Mode Client Connect : Suite-A") @@ -52,6 +60,8 @@ class TestNatModeConnectSuiteOne(object): """ Client Connect SuiteA pytest -m "client_connect and nat and InteropsuiteA" """ + + @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-4510", name="WIFI-4510") @pytest.mark.fiveg @pytest.mark.wpa2_personal @@ -291,6 +301,12 @@ setup_params_general_two = { "radius": False } +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="NAT Mode Client Connect : Suite-B") From 1fa1649be2374c0f055901f842ad2bee70714a32 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:56:57 +0530 Subject: [PATCH 46/52] - added random text to ssid for client_connect/nat/ios for unique ssid Signed-off-by: Sushant Bawiskar --- .../iOS/test_general_security_modes.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_general_security_modes.py index 911292828..7f5c04577 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/nat_mode/client_connect_test/iOS/test_general_security_modes.py @@ -10,7 +10,8 @@ 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 string import sys import allure @@ -40,6 +41,12 @@ setup_params_general = { "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 = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Nat Mode Client Connect : Suite-A") @@ -291,6 +298,12 @@ setup_params_general_two = { "radius": False } +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Nat Mode Client Connect : Suite-B") From 9a82e7c2f80511c1234015c87dcfd8ed5401e223 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 11:57:17 +0530 Subject: [PATCH 47/52] - added random text to ssid for client_connect/vlan/android for unique ssid Signed-off-by: Sushant Bawiskar --- .../android/test_general_security_modes.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_general_security_modes.py b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_general_security_modes.py index 7c1fe5839..50fcab425 100644 --- a/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_general_security_modes.py +++ b/tests/e2e/interOp/validation_of_operating_modes/vlan_mode/client_connect_test/android/test_general_security_modes.py @@ -9,7 +9,8 @@ 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 string import sys import allure @@ -36,6 +37,12 @@ setup_params_general = { "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 = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Vlan Mode Client Connect : Suite-A") @@ -282,7 +289,12 @@ setup_params_general_two = { "rf": {}, "radius": False } - +for sec_modes in setup_params_general_two['ssid_modes'].keys(): + for i in range(len(setup_params_general_two['ssid_modes'][sec_modes])): + N = 6 + rand_string = ''.join(random.choices(string.ascii_uppercase + + string.digits, k=N)) + setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] = setup_params_general_two['ssid_modes'][sec_modes][i]['ssid_name'] + "_"+ rand_string @allure.suite(suite_name="interop sanity") @allure.sub_suite(sub_suite_name="Vlan Mode Client Connect : Suite-B") From f4104c2ef9e2a851b00432c47932ac1973ee60d5 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 13:54:13 +0530 Subject: [PATCH 48/52] - reduced sleep in android_lib.py - increased a scrolldown times { from 3 to 10 } to see all ssids if a ssid is not available - removed sleep from scroll down - reduced sleeps from scroll down Signed-off-by: Sushant Bawiskar --- libs/perfecto_libs/android_lib.py | 14 +++++++------- libs/perfecto_libs/iOS_lib.py | 12 ++++++------ tests/e2e/interOp/conftest.py | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/libs/perfecto_libs/android_lib.py b/libs/perfecto_libs/android_lib.py index 81c138909..56d318b3a 100644 --- a/libs/perfecto_libs/android_lib.py +++ b/libs/perfecto_libs/android_lib.py @@ -60,9 +60,9 @@ def scrollDown(setup_perfectoMobile): params2["start"] = "50%,90%" params2["end"] = "50%,20%" params2["duration"] = "4" - time.sleep(2) + # time.sleep(2) setup_perfectoMobile[0].execute_script('mobile:touch:swipe', params2) - time.sleep(1) + time.sleep(3) def getDeviceID(setup_perfectoMobile): @@ -1195,7 +1195,7 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa print("No Connected SSIDS") #----------------------This is to Forget current connected SSID-------------------------------- - time.sleep(2) + # time.sleep(2) print("Selecting Wifi: " + WifiName) #allure.attach(name= body=str("Selecting Wifi: " + WifiName)) ssid_found = False @@ -1203,7 +1203,7 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa #This is To get all available ssids #------------------------------------------------------ try: - for k in range(3): + for k in range(9): available_ssids = get_all_available_ssids(driver) print("active_ssid_list: ", available_ssids) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) @@ -1785,8 +1785,8 @@ def wifi_disconnect_and_forget(request, WifiName, WifiPass, setup_perfectoMobile def get_all_available_ssids(driver): active_ssid_list = [] try: - time.sleep(5) - driver.implicitly_wait(5) + time.sleep(2) + driver.implicitly_wait(1) elements = driver.find_elements_by_xpath("//*[@resource-id='com.android.settings:id/title']") # print("elements: ", elements) print(len(elements)) @@ -2191,7 +2191,7 @@ def get_ip_address_eap_and(request, WifiName, User, ttls_passwd, setup_perfectoM #This is To get all available ssids #------------------------------------------------------ try: - for k in range(3): + for k in range(10): available_ssids = get_all_available_ssids(driver) print("active_ssid_list: ", available_ssids) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) diff --git a/libs/perfecto_libs/iOS_lib.py b/libs/perfecto_libs/iOS_lib.py index d324486db..f9e9cde05 100644 --- a/libs/perfecto_libs/iOS_lib.py +++ b/libs/perfecto_libs/iOS_lib.py @@ -38,9 +38,9 @@ def scrollDown(setup_perfectoMobile): params2["start"] = "50%,90%" params2["end"] = "50%,20%" params2["duration"] = "4" - time.sleep(5) + # time.sleep(2) setup_perfectoMobile[0].execute_script('mobile:touch:swipe', params2) - time.sleep(5) + time.sleep(3) def closeApp(appName, setup_perfectoMobile): @@ -1015,7 +1015,7 @@ def get_ip_address_ios(request, WifiName, WifiPass, setup_perfectoMobile, connDa available_ssids = False try: - for check_for_all_ssids in range(2): + for check_for_all_ssids in range(9): available_ssids = get_all_available_ssids(driver) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) try: @@ -1177,8 +1177,8 @@ def get_all_available_ssids(driver): active_ssid_list = [] try: - time.sleep(8) - driver.implicitly_wait(10) + time.sleep(2) + driver.implicitly_wait(2) elements = driver.find_elements_by_xpath("(//*[@label='More Info']/parent::*/XCUIElementTypeStaticText)") print(len(elements)) for i in range(len(elements)): @@ -1730,7 +1730,7 @@ def get_ip_address_eap_ios(request, WifiName, User, ttls_passwd, setup_perfectoM available_ssids = False try: - for check_for_all_ssids in range(2): + for check_for_all_ssids in range(9): available_ssids = get_all_available_ssids(driver) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) try: diff --git a/tests/e2e/interOp/conftest.py b/tests/e2e/interOp/conftest.py index 0244f2e7f..34e04e5c7 100644 --- a/tests/e2e/interOp/conftest.py +++ b/tests/e2e/interOp/conftest.py @@ -403,7 +403,7 @@ def setup_perfectoMobile_android(request): driver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - driver.implicitly_wait(35) + driver.implicitly_wait(2) TestCaseFullName = os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0] nCurrentTestMethodNameSplit = re.sub(r'\[.*?\]\ *', "", TestCaseFullName) @@ -507,7 +507,7 @@ def setup_perfectoMobileWeb(request): rdriver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - rdriver.implicitly_wait(35) + rdriver.implicitly_wait(2) projectname = request.config.getini("projectName") projectversion = request.config.getini("projectVersion") @@ -570,7 +570,7 @@ def setup_perfectoMobile_iOS(request): driver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - driver.implicitly_wait(35) + driver.implicitly_wait(2) TestCaseFullName = os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0] nCurrentTestMethodNameSplit = re.sub(r'\[.*?\]\ *', "", TestCaseFullName) From 06f09f78a68f6bdda0ba4df6e83cc275cc8d5402 Mon Sep 17 00:00:00 2001 From: Sushant Bawiskar Date: Fri, 10 Dec 2021 13:56:34 +0530 Subject: [PATCH 49/52] Revert "- reduced sleep in android_lib.py" This reverts commit f4104c2ef9e2a851b00432c47932ac1973ee60d5. --- libs/perfecto_libs/android_lib.py | 14 +++++++------- libs/perfecto_libs/iOS_lib.py | 12 ++++++------ tests/e2e/interOp/conftest.py | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/libs/perfecto_libs/android_lib.py b/libs/perfecto_libs/android_lib.py index 56d318b3a..81c138909 100644 --- a/libs/perfecto_libs/android_lib.py +++ b/libs/perfecto_libs/android_lib.py @@ -60,9 +60,9 @@ def scrollDown(setup_perfectoMobile): params2["start"] = "50%,90%" params2["end"] = "50%,20%" params2["duration"] = "4" - # time.sleep(2) + time.sleep(2) setup_perfectoMobile[0].execute_script('mobile:touch:swipe', params2) - time.sleep(3) + time.sleep(1) def getDeviceID(setup_perfectoMobile): @@ -1195,7 +1195,7 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa print("No Connected SSIDS") #----------------------This is to Forget current connected SSID-------------------------------- - # time.sleep(2) + time.sleep(2) print("Selecting Wifi: " + WifiName) #allure.attach(name= body=str("Selecting Wifi: " + WifiName)) ssid_found = False @@ -1203,7 +1203,7 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa #This is To get all available ssids #------------------------------------------------------ try: - for k in range(9): + for k in range(3): available_ssids = get_all_available_ssids(driver) print("active_ssid_list: ", available_ssids) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) @@ -1785,8 +1785,8 @@ def wifi_disconnect_and_forget(request, WifiName, WifiPass, setup_perfectoMobile def get_all_available_ssids(driver): active_ssid_list = [] try: - time.sleep(2) - driver.implicitly_wait(1) + time.sleep(5) + driver.implicitly_wait(5) elements = driver.find_elements_by_xpath("//*[@resource-id='com.android.settings:id/title']") # print("elements: ", elements) print(len(elements)) @@ -2191,7 +2191,7 @@ def get_ip_address_eap_and(request, WifiName, User, ttls_passwd, setup_perfectoM #This is To get all available ssids #------------------------------------------------------ try: - for k in range(10): + for k in range(3): available_ssids = get_all_available_ssids(driver) print("active_ssid_list: ", available_ssids) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) diff --git a/libs/perfecto_libs/iOS_lib.py b/libs/perfecto_libs/iOS_lib.py index f9e9cde05..d324486db 100644 --- a/libs/perfecto_libs/iOS_lib.py +++ b/libs/perfecto_libs/iOS_lib.py @@ -38,9 +38,9 @@ def scrollDown(setup_perfectoMobile): params2["start"] = "50%,90%" params2["end"] = "50%,20%" params2["duration"] = "4" - # time.sleep(2) + time.sleep(5) setup_perfectoMobile[0].execute_script('mobile:touch:swipe', params2) - time.sleep(3) + time.sleep(5) def closeApp(appName, setup_perfectoMobile): @@ -1015,7 +1015,7 @@ def get_ip_address_ios(request, WifiName, WifiPass, setup_perfectoMobile, connDa available_ssids = False try: - for check_for_all_ssids in range(9): + for check_for_all_ssids in range(2): available_ssids = get_all_available_ssids(driver) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) try: @@ -1177,8 +1177,8 @@ def get_all_available_ssids(driver): active_ssid_list = [] try: - time.sleep(2) - driver.implicitly_wait(2) + time.sleep(8) + driver.implicitly_wait(10) elements = driver.find_elements_by_xpath("(//*[@label='More Info']/parent::*/XCUIElementTypeStaticText)") print(len(elements)) for i in range(len(elements)): @@ -1730,7 +1730,7 @@ def get_ip_address_eap_ios(request, WifiName, User, ttls_passwd, setup_perfectoM available_ssids = False try: - for check_for_all_ssids in range(9): + for check_for_all_ssids in range(2): available_ssids = get_all_available_ssids(driver) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) try: diff --git a/tests/e2e/interOp/conftest.py b/tests/e2e/interOp/conftest.py index 34e04e5c7..0244f2e7f 100644 --- a/tests/e2e/interOp/conftest.py +++ b/tests/e2e/interOp/conftest.py @@ -403,7 +403,7 @@ def setup_perfectoMobile_android(request): driver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - driver.implicitly_wait(2) + driver.implicitly_wait(35) TestCaseFullName = os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0] nCurrentTestMethodNameSplit = re.sub(r'\[.*?\]\ *', "", TestCaseFullName) @@ -507,7 +507,7 @@ def setup_perfectoMobileWeb(request): rdriver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - rdriver.implicitly_wait(2) + rdriver.implicitly_wait(35) projectname = request.config.getini("projectName") projectversion = request.config.getini("projectVersion") @@ -570,7 +570,7 @@ def setup_perfectoMobile_iOS(request): driver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - driver.implicitly_wait(2) + driver.implicitly_wait(35) TestCaseFullName = os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0] nCurrentTestMethodNameSplit = re.sub(r'\[.*?\]\ *', "", TestCaseFullName) From ad1f98591cd12f3e1f898d6d8f963991ee69e4ac Mon Sep 17 00:00:00 2001 From: Sushant Bawiskar Date: Fri, 10 Dec 2021 13:59:44 +0530 Subject: [PATCH 50/52] Revert "Revert "- reduced sleep in android_lib.py"" This reverts commit 06f09f78a68f6bdda0ba4df6e83cc275cc8d5402. --- libs/perfecto_libs/android_lib.py | 14 +++++++------- libs/perfecto_libs/iOS_lib.py | 12 ++++++------ tests/e2e/interOp/conftest.py | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/libs/perfecto_libs/android_lib.py b/libs/perfecto_libs/android_lib.py index 81c138909..56d318b3a 100644 --- a/libs/perfecto_libs/android_lib.py +++ b/libs/perfecto_libs/android_lib.py @@ -60,9 +60,9 @@ def scrollDown(setup_perfectoMobile): params2["start"] = "50%,90%" params2["end"] = "50%,20%" params2["duration"] = "4" - time.sleep(2) + # time.sleep(2) setup_perfectoMobile[0].execute_script('mobile:touch:swipe', params2) - time.sleep(1) + time.sleep(3) def getDeviceID(setup_perfectoMobile): @@ -1195,7 +1195,7 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa print("No Connected SSIDS") #----------------------This is to Forget current connected SSID-------------------------------- - time.sleep(2) + # time.sleep(2) print("Selecting Wifi: " + WifiName) #allure.attach(name= body=str("Selecting Wifi: " + WifiName)) ssid_found = False @@ -1203,7 +1203,7 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa #This is To get all available ssids #------------------------------------------------------ try: - for k in range(3): + for k in range(9): available_ssids = get_all_available_ssids(driver) print("active_ssid_list: ", available_ssids) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) @@ -1785,8 +1785,8 @@ def wifi_disconnect_and_forget(request, WifiName, WifiPass, setup_perfectoMobile def get_all_available_ssids(driver): active_ssid_list = [] try: - time.sleep(5) - driver.implicitly_wait(5) + time.sleep(2) + driver.implicitly_wait(1) elements = driver.find_elements_by_xpath("//*[@resource-id='com.android.settings:id/title']") # print("elements: ", elements) print(len(elements)) @@ -2191,7 +2191,7 @@ def get_ip_address_eap_and(request, WifiName, User, ttls_passwd, setup_perfectoM #This is To get all available ssids #------------------------------------------------------ try: - for k in range(3): + for k in range(10): available_ssids = get_all_available_ssids(driver) print("active_ssid_list: ", available_ssids) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) diff --git a/libs/perfecto_libs/iOS_lib.py b/libs/perfecto_libs/iOS_lib.py index d324486db..f9e9cde05 100644 --- a/libs/perfecto_libs/iOS_lib.py +++ b/libs/perfecto_libs/iOS_lib.py @@ -38,9 +38,9 @@ def scrollDown(setup_perfectoMobile): params2["start"] = "50%,90%" params2["end"] = "50%,20%" params2["duration"] = "4" - time.sleep(5) + # time.sleep(2) setup_perfectoMobile[0].execute_script('mobile:touch:swipe', params2) - time.sleep(5) + time.sleep(3) def closeApp(appName, setup_perfectoMobile): @@ -1015,7 +1015,7 @@ def get_ip_address_ios(request, WifiName, WifiPass, setup_perfectoMobile, connDa available_ssids = False try: - for check_for_all_ssids in range(2): + for check_for_all_ssids in range(9): available_ssids = get_all_available_ssids(driver) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) try: @@ -1177,8 +1177,8 @@ def get_all_available_ssids(driver): active_ssid_list = [] try: - time.sleep(8) - driver.implicitly_wait(10) + time.sleep(2) + driver.implicitly_wait(2) elements = driver.find_elements_by_xpath("(//*[@label='More Info']/parent::*/XCUIElementTypeStaticText)") print(len(elements)) for i in range(len(elements)): @@ -1730,7 +1730,7 @@ def get_ip_address_eap_ios(request, WifiName, User, ttls_passwd, setup_perfectoM available_ssids = False try: - for check_for_all_ssids in range(2): + for check_for_all_ssids in range(9): available_ssids = get_all_available_ssids(driver) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) try: diff --git a/tests/e2e/interOp/conftest.py b/tests/e2e/interOp/conftest.py index 0244f2e7f..34e04e5c7 100644 --- a/tests/e2e/interOp/conftest.py +++ b/tests/e2e/interOp/conftest.py @@ -403,7 +403,7 @@ def setup_perfectoMobile_android(request): driver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - driver.implicitly_wait(35) + driver.implicitly_wait(2) TestCaseFullName = os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0] nCurrentTestMethodNameSplit = re.sub(r'\[.*?\]\ *', "", TestCaseFullName) @@ -507,7 +507,7 @@ def setup_perfectoMobileWeb(request): rdriver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - rdriver.implicitly_wait(35) + rdriver.implicitly_wait(2) projectname = request.config.getini("projectName") projectversion = request.config.getini("projectVersion") @@ -570,7 +570,7 @@ def setup_perfectoMobile_iOS(request): driver = webdriver.Remote( 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub', capabilities) - driver.implicitly_wait(35) + driver.implicitly_wait(2) TestCaseFullName = os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0] nCurrentTestMethodNameSplit = re.sub(r'\[.*?\]\ *', "", TestCaseFullName) From 263b708122ea617e60812d364a0f4f33c9f6eec4 Mon Sep 17 00:00:00 2001 From: sushant Date: Fri, 10 Dec 2021 14:04:53 +0530 Subject: [PATCH 51/52] - increased iterations to check broadcast SSID to 10 in iOS_lib.py - reduced all driver.implicitly_wait(30) from this to driver.implicitly_wait(2) in interop/conftest.py Signed-off-by: Sushant Bawiskar --- libs/perfecto_libs/iOS_lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/perfecto_libs/iOS_lib.py b/libs/perfecto_libs/iOS_lib.py index f9e9cde05..a898f39f3 100644 --- a/libs/perfecto_libs/iOS_lib.py +++ b/libs/perfecto_libs/iOS_lib.py @@ -1015,7 +1015,7 @@ def get_ip_address_ios(request, WifiName, WifiPass, setup_perfectoMobile, connDa available_ssids = False try: - for check_for_all_ssids in range(9): + for check_for_all_ssids in range(10): available_ssids = get_all_available_ssids(driver) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) try: From 6a80710eacf45fafc1d7b721b1ec84f50d32359e Mon Sep 17 00:00:00 2001 From: Sushant Bawiskar <72099364+SushantBawiskar@users.noreply.github.com> Date: Fri, 10 Dec 2021 15:56:14 +0530 Subject: [PATCH 52/52] - changed check ssid range to 9 --- libs/perfecto_libs/iOS_lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/perfecto_libs/iOS_lib.py b/libs/perfecto_libs/iOS_lib.py index a898f39f3..f9e9cde05 100644 --- a/libs/perfecto_libs/iOS_lib.py +++ b/libs/perfecto_libs/iOS_lib.py @@ -1015,7 +1015,7 @@ def get_ip_address_ios(request, WifiName, WifiPass, setup_perfectoMobile, connDa available_ssids = False try: - for check_for_all_ssids in range(10): + for check_for_all_ssids in range(9): available_ssids = get_all_available_ssids(driver) allure.attach(name="Available SSIDs in device: ", body=str(available_ssids)) try: