mirror of
				https://github.com/Telecominfraproject/wlan-testing.git
				synced 2025-11-03 20:38:05 +00:00 
			
		
		
		
	* Added rate-limiting in both android_test and ios_test
* Removed ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added missing methods
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Modified as per new framework
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added ow_sanity_lf marker for channel 11
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added rate-limiting test_cases
* added ow_sanity_lf marker to multipsk & multivlan tests
* Added allure_testcase-links for client_connect in validation_of_operating_modes(bridge,nat,vlan)
* Added ow_sanity_lf marker
* Removed unwanted  ow_sanity_lf marker
* allure suite and titles changed for mpsk & mvlan tests
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added rate_limiting test_cases with jira links in validation_of_operating_mode(bridge,nat,vlan)
* Added rate_radius_info and rate_radius_accounting_info
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Modified code for two test cases as per new infra
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Addded radius_auth_data radius_acc_data
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added radius_auth_data and radius_acc_data for rate limiting with radius test cases
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added basic-07
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Converted num station in int
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed unnecessary interop testbed details from lab_info
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Enterprise cleint connect and client connectivity tests in Android
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Enterprise cleint connect and client connectivity tests in iOS
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added new sanity marker for Interop testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Enterprise mode client connect test cases in Interop
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added random string addition in Interop testcases for setup profiles ssids
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added random string addition in Interop testcases for setup profiles ssids
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* changed WAN upstream port for interop testbeds
* Added the logic for retest the ucentral connectivity if it is disconnected
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added NAT-WAN
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* gw - get commands api fix
* Removed sanity marker on vlan testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* FIxed issue in DFS
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed allure report name for Enterprise mode
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Pytest exit in case of error when testbed data is not available
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Fixed the string concat from previous commit
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added check_connectivity fixture on every client_connectivity and dfs test  case
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Made some bug fixes on testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed profile data in testcases to match setup params
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added new fix in manual pytest execution workflow as per master
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added new fix in sanity workflow as per master
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed ssid names in setup params of general test cases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Enterprise mode library support for wifi connect
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed Interop sanity marker from test connectivity file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* commented newly added methods for test connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* commented traffic_generator_connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* changed as new infra
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed interop_uc_sanity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed marker description
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added needed step for S20,S10 for forget ssid
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Fixed the ap libs command for ucentral restart
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added test controller connectivity
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Changed markers as per pytest.ini
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refractored dvlan
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added eth table and max station table in allure for test_traffic_generator_connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* changed scope of Interop testcase name fixture
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added the fix for rate limiting test with vlans. Added Access Point connectivity Tests
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Changed scope of get test lib fixture
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed markers
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added run-lf condition in check_connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added test case in the library function of setup_perfecto mobile data
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed interop testcase name fixture
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added new fail msg for Interop tests for better debugging
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added fix for testcase name in setup perfecto data
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added check_connectivity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added ow_sanity_lf marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refractored DVLAN
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added lab_info.json back due to unexpected deletion
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added skip-all work with all test cases and removed the broken test cases
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Renoved the unwanted print for getting marker
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Provided vlan id in list
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added proper feature and parent suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* [WIFI-11228] Add: manual workflow step with details on namespace (#727)
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* fixed incorrect security parameter in MVLAN test functions
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added Comments on the Library Functions for Proper Understanding
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added 6G RADIO Config data
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Removed the sync_repos.bash as it is not needed now
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added proper suite, subsuite, parent suite, feature, title
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed method name  wifi_capacity to rate_limiting_test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refactored dvlan in wpa3_eap
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* old mvlan test files removed
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* marker name corrections in SDK API tests
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* descritpion and marker changes in mvlan tests
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added suite,sub_suite,parent,feature for IN,RU,SG
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Modified as per new freamework and enhanced allure and changed file name to dynamic qos
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed country from CA to US
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added 6g in get_applied_ssid_info method
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed manager ip to localhost
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added FMS Tests
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* added basic-08 & advance-01 info for tunneling
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added improvements around pass and fail for ap connectivity and added basic lab_info format
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added proper feature, parent suite, suite, sub_suite and title
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added Toggle-Wifi Button Functionality for both android and ios tests file
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Added toggle_wifi_mode test-cases for bridge,nat,vlan modes
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Added fix for 2.4g based bssid band data
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* rempved rate_limiting_tests marker
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refractored channel vs country code
* Corrected setup_basic_configuration
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added reports dir creation logic
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* vlan id's passed to test functions in mvlan
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* removed security_key from open test case
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Fixed scan ssid issue in vlan
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Fixed scan ssid issue and wrong security issue
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* changed vlan id for test_disable_vlan_wpa2_2g test case
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed dataplane_throughput_test marker to dataplane_tests
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed password for controller
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* updated controller credentials in lab-info & tunnel_bash
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Fixed TypeError: can only concatenate str (not dict) to str issue
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed parent_suite from OpenWifi Dynamic Vlan Test to Dynamic Vlan Test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Fix: resolved Pixel 4 scroll down issue, by modifying scrollDown() in android_libs.py
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* reverted old password in controller info
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* IP validation  issue in DVLAN
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Removed traffic_generator_connectivity test case and Modification for allure enhancement
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed parent suite and suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Renamed dynamic_qos_tests to rate_limiting_with_radius_tests
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed parent suite to Throughput Benchmark Test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added missing key_mgmt for wp3
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* key_mgmt issue in DVLAN-wpa3e
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added security markers
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* [WIFI-11619] Upd: Docker instructions update (#739)
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* DVLAN admin_up issue
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added pk_passwd and num_stations
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added num_stations
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added num_stations, execution_number and In tls added pk_passwd argument
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added max stations
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added client_scale_tests
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added 6GHz test cases
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added new test channels
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added execution_number in parametrize
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* added new marker for general security mode testcases in Interop
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed one ssid with internet variable logic for Interop android
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added proper feature, parent_suite, suite, sub_suite, title in allure report for client_scale_test and dataplane_throughput_test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed the teardown logic in android tests
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added global devicemodel in teardown function of Android
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added return statement for IP address
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added return statement for IP address
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed ip addr of rate limiting radius server to 10.28.3.100
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Changed ingress-rate to 10 and egress-rate to 5
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added pre-cleanup for deleting existing stations
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* [WIFI-11619] Fix: Docker example command
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Changed RATE LIMITING RADIUS SERVER ip to 10.28.3.100
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added wpa personal and open bridge test cases for client scale test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added Toggle Airplane Mode
* Added toggle airplane mode test-cases (NAT, VLAN)
Signed-off-by: karthikeyan <karthikeyan.thirumurthy@candelatech.com>
* Added toggle airplane mode functionality in perfecto library
Signed-off-by: karthikeyan <karthikeyan.thirumurthy@candelatech.com>
* Changed teardown func placement in android tests to accomodate perfecto report
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Refactored client-isolation test-cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* refactored multi-station performance test-cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Added logic to setup_configuration_data() to support for multi-band combinations
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* allure attachments for client-isolation test_cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* [WIFI-11619] Fix: workflow dependencies
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Dbg: runtime user
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Chg: set files permissions
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Dbg: add step for status
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Adjusted parameters in rate limiting for perfecto interop
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Add: git commit the changes
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Chg: GitHub Pages dir
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* [WIFI-11619] Chg: GitHub Pages dir
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Added extra parameters in rate limiting test to accomodate lanforge testcases in Perfecto Interop
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* [WIFI-11619] Add: README note
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
* Rectified ssid parameter in Perfecto Interop
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed ssid to ssid_name in Interop rate limiting testcases
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed execution number logic (NAT-LAN logic) for NAT mode ttls test cases
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Refactored multi-asso-disasso
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Revert "Added logic to setup_configuration_data() to support for multi-band combinations"
This reverts commit cef8a23315.
* Added try and except logic in push_config
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Fixed Config sent from Gateway is Received by AP, But not Applied by AP issue and added AP logs during config fails
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed resp is None logic
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added Interop sanity marker in connectivity tests
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Updated nat mode & create_vlan parameter for Multi Station Performance test-cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Added title, suite for multi-asso-disasso
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added table results for multi-station-performance test-cases
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Updated Readme file in wlan-testing
Signed-off-by: shivam <shivam.thakur@candelatech.com>
* Added check_connectivity arg
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Added title,suite for VLAN-multi-asso-disasso
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Refactored rx_sens from rx_sensitivity test to TR-398 Issue 2
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Resolved conflicts in Lab_info.json
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Open Passpoint required data in Configuration.py
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Open roaming configuration Fixture
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Open Roaming support code in Controller libs and tip_2x
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added sample testcase of open roaming for checking
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Comments in Open roaming testcase
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Modified upload_rate for wifi_capacity
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Removed unnecessary Passpoint data
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed unnecessary Passpoint data in configuration.py
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Adding new Jira links and Descriptions
Signed-off-by: Rajendra <rajendra.pappu@candelatech.com>
* added passpoint info to tunnel bash
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* created 5g tests for rxsens
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
* Modified multi station performance udp_download test-cases for test result table
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
* Deleted wifi_capacity_test
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added or removed performance marker for performance suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Enhanced allure report for sanity
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added sanity test plans and markers
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed unnecessary marker
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added Interop Testplan markers in testplan.md file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed emoji's from testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added emoji's from testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added some formatting in texts in testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed some formatting in texts in testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added some formatting in texts in testplan file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added jira links, description and markers for new sanity testcases
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Added markers and description for some more of sanity suite testcases
Signed-off-by: Jyothsna-setti <jyothsna.polamarasetty@candelatech.com>
* Added test plans md file in readme.md file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Added test plans md file in readme.md file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Changed marker expressions in Testplans.md file
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
* Removed wrong duplicate parent_suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Added test description
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed unwanted marker and Added test description
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Removed duplicate function name
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Modified parent suite
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* Modified parent suite and feature name
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
* modified mode of udaya AP from wifi6 to wifi5
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
* Logging response info for configuration push
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
Signed-off-by: anil-tegala <anil.tegala@candelatech.com>
Signed-off-by: haricharan-jaka <haricharan.jaka@candelatech.com>
Signed-off-by: shivam <shivam.thakur@candelatech.com>
Signed-off-by: karthikaeyetea <karthika.subramani@candelatech.com>
Signed-off-by: Dmitry Dunaev <dmitry@opsfleet.com>
Signed-off-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
Signed-off-by: karthikeyan <karthikeyan.thirumurthy@candelatech.com>
Signed-off-by: Rajendra <rajendra.pappu@candelatech.com>
Signed-off-by: Jyothsna-setti <jyothsna.polamarasetty@candelatech.com>
Co-authored-by: tarun-candela <tarunkumar.madabathula@candelatech.com>
Co-authored-by: anil-tegala <anil.tegala@candelatech.com>
Co-authored-by: haricharan-jaka <haricharan.jaka@candelatech.com>
Co-authored-by: shivam <shivam.thakur@candelatech.com>
Co-authored-by: karthikaeyetea <karthika.subramani@candelatech.com>
Co-authored-by: Dmitry Dunaev <83591011+dunaev-opsfleet@users.noreply.github.com>
Co-authored-by: Dmitry Dunaev <dmitry@opsfleet.com>
Co-authored-by: karthikeyan <karthikeyan.thirumurthy@candelatech.com>
Co-authored-by: Rajendra <rajendra.pappu@candelatech.com>
Co-authored-by: Jyothsna-setti <jyothsna.polamarasetty@candelatech.com>
		
	
		
			
				
	
	
		
			389 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			389 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import importlib
 | 
						|
import logging
 | 
						|
import time
 | 
						|
import warnings
 | 
						|
from time import gmtime, strftime
 | 
						|
from xml.etree import ElementTree as ET
 | 
						|
 | 
						|
import pytest
 | 
						|
import requests
 | 
						|
import urllib3
 | 
						|
from perfecto import (PerfectoExecutionContext, PerfectoReportiumClient, TestContext, TestResultFactory)
 | 
						|
from perfecto.model.model import Job, Project
 | 
						|
 | 
						|
android_tests = importlib.import_module("android_tests")
 | 
						|
ios_tests = importlib.import_module("ios_tests")
 | 
						|
 | 
						|
 | 
						|
class perfecto_interop:
 | 
						|
    dut_data = list()
 | 
						|
    security_token = None
 | 
						|
    perfecto_data = dict()
 | 
						|
    android_devices = {
 | 
						|
        "Galaxy S20": {
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "model-android": "Galaxy S20",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "jobName": "Interop-Galaxy-S20",
 | 
						|
            "jobNumber": 38
 | 
						|
        },
 | 
						|
        "Galaxy S10.*": {
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "model-android": "Galaxy S10.*",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "jobName": "Interop-Galaxy-S10",
 | 
						|
            "jobNumber": 38
 | 
						|
        },
 | 
						|
        "Galaxy S9": {
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "model-android": "Galaxy S9",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "jobName": "Interop-Galaxy-S9",
 | 
						|
            "jobNumber": 38
 | 
						|
        },
 | 
						|
        "Pixel 4": {
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "model-android": "Pixel 4",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "jobName": "Interop-pixel-4",
 | 
						|
            "jobNumber": 38
 | 
						|
        }
 | 
						|
    }
 | 
						|
    ios_devices = {
 | 
						|
        "iPhone-11": {
 | 
						|
            "model-iOS": "iPhone-11",
 | 
						|
            "bundleId-iOS": "com.apple.Preferences",
 | 
						|
            "platformName-iOS": "iOS",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Ping": "com.deftapps.ping",
 | 
						|
            "browserType-iOS": "Safari",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "jobName": "Interop-iphone-11",
 | 
						|
            "jobNumber": 38
 | 
						|
        },
 | 
						|
        "iPhone-12": {
 | 
						|
            "model-iOS": "iPhone-12",
 | 
						|
            "bundleId-iOS": "com.apple.Preferences",
 | 
						|
            "platformName-iOS": "iOS",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Ping": "com.deftapps.ping",
 | 
						|
            "browserType-iOS": "Safari",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "jobName": "Interop-iphone-12",
 | 
						|
            "jobNumber": 38
 | 
						|
        },
 | 
						|
        "iPhone-7": {
 | 
						|
            "model-iOS": "iPhone-7",
 | 
						|
            "bundleId-iOS": "com.apple.Preferences",
 | 
						|
            "platformName-iOS": "iOS",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Ping": "com.deftapps.ping",
 | 
						|
            "browserType-iOS": "Safari",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "jobName": "Interop-iphone-7",
 | 
						|
            "jobNumber": 38
 | 
						|
        },
 | 
						|
        "iPhone-XR": {
 | 
						|
            "model-iOS": "iPhone-XR",
 | 
						|
            "bundleId-iOS": "com.apple.Preferences",
 | 
						|
            "platformName-iOS": "iOS",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Ping": "com.deftapps.ping",
 | 
						|
            "browserType-iOS": "Safari",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "jobName": "Interop-iphone-XR",
 | 
						|
            "jobNumber": 38
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    def __init__(self, perfecto_data=None, dut_data=None):
 | 
						|
        if perfecto_data is None:
 | 
						|
            logging.error("Perfecto data is not provided")
 | 
						|
            pytest.exit("Perfecto data is not provided")
 | 
						|
        if dut_data is None:
 | 
						|
            logging.error("Device Under Test data is not provided")
 | 
						|
            pytest.exit("Device Under Test data is not provided")
 | 
						|
        self.perfecto_data = perfecto_data
 | 
						|
        self.dut_data = dut_data
 | 
						|
 | 
						|
    def setup_metadata(self):
 | 
						|
        pass
 | 
						|
 | 
						|
    def get_device_configuration(self):
 | 
						|
        return self.perfecto_data["iPhone-11"]
 | 
						|
 | 
						|
    # def get_PassPointConniOS_data(self, get_device_configuration):
 | 
						|
    #     passPoint_data = {
 | 
						|
    #         "netAnalyzer-inter-Con-Xpath": "//*[@label='Network Connected']/parent::*/XCUIElementTypeButton",
 | 
						|
    #         "bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
 | 
						|
    #         "bundleId-iOS-Ping": get_device_configuration["bundleId-iOS-Ping"]
 | 
						|
    #     }
 | 
						|
    #     yield passPoint_data
 | 
						|
 | 
						|
    # def get_APToMobileDevice_data(get_device_configuration):
 | 
						|
    #     passPoint_data = {
 | 
						|
    #         "webURL": "https://www.google.com",
 | 
						|
    #         "lblSearch": "//*[@class='gLFyf']",
 | 
						|
    #         "elelSearch": "(//*[@class='sbic sb43'])[1]",
 | 
						|
    #         "BtnRunSpeedTest": "//*[text()='RUN SPEED TEST']",
 | 
						|
    #         "bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
 | 
						|
    #         "bundleId-iOS-Safari": get_device_configuration["bundleId-iOS-Safari"],
 | 
						|
    #         "downloadMbps": "//*[@id='knowledge-verticals-internetspeedtest__download']/P[@class='spiqle']",
 | 
						|
    #         "UploadMbps": "//*[@id='knowledge-verticals-internetspeedtest__upload']/P[@class='spiqle']",
 | 
						|
    #         # Android
 | 
						|
    #         "platformName-android": get_device_configuration["platformName-android"],
 | 
						|
    #         "appPackage-android": get_device_configuration["appPackage-android"]
 | 
						|
    #     }
 | 
						|
    #     yield passPoint_data
 | 
						|
 | 
						|
    # def get_AccessPointConn_data(get_device_configuration):
 | 
						|
    #     passPoint_data = {
 | 
						|
    #         "bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
 | 
						|
    #         "bundleId-iOS-Ping": get_device_configuration["bundleId-iOS-Ping"]
 | 
						|
    #     }
 | 
						|
    #     yield passPoint_data
 | 
						|
 | 
						|
    def get_ToggleAirplaneMode_data(self, get_device_configuration):
 | 
						|
        passPoint_data = {
 | 
						|
            "webURL": "https://www.google.com",
 | 
						|
            "lblSearch": "//*[@class='gLFyf']",
 | 
						|
            "elelSearch": "(//*[@class='sbic sb43'])[1]",
 | 
						|
            "BtnRunSpeedTest": "//*[text()='RUN SPEED TEST']",
 | 
						|
            "bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
 | 
						|
            "bundleId-iOS-Safari": get_device_configuration["bundleId-iOS-Safari"],
 | 
						|
            "downloadMbps": "//*[@id='knowledge-verticals-internetspeedtest__download']/P[@class='spiqle']",
 | 
						|
            "UploadMbps": "//*[@id='knowledge-verticals-internetspeedtest__upload']/P[@class='spiqle']",
 | 
						|
            # Android
 | 
						|
            "platformName-android": get_device_configuration["platformName-android"],
 | 
						|
            "appPackage-android": get_device_configuration["appPackage-android"]
 | 
						|
        }
 | 
						|
        return passPoint_data
 | 
						|
 | 
						|
    # def get_ToggleWifiMode_data(get_device_configuration):
 | 
						|
    #     passPoint_data = {
 | 
						|
    #         # iOS
 | 
						|
    #         "bundleId-iOS-Settings": get_device_configuration["bundleId-iOS-Settings"],
 | 
						|
    #         # Android
 | 
						|
    #         "platformName-android": get_device_configuration["platformName-android"],
 | 
						|
    #         "appPackage-android": get_device_configuration["appPackage-android"]
 | 
						|
    #     }
 | 
						|
    #     yield passPoint_data
 | 
						|
 | 
						|
    def report_client(self, value):
 | 
						|
        global reporting_client  # declare a to be a global
 | 
						|
        reporting_client = value  # this sets the global value of a
 | 
						|
 | 
						|
    def reportPerfecto(testCaseName, testCaseStatus, testErrorMsg, reportURL):
 | 
						|
        global testCaseNameList  # declare a to be a global
 | 
						|
        global testCaseStatusList
 | 
						|
        global testCaseErrorMsg
 | 
						|
        global testCaseReportURL
 | 
						|
 | 
						|
        testCaseNameList.append(testCaseName)
 | 
						|
        testCaseStatusList.append(testCaseStatus)
 | 
						|
        testCaseErrorMsg.append(str(testErrorMsg))
 | 
						|
        testCaseReportURL.append(reportURL)
 | 
						|
 | 
						|
    def setup_perfectoMobileWeb(self, get_device_configuration):
 | 
						|
        from selenium import webdriver
 | 
						|
        rdriver = None
 | 
						|
        reporting_client = None
 | 
						|
 | 
						|
        warnings.simplefilter("ignore", ResourceWarning)
 | 
						|
        urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
 | 
						|
 | 
						|
        capabilities = {
 | 
						|
            'platformName': get_device_configuration["platformName-iOS"],
 | 
						|
            'model': get_device_configuration["model-iOS"],
 | 
						|
            'browserName': get_device_configuration["browserType-iOS"],
 | 
						|
            'securityToken': get_device_configuration["securityToken"],
 | 
						|
        }
 | 
						|
 | 
						|
        if not self.is_device_available_timeout(capabilities['model']):
 | 
						|
            print("Unable to get device.")
 | 
						|
            pytest.exit("Exiting Pytest")
 | 
						|
 | 
						|
        rdriver = webdriver.Remote(
 | 
						|
            'https://' + self.perfecto_data["perfectoURL"] + '.perfectomobile.com/nexperience/perfectomobile/wd/hub',
 | 
						|
            capabilities)
 | 
						|
        rdriver.implicitly_wait(2)
 | 
						|
 | 
						|
        projectname = self.perfecto_data["projectName"]
 | 
						|
        projectversion = self.perfecto_data["projectVersion"]
 | 
						|
        jobname = get_device_configuration["jobName"]
 | 
						|
        jobnumber = get_device_configuration["jobNumber"]
 | 
						|
        tags = self.perfecto_data["reportTags"]
 | 
						|
        testCaseName = get_device_configuration["jobName"]
 | 
						|
 | 
						|
        print("Setting Perfecto ReportClient....")
 | 
						|
        perfecto_execution_context = PerfectoExecutionContext(rdriver, tags, Job(jobname, jobnumber),
 | 
						|
                                                              Project(projectname, projectversion))
 | 
						|
        reporting_client = PerfectoReportiumClient(perfecto_execution_context)
 | 
						|
        reporting_client.test_start(testCaseName, TestContext([], "Perforce"))
 | 
						|
 | 
						|
        def teardown():
 | 
						|
            try:
 | 
						|
                print(" -- Tear Down --")
 | 
						|
                reporting_client.test_stop(TestResultFactory.create_success())
 | 
						|
                print('Report-Url: ' + reporting_client.report_url() + '\n')
 | 
						|
                rdriver.close()
 | 
						|
            except Exception as e:
 | 
						|
                print(" -- Exception Not Able To close --")
 | 
						|
                print(e.message)
 | 
						|
            finally:
 | 
						|
                try:
 | 
						|
                    rdriver.quit()
 | 
						|
                except Exception as e:
 | 
						|
                    print(" -- Exception Not Able To Quit --")
 | 
						|
                    print(e.message)
 | 
						|
 | 
						|
        # request.addfinalizer(teardown)
 | 
						|
 | 
						|
        if rdriver is None:
 | 
						|
            yield -1
 | 
						|
        else:
 | 
						|
            yield rdriver, reporting_client
 | 
						|
 | 
						|
    # Does HTTP GET request to Perfecto cloud and gets response and information related to a headset
 | 
						|
    def response_device(self, model):
 | 
						|
        securityToken = self.perfecto_data["securityToken"]
 | 
						|
        perfectoURL = self.perfecto_data["perfectoURL"]
 | 
						|
        url = f"https://{perfectoURL}.perfectomobile.com/services/handsets?operation=list&securityToken={securityToken}&model={model}"
 | 
						|
        resp = requests.get(url=url)
 | 
						|
        return ET.fromstring(resp.content)
 | 
						|
 | 
						|
    # Get an attribute value from the handset response
 | 
						|
    def get_attribute_device(self, responseXml, attribute):
 | 
						|
        try:
 | 
						|
            return responseXml.find('handset').find(attribute).text
 | 
						|
        except:
 | 
						|
            print(f"Unable to get value of {attribute} from response")
 | 
						|
            return ""
 | 
						|
 | 
						|
    # Checks to see if a particular handset is available
 | 
						|
    def is_device_available(self, model):
 | 
						|
        try:
 | 
						|
            responseXml = self.response_device(model)
 | 
						|
        except:
 | 
						|
            print("Unable to get response.")
 | 
						|
            raise Exception("Unable to get response.")
 | 
						|
        device_available = self.get_attribute_device(responseXml, 'available')
 | 
						|
        print("Result:" + device_available)
 | 
						|
        if device_available == 'true':
 | 
						|
            return True
 | 
						|
        else:
 | 
						|
            allocated_to = self.get_attribute_device(responseXml, 'allocatedTo')
 | 
						|
            print("The device is currently allocated to:" + allocated_to)
 | 
						|
            return False
 | 
						|
 | 
						|
    # Checks whether the device is available or not.If the device is not available rechecks depending upon the
 | 
						|
 | 
						|
    # Checks whether the device is available or not.If the device is not available rechecks depending upon the
 | 
						|
    # 'timerValue' and 'timerThreshold' values.With the current parameters it will check after:10,20,40,80 mins.
 | 
						|
    def is_device_Available_timeout(self, model):
 | 
						|
        device_available = self.is_device_available(model)
 | 
						|
        timerValue = 5
 | 
						|
        timerThreshold = 80
 | 
						|
        if not device_available:
 | 
						|
            while (timerValue <= timerThreshold):
 | 
						|
                print("Last checked at:" + strftime("%Y-%m-%d %H:%M:%S", gmtime()))
 | 
						|
                print(f"Waiting for: {timerValue} min(s)")
 | 
						|
                time.sleep(timerValue * 60)
 | 
						|
                print("Checking now at:" + strftime("%Y-%m-%d %H:%M:%S", gmtime()))
 | 
						|
                device_available = self.is_device_available(model)
 | 
						|
                if (device_available):
 | 
						|
                    return True
 | 
						|
                else:
 | 
						|
                    timerValue = timerValue + 5
 | 
						|
 | 
						|
            if (timerValue > timerThreshold):
 | 
						|
                return False
 | 
						|
            else:
 | 
						|
                return True
 | 
						|
        else:
 | 
						|
            return True
 | 
						|
 | 
						|
    def get_device_attribuites(self, model, attribute):
 | 
						|
        try:
 | 
						|
            responseXml = self.response_device(model)
 | 
						|
        except:
 | 
						|
            print("Unable to get response.")
 | 
						|
            raise Exception("Unable to get response.")
 | 
						|
        try:
 | 
						|
            attribute_value = self.get_attribute_device(responseXml, str(attribute))
 | 
						|
        except:
 | 
						|
            attribute_value = False
 | 
						|
        return attribute_value
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    perfecto_data = {
 | 
						|
        "securityToken": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MzI4Mzc2NDEsImp0aSI6IjAwZGRiYWY5LWQwYjMtNDRjNS1hYjVlLTkyNzFlNzc5ZGUzNiIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiODNkNjUxMWQtNTBmZS00ZWM5LThkNzAtYTA0ZjBkNTdiZDUyIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI2ZjE1YzYxNy01YTU5LTQyOWEtODc2Yi1jOTQxMTQ1ZDFkZTIiLCJzZXNzaW9uX3N0YXRlIjoiYmRjZTFmYTMtMjlkYi00MmFmLWI5YWMtYjZjZmJkMDEyOTFhIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.5R85_1R38ZFXv_wIjjCIsj8NJm1p66dCsLJI5DBEmks",
 | 
						|
        "projectName": "TIP-PyTest-Execution",
 | 
						|
        "projectVersion": "1.0",
 | 
						|
        "reportTags": "TestTag",
 | 
						|
        "perfectoURL": "tip",
 | 
						|
        "iPhone-11": {
 | 
						|
            "model-iOS": "iPhone-11",
 | 
						|
            "bundleId-iOS": "com.apple.Preferences",
 | 
						|
            "platformName-iOS": "iOS",
 | 
						|
            "bundleId-iOS-Settings": "com.apple.Preferences",
 | 
						|
            "bundleId-iOS-Ping": "com.deftapps.ping",
 | 
						|
            "browserType-iOS": "Safari",
 | 
						|
            "bundleId-iOS-Safari": "com.apple.mobilesafari",
 | 
						|
            "platformName-android": "Android",
 | 
						|
            "appPackage-android": "com.android.settings",
 | 
						|
            "jobName": "Interop-iphone-11",
 | 
						|
            "jobNumber": 38
 | 
						|
        }
 | 
						|
    }
 | 
						|
    access_point = [{
 | 
						|
        "model": "edgecore_eap101",
 | 
						|
        "supported_bands": ["2G", "5G"],
 | 
						|
        "upstream_port": "1.1.eth1",
 | 
						|
        "supported_modes": ["BRIDGE", "NAT", "VLAN"],
 | 
						|
        "ssid": {
 | 
						|
            "2g-ssid": "OpenWifi",
 | 
						|
            "5g-ssid": "OpenWifi",
 | 
						|
            "6g-ssid": "candela6ghz",
 | 
						|
            "2g-password": "OpenWifi",
 | 
						|
            "5g-password": "OpenWifi",
 | 
						|
            "6g-password": "hello123",
 | 
						|
            "2g-encryption": "WPA2",
 | 
						|
            "5g-encryption": "open",
 | 
						|
            "6g-encryption": "WPA3",
 | 
						|
            "2g-bssid": "68:7d:b4:5f:5c:31 ",
 | 
						|
            "5g-bssid": "68:7d:b4:5f:5c:3c",
 | 
						|
            "6g-bssid": "68:7d:b4:5f:5c:38"
 | 
						|
        },
 | 
						|
        "mode": "wifi6",
 | 
						|
        "identifier": "903cb36ae255",
 | 
						|
        "serial_port": True,
 | 
						|
        "host_ip": "10.28.3.102",
 | 
						|
        "host_username": "lanforge",
 | 
						|
        "host_password": "pumpkin77",
 | 
						|
        "host_ssh_port": 22,
 | 
						|
        "serial_tty": "/dev/ttyAP5",
 | 
						|
        "firmware_version": "next-latest"
 | 
						|
    }]
 | 
						|
 | 
						|
    obj = perfecto_interop(perfecto_data=perfecto_data, dut_data=access_point)
 | 
						|
    x = obj.get_device_configuration()
 | 
						|
    obj.setup_perfectoMobile_android()
 |