mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-11-03 20:38:05 +00:00
- added standalone function in androidlib to get ssids
- Changes in get_ip function Signed-off-by: Sushant Bawiskar <sushant.bawiskar@candelatech.com>
This commit is contained in:
@@ -20,6 +20,20 @@ from selenium.webdriver.common.by import By
|
|||||||
from selenium.webdriver.support.ui import WebDriverWait
|
from selenium.webdriver.support.ui import WebDriverWait
|
||||||
from appium.webdriver.common.mobileby import MobileBy
|
from appium.webdriver.common.mobileby import MobileBy
|
||||||
from selenium.webdriver.support import expected_conditions as EC
|
from selenium.webdriver.support import expected_conditions as EC
|
||||||
|
from appium import webdriver
|
||||||
|
|
||||||
|
sys.path.append(
|
||||||
|
os.path.dirname(
|
||||||
|
os.path.realpath(__file__)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if "tests" not in sys.path:
|
||||||
|
sys.path.append(f'../../tests')
|
||||||
|
|
||||||
|
try:
|
||||||
|
from configparser import ConfigParser
|
||||||
|
except ImportError:
|
||||||
|
from ConfigParser import ConfigParser # ver. < 3.0
|
||||||
|
|
||||||
def openApp(appName, setup_perfectoMobile):
|
def openApp(appName, setup_perfectoMobile):
|
||||||
print("Refreshing App: " + appName)
|
print("Refreshing App: " + appName)
|
||||||
@@ -1015,8 +1029,8 @@ def cache_clear_android(request, setup_perfectoMobile, connData):
|
|||||||
closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
||||||
|
|
||||||
def check_if_no_internet_popup(driver):#To check and kill if any popups related to no internet
|
def check_if_no_internet_popup(driver):#To check and kill if any popups related to no internet
|
||||||
time.sleep(3)
|
time.sleep(1)
|
||||||
driver.implicitly_wait(3)
|
driver.implicitly_wait(1)
|
||||||
try:
|
try:
|
||||||
|
|
||||||
popup = driver.find_element_by_xpath("//*[@resource-id='android:id/alertTitle']")
|
popup = driver.find_element_by_xpath("//*[@resource-id='android:id/alertTitle']")
|
||||||
@@ -1027,7 +1041,7 @@ def check_if_no_internet_popup(driver):#To check and kill if any popups related
|
|||||||
print("**alert** popup **alert**")
|
print("**alert** popup **alert**")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
driver.implicitly_wait(5)
|
driver.implicitly_wait(3)
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
kill_popup = driver.find_element_by_xpath("//*[@resource-id='com.android.settings:id/keep_btn']")
|
kill_popup = driver.find_element_by_xpath("//*[@resource-id='com.android.settings:id/keep_btn']")
|
||||||
kill_popup.click()
|
kill_popup.click()
|
||||||
@@ -1044,7 +1058,7 @@ def check_if_no_internet_popup(driver):#To check and kill if any popups related
|
|||||||
print("popup element is: ", popup)
|
print("popup element is: ", popup)
|
||||||
return False
|
return False
|
||||||
except:
|
except:
|
||||||
print("No Popup Found")
|
pass
|
||||||
|
|
||||||
|
|
||||||
def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connData):
|
def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connData):
|
||||||
@@ -1135,7 +1149,7 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa
|
|||||||
network_category = driver.find_element_by_xpath(
|
network_category = driver.find_element_by_xpath(
|
||||||
"//*[@resource-id='com.android.settings:id/connected_network_category']")
|
"//*[@resource-id='com.android.settings:id/connected_network_category']")
|
||||||
try: #To forget exhisting ssid
|
try: #To forget exhisting ssid
|
||||||
print("To forget exhisting ssid")
|
print("To forget ssid")
|
||||||
check_if_no_internet_popup(driver)
|
check_if_no_internet_popup(driver)
|
||||||
additional_details_element = driver.find_element_by_xpath(
|
additional_details_element = driver.find_element_by_xpath(
|
||||||
"//*[@resource-id='com.android.settings:id/layout_details']")
|
"//*[@resource-id='com.android.settings:id/layout_details']")
|
||||||
@@ -1159,14 +1173,14 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa
|
|||||||
|
|
||||||
print("Selecting Wifi: " + WifiName)
|
print("Selecting Wifi: " + WifiName)
|
||||||
|
|
||||||
#This is To get all available ssids
|
# #This is To get all available ssids
|
||||||
#------------------------------------------------------
|
# #------------------------------------------------------
|
||||||
try:
|
# try:
|
||||||
get_all_available_ssids(driver)
|
# get_all_available_ssids(driver)
|
||||||
except:
|
# except:
|
||||||
closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
||||||
return ip_address_element_text, ssid_with_internet
|
# return ip_address_element_text, ssid_with_internet
|
||||||
#-------------------------------------------------------
|
# #-------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1230,7 +1244,6 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa
|
|||||||
+ WifiName + "']")))
|
+ WifiName + "']")))
|
||||||
print("Wifi Successfully Connected without internet")
|
print("Wifi Successfully Connected without internet")
|
||||||
check_if_no_internet_popup(driver)
|
check_if_no_internet_popup(driver)
|
||||||
|
|
||||||
except:
|
except:
|
||||||
try:
|
try:
|
||||||
report.step_start("Verify if Wifi is Connected")
|
report.step_start("Verify if Wifi is Connected")
|
||||||
@@ -1260,12 +1273,20 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa
|
|||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
ip_address_element = driver.find_element_by_xpath(
|
ip_address_element = driver.find_element_by_xpath(
|
||||||
"//*[@text='IP address']/parent::*/android.widget.TextView[@resource-id='com.android.settings:id/summary']")
|
"//*[@text='IP address']/parent::*/android.widget.TextView[@resource-id='com.android.settings:id/summary']")
|
||||||
#//*[@text='IP address']/parent::*/android.widget.TextView[@resource-id='com.android.settings:id/summary']
|
|
||||||
ip_address_element_text = ip_address_element.text
|
ip_address_element_text = ip_address_element.text
|
||||||
print("Device IP address is :", ip_address_element_text)
|
print("Device IP address is :", ip_address_element_text)
|
||||||
except:
|
except:
|
||||||
closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
try:
|
||||||
return ip_address_element_text, ssid_with_internet
|
time.sleep(2)
|
||||||
|
ip_address_element = driver.find_element_by_xpath(
|
||||||
|
"//*[@text='IP address']/parent::*/android.widget.TextView[@resource-id='android:id/summary']")
|
||||||
|
ip_address_element_text = ip_address_element.text
|
||||||
|
print("Device IP address is :", ip_address_element_text)
|
||||||
|
except:
|
||||||
|
raise "IP address element not found"
|
||||||
|
|
||||||
|
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
||||||
|
# return ip_address_element_text, ssid_with_internet
|
||||||
|
|
||||||
try:
|
try:
|
||||||
check_if_no_internet_popup(driver)
|
check_if_no_internet_popup(driver)
|
||||||
@@ -1318,78 +1339,6 @@ def get_ip_address_and(request, WifiName, WifiPass, setup_perfectoMobile, connDa
|
|||||||
closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
||||||
return ip_address_element_text, ssid_with_internet
|
return ip_address_element_text, ssid_with_internet
|
||||||
|
|
||||||
# def get_device_model_name():
|
|
||||||
# # Open Settings Application
|
|
||||||
# openApp(connData["appPackage-android"], setup_perfectoMobile)
|
|
||||||
# deviceModelName = getDeviceModelName(setup_perfectoMobile)
|
|
||||||
# print("Selected Device Model: " + deviceModelName)
|
|
||||||
|
|
||||||
# def open_wifi_connections():
|
|
||||||
# try:
|
|
||||||
# print("Verifying Connected Wifi Connection")
|
|
||||||
# report.step_start("Click Connections")
|
|
||||||
# connElement = driver.find_element_by_xpath("//*[@text='Connections']")
|
|
||||||
# connElement.click()
|
|
||||||
# try:
|
|
||||||
# report.step_start("Clicking Wi-Fi")
|
|
||||||
# print("Clicking WIFI")
|
|
||||||
# wifiElement = driver.find_element_by_xpath("//*[@text='Wi-Fi']")
|
|
||||||
# wifiElement.click()
|
|
||||||
# except:
|
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
|
||||||
# return False
|
|
||||||
# print("Couldn't open wifi page")
|
|
||||||
# except:
|
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
|
||||||
# return False
|
|
||||||
# print("Couldn't open connection")
|
|
||||||
|
|
||||||
# def turn_on_wifi_switch(driver, connData, setup_perfectoMobile):
|
|
||||||
# try:
|
|
||||||
# driver.implicitly_wait(1)
|
|
||||||
# get_switch_text_element = driver.find_element_by_xpath(
|
|
||||||
# "//*[@resource-id='com.android.settings:id/switch_text']")
|
|
||||||
# get_switch_text = get_switch_text_element.text
|
|
||||||
# print("get_switch_text: ", get_switch_text)
|
|
||||||
# print("Find wifi switch")
|
|
||||||
# try: # To Turn on Wi-Fi Switch
|
|
||||||
# if get_switch_text == "Off":
|
|
||||||
# # driver.implicitly_wait(3)
|
|
||||||
# get_switch_element = driver.find_element_by_xpath(
|
|
||||||
# "//*[@resource-id='com.android.settings:id/switch_widget']")
|
|
||||||
# driver.implicitly_wait(1)
|
|
||||||
# get_switch_element.click()
|
|
||||||
# driver.implicitly_wait(1)
|
|
||||||
# i = 0
|
|
||||||
# for i in range(5):
|
|
||||||
# if get_switch_text == "On":
|
|
||||||
# print("WIFI Switch is ON")
|
|
||||||
# return True
|
|
||||||
# else:
|
|
||||||
# try:
|
|
||||||
# get_switch_text_element = driver.find_element_by_xpath(
|
|
||||||
# "//*[@resource-id='com.android.settings:id/switch_text']")
|
|
||||||
# get_switch_text = get_switch_text_element.text
|
|
||||||
# except:
|
|
||||||
# pass
|
|
||||||
# print("Sleeping for: ", i)
|
|
||||||
# time.sleep(i)
|
|
||||||
# pass
|
|
||||||
# if get_switch_text == "Off":
|
|
||||||
# print("Switch is Still OFF")
|
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
|
||||||
# return False
|
|
||||||
# else:
|
|
||||||
# print("Switch is already On")
|
|
||||||
# check_if_no_internet_popup(driver)
|
|
||||||
# return True
|
|
||||||
# except:
|
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
|
||||||
# return False
|
|
||||||
# except:
|
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
|
||||||
# return False
|
|
||||||
|
|
||||||
def get_all_available_ssids(driver):
|
def get_all_available_ssids(driver):
|
||||||
try:
|
try:
|
||||||
elements = driver.find_elements_by_xpath("//*[@resource-id='com.android.settings:id/title']")
|
elements = driver.find_elements_by_xpath("//*[@resource-id='com.android.settings:id/title']")
|
||||||
@@ -1401,228 +1350,279 @@ def get_all_available_ssids(driver):
|
|||||||
except:
|
except:
|
||||||
print("No SSIDS available")
|
print("No SSIDS available")
|
||||||
|
|
||||||
# def open_settings_and_get_all_ssid_list(request, setup_perfectoMobile, connData):
|
def reportClient(value):
|
||||||
# report = setup_perfectoMobile[1]
|
global reporting_client # declare a to be a global
|
||||||
# driver = setup_perfectoMobile[0]
|
reporting_client = value # this sets the global value of a
|
||||||
#
|
|
||||||
# ip_address_element_text = False
|
# This is a functon to get all of the ssid details
|
||||||
# ssid_with_internet = False
|
# This function needs to be called from a standalone script and not throuh testcase
|
||||||
#
|
def get_all_available_ssids():
|
||||||
# report.step_start("Switching Driver Context")
|
from appium import webdriver
|
||||||
# print("Switching Context to Native")
|
driver = None
|
||||||
# contexts = driver.contexts
|
reporting_client = None
|
||||||
# driver.switch_to.context(contexts[0])
|
|
||||||
#
|
warnings.simplefilter("ignore", ResourceWarning)
|
||||||
# open_wifi_connections()
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||||
# turn_on_wifi_switch(driver, connData, setup_perfectoMobile)
|
|
||||||
# get_all_available_ssids(driver)
|
capabilities = {
|
||||||
|
'platformName': 'Android',
|
||||||
|
'model': 'Galaxy S9',
|
||||||
|
'browserName': 'mobileOS',
|
||||||
|
# 'automationName' : 'Appium',
|
||||||
|
'securityToken': 'eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI3NzkzZGM0Ni1jZmU4LTQ4ODMtYjhiOS02ZWFlZGU2OTc2MDkifQ.eyJpYXQiOjE2MjE4NjgyOTksImp0aSI6IjIzNGFiOTM1LWIxYjQtNGZiOC1hZmJiLTM0OTQwNzU5MjIwMyIsImlzcyI6Imh0dHBzOi8vYXV0aDIucGVyZmVjdG9tb2JpbGUuY29tL2F1dGgvcmVhbG1zL3RpcC1wZXJmZWN0b21vYmlsZS1jb20iLCJhdWQiOiJodHRwczovL2F1dGgyLnBlcmZlY3RvbW9iaWxlLmNvbS9hdXRoL3JlYWxtcy90aXAtcGVyZmVjdG9tb2JpbGUtY29tIiwic3ViIjoiN2I1MzBhZTAtODgxOC00N2I5LTgzZjMtN2ZhMGZiMGRkYjRlIiwidHlwIjoiT2ZmbGluZSIsImF6cCI6Im9mZmxpbmUtdG9rZW4tZ2VuZXJhdG9yIiwibm9uY2UiOiI1MzI2NDQxNS0xYTQwLTQ1ZTctOGVkMi1hOTNiYWZmZWNjYjIiLCJzZXNzaW9uX3N0YXRlIjoiY2YzY2JlOGMtY2Y5OC00NzRlLWJmODctYTIxNzU0NzVhM2EzIiwic2NvcGUiOiJvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcyBlbWFpbCJ9.4a4v6AKxmY95Zb-l84K_Od49WPikwOHP7ryctfmnn-w',
|
||||||
|
'useAppiumForWeb': 'false',
|
||||||
|
'useAppiumForHybrid': 'false',
|
||||||
|
# 'bundleId' : request.config.getini("appPackage-android"),
|
||||||
|
}
|
||||||
|
|
||||||
|
app_data = {
|
||||||
|
"webURL": "https://www.google.com",
|
||||||
|
"lblSearch": "//*[@class='gLFyf']",
|
||||||
|
"elelSearch": "(//*[@class='sbic sb43'])[1]",
|
||||||
|
"BtnRunSpeedTest": "//*[text()='RUN SPEED TEST']",
|
||||||
|
"bundleId-iOS-Settings": 'com.apple.Preferences',
|
||||||
|
"bundleId-iOS-Safari": 'com.apple.mobilesafari',
|
||||||
|
"downloadMbps": "//*[@id='knowledge-verticals-internetspeedtest__download']/P[@class='spiqle']",
|
||||||
|
"UploadMbps": "//*[@id='knowledge-verticals-internetspeedtest__upload']/P[@class='spiqle']",
|
||||||
|
# Android
|
||||||
|
"platformName-android": 'Android',
|
||||||
|
"appPackage-android": 'com.android.settings'
|
||||||
|
}
|
||||||
|
|
||||||
|
driver = webdriver.Remote(
|
||||||
|
"https://tip.perfectomobile.com/nexperience/perfectomobile/wd/hub",
|
||||||
|
capabilities
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
print(driver)
|
||||||
|
driver.implicitly_wait(35)
|
||||||
|
#Driver Ends here
|
||||||
|
|
||||||
|
projectname = "TIP-PyTest-Execution"
|
||||||
|
projectversion = 1.0
|
||||||
|
jobname = "tip-sushant-android"
|
||||||
|
jobnumber = 2
|
||||||
|
tags = "TestTag"
|
||||||
|
testCaseName = "getting_ssids"
|
||||||
|
|
||||||
|
# print("\nSetting Perfecto ReportClient....")
|
||||||
|
perfecto_execution_context = PerfectoExecutionContext(driver, tags, Job(jobname, jobnumber),
|
||||||
|
Project(projectname, projectversion))
|
||||||
|
reporting_client = PerfectoReportiumClient(perfecto_execution_context)
|
||||||
|
reporting_client.test_start(testCaseName, TestContext([], "Perforce"))
|
||||||
|
reportClient(reporting_client)
|
||||||
|
|
||||||
|
|
||||||
# def get_all_available_ssids(request):
|
setup_perfectoMobile = (driver, reporting_client)
|
||||||
# from appium import webdriver
|
print("setup_perfectoMobile_android: ", setup_perfectoMobile)
|
||||||
# driver = None
|
print(type(setup_perfectoMobile))
|
||||||
# reporting_client = None
|
|
||||||
#
|
print("\n-------------------------------------")
|
||||||
# warnings.simplefilter("ignore", ResourceWarning)
|
print("Select Wifi/AccessPoint Connection")
|
||||||
# urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
print("-------------------------------------")
|
||||||
#
|
print("Verifying Wifi Connection Details....")
|
||||||
# connData = {
|
report = setup_perfectoMobile[1]
|
||||||
# "webURL": "https://www.google.com",
|
driver = setup_perfectoMobile[0]
|
||||||
# "lblSearch": "//*[@class='gLFyf']",
|
|
||||||
# "elelSearch": "(//*[@class='sbic sb43'])[1]",
|
|
||||||
# "BtnRunSpeedTest": "//*[text()='RUN SPEED TEST']",
|
|
||||||
# "bundleId-iOS-Settings": request.config.getini("bundleId-iOS-Settings"),
|
ip_address_element_text = False
|
||||||
# "bundleId-iOS-Safari": request.config.getini("bundleId-iOS-Safari"),
|
ssid_with_internet = False
|
||||||
# "downloadMbps": "//*[@id='knowledge-verticals-internetspeedtest__download']/P[@class='spiqle']",
|
ssid_list = []
|
||||||
# "UploadMbps": "//*[@id='knowledge-verticals-internetspeedtest__upload']/P[@class='spiqle']",
|
|
||||||
# # Android
|
report.step_start("Switching Driver Context")
|
||||||
# "platformName-android": request.config.getini("platformName-android"),
|
print("Switching Context to Native")
|
||||||
# "appPackage-android": request.config.getini("appPackage-android")
|
contexts = driver.contexts
|
||||||
# }
|
print("contexts", contexts)
|
||||||
#
|
driver.switch_to.context(contexts[0])
|
||||||
# capabilities = connData
|
print("1508")
|
||||||
#
|
|
||||||
# print("driver.implicitly_wait(35)")
|
# Open Settings Application
|
||||||
# driver = webdriver.Remote(
|
openApp(app_data["appPackage-android"], setup_perfectoMobile)
|
||||||
# 'https://' + request.config.getini("perfectoURL") + '.perfectomobile.com/nexperience/perfectomobile/wd/hub',
|
|
||||||
# capabilities)
|
deviceModelName = driver.execute_script('mobile:handset:info', {'property': 'model'})
|
||||||
# driver.implicitly_wait(35)
|
|
||||||
# #Driver Ends here
|
# deviceModelName = getDeviceModelName(setup_perfectoMobile)
|
||||||
#
|
print("Selected Device Model: " + deviceModelName)
|
||||||
# #Reporting Client
|
|
||||||
# # TestCaseFullName = os.environ.get('PYTEST_CURRENT_TEST').split(':')[-1].split(' ')[0]
|
if deviceModelName != ("Pixel 4"):
|
||||||
# # nCurrentTestMethodNameSplit = re.sub(r'\[.*?\]\ *', "", TestCaseFullName)
|
# -----------------To Open Connections page-----------------------
|
||||||
# # try:
|
try:
|
||||||
# # # TestCaseName = nCurrentTestMethodNameSplit.removeprefix('test_')
|
print("Verifying Connected Wifi Connection")
|
||||||
# # TestCaseName = nCurrentTestMethodNameSplit.replace('test_', '')
|
report.step_start("Click Connections")
|
||||||
# # print("\n\nExecuting TestCase: " + TestCaseName)
|
connElement = driver.find_element_by_xpath("//*[@text='Connections']")
|
||||||
# # except Exception as e:
|
connElement.click()
|
||||||
# # TestCaseName = nCurrentTestMethodNameSplit
|
|
||||||
# # print("\nUpgrade Python to 3.9 to avoid test_ string in your test case name, see below URL")
|
# ---------------------Open WIFI page-------------------------------
|
||||||
# # print("https://www.andreagrandi.it/2020/10/11/python39-introduces-removeprefix-removesuffix/")
|
try:
|
||||||
#
|
report.step_start("Clicking Wi-Fi")
|
||||||
# projectname = request.config.getini("projectName")
|
print("Clicking WIFI")
|
||||||
# projectversion = request.config.getini("projectVersion")
|
wifiElement = driver.find_element_by_xpath("//*[@text='Wi-Fi']")
|
||||||
# jobname = request.config.getini("jobName")
|
wifiElement.click()
|
||||||
# jobnumber = request.config.getini("jobNumber")
|
|
||||||
# tags = request.config.getini("reportTags")
|
# --------------------To Turn on WIFi Switch if already OFF--------------------------------
|
||||||
# testCaseName = "getting_ssids"
|
try:
|
||||||
#
|
driver.implicitly_wait(1)
|
||||||
# # print("\nSetting Perfecto ReportClient....")
|
get_switch_text_element = driver.find_element_by_xpath(
|
||||||
# perfecto_execution_context = PerfectoExecutionContext(driver, tags, Job(jobname, jobnumber),
|
"//*[@resource-id='com.android.settings:id/switch_text']")
|
||||||
# Project(projectname, projectversion))
|
get_switch_text = get_switch_text_element.text
|
||||||
# reporting_client = PerfectoReportiumClient(perfecto_execution_context)
|
print("get_switch_text: ", get_switch_text)
|
||||||
# reporting_client.test_start(testCaseName, TestContext([], "Perforce"))
|
# print("Find wifi switch")
|
||||||
# reportClient(reporting_client)
|
try: # To Turn on Wi-Fi Switch
|
||||||
#
|
if get_switch_text == "Off":
|
||||||
#
|
# driver.implicitly_wait(3)
|
||||||
# setup_perfectoMobile_android = (driver, reporting_client)
|
get_switch_element = driver.find_element_by_xpath(
|
||||||
# print("setup_perfectoMobile_android: ", setup_perfectoMobile_android)
|
"//*[@resource-id='com.android.settings:id/switch_widget']")
|
||||||
# print(type(setup_perfectoMobile_android))
|
# driver.implicitly_wait(1)
|
||||||
#
|
get_switch_element.click()
|
||||||
# print("\n-------------------------------------")
|
driver.implicitly_wait(1)
|
||||||
# print("Select Wifi/AccessPoint Connection")
|
i = 0
|
||||||
# print("-------------------------------------")
|
for i in range(5):
|
||||||
# print("Verifying Wifi Connection Details....")
|
if get_switch_text == "On":
|
||||||
# setup_perfectoMobile = setup_perfectoMobile_android
|
print("WIFI Switch is ON")
|
||||||
# report = setup_perfectoMobile[1]
|
break
|
||||||
# driver = setup_perfectoMobile[0]
|
else:
|
||||||
#
|
try:
|
||||||
#
|
get_switch_text_element = driver.find_element_by_xpath(
|
||||||
#
|
"//*[@resource-id='com.android.settings:id/switch_text']")
|
||||||
# ip_address_element_text = False
|
get_switch_text = get_switch_text_element.text
|
||||||
# ssid_with_internet = False
|
except:
|
||||||
# ssid_list = []
|
pass
|
||||||
#
|
print("Sleeping for: ", i)
|
||||||
# report.step_start("Switching Driver Context")
|
time.sleep(i)
|
||||||
# print("Switching Context to Native")
|
pass
|
||||||
# contexts = driver.contexts
|
if get_switch_text == "Off":
|
||||||
# driver.switch_to.context(contexts[0])
|
print("Switch is Still OFF")
|
||||||
#
|
closeApp(app_data["appPackage-android"], setup_perfectoMobile)
|
||||||
# # Open Settings Application
|
close_driver(driver)
|
||||||
# openApp(connData["appPackage-android"], setup_perfectoMobile)
|
return ip_address_element_text
|
||||||
# deviceModelName = getDeviceModelName(setup_perfectoMobile)
|
else:
|
||||||
# print("Selected Device Model: " + deviceModelName)
|
print("Switch is already On")
|
||||||
#
|
check_if_no_internet_popup(driver)
|
||||||
# if deviceModelName != ("Pixel 4"):
|
except:
|
||||||
# # -----------------To Open Connections page-----------------------
|
print("Couldn't turn on WIFI sewitch")
|
||||||
# try:
|
closeApp(app_data["appPackage-android"], setup_perfectoMobile)
|
||||||
# print("Verifying Connected Wifi Connection")
|
close_driver(driver)
|
||||||
# report.step_start("Click Connections")
|
return ip_address_element_text
|
||||||
# connElement = driver.find_element_by_xpath("//*[@text='Connections']")
|
|
||||||
# connElement.click()
|
# ---------------------This is to Forget current connected SSID-------------------------------
|
||||||
#
|
try: # To deal with already connected SSID
|
||||||
# # ---------------------Open WIFI page-------------------------------
|
check_if_no_internet_popup(driver)
|
||||||
# try:
|
network_category = driver.find_element_by_xpath(
|
||||||
# report.step_start("Clicking Wi-Fi")
|
"//*[@resource-id='com.android.settings:id/connected_network_category']")
|
||||||
# print("Clicking WIFI")
|
try: # To forget exhisting ssid
|
||||||
# wifiElement = driver.find_element_by_xpath("//*[@text='Wi-Fi']")
|
print("To forget exhisting ssid")
|
||||||
# wifiElement.click()
|
check_if_no_internet_popup(driver)
|
||||||
#
|
additional_details_element = driver.find_element_by_xpath(
|
||||||
# # --------------------To Turn on WIFi Switch if already OFF--------------------------------
|
"//*[@resource-id='com.android.settings:id/layout_details']")
|
||||||
# try:
|
additional_details_element.click()
|
||||||
# driver.implicitly_wait(1)
|
try:
|
||||||
# get_switch_text_element = driver.find_element_by_xpath(
|
check_if_no_internet_popup(driver)
|
||||||
# "//*[@resource-id='com.android.settings:id/switch_text']")
|
forget_ssid = driver.find_element_by_xpath(
|
||||||
# get_switch_text = get_switch_text_element.text
|
"//*[@resource-id='com.android.settings:id/forget_button']//*[@resource-id='com.android.settings:id/icon']")
|
||||||
# print("get_switch_text: ", get_switch_text)
|
forget_ssid.click()
|
||||||
# print("Find wifi switch")
|
print("Forget old ssid")
|
||||||
# try: # To Turn on Wi-Fi Switch
|
except:
|
||||||
# if get_switch_text == "Off":
|
print("Couldn't forget ssid")
|
||||||
# # driver.implicitly_wait(3)
|
closeApp(app_data["appPackage-android"], setup_perfectoMobile)
|
||||||
# get_switch_element = driver.find_element_by_xpath(
|
close_driver(driver)
|
||||||
# "//*[@resource-id='com.android.settings:id/switch_widget']")
|
return ip_address_element_text
|
||||||
# # driver.implicitly_wait(1)
|
except:
|
||||||
# get_switch_element.click()
|
print("Couldn't get into additional details")
|
||||||
# driver.implicitly_wait(1)
|
except:
|
||||||
# i = 0
|
print("No Connected SSIDS")
|
||||||
# for i in range(5):
|
# ----------------------This is to Forget current connected SSID--------------------------------
|
||||||
# if get_switch_text == "On":
|
scroll_if_not_end_of_page = True
|
||||||
# print("WIFI Switch is ON")
|
|
||||||
# break
|
try:
|
||||||
# else:
|
for i in range(10):
|
||||||
# try:
|
try:
|
||||||
# get_switch_text_element = driver.find_element_by_xpath(
|
driver.implicitly_wait(5)
|
||||||
# "//*[@resource-id='com.android.settings:id/switch_text']")
|
window_size = driver.get_window_size()
|
||||||
# get_switch_text = get_switch_text_element.text
|
# print(window_size)
|
||||||
# except:
|
# print(type(window_size))
|
||||||
# pass
|
window_width = window_size['width']
|
||||||
# print("Sleeping for: ", i)
|
# print(window_width)
|
||||||
# time.sleep(i)
|
window_height = window_size['height']
|
||||||
# pass
|
# print(window_height)
|
||||||
# if get_switch_text == "Off":
|
try:
|
||||||
# print("Switch is Still OFF")
|
try:
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
elements = driver.find_elements_by_xpath(
|
||||||
# return ip_address_element_text
|
"//*[@resource-id='com.android.settings:id/title']")
|
||||||
# else:
|
print("elements: ", elements)
|
||||||
# print("Switch is already On")
|
print(len(elements))
|
||||||
# check_if_no_internet_popup(driver)
|
curent_ssid_list = []
|
||||||
# except:
|
for j in range(len(elements)):
|
||||||
# print("Couldn't turn on WIFI sewitch")
|
# print("elements[i].text", elements[j].text)
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
# print(j)
|
||||||
# close_driver(driver)
|
if i != 0:
|
||||||
# return ip_address_element_text
|
curent_ssid_list.append(elements[j].text)
|
||||||
#
|
# print("curent_ssid_list: ", curent_ssid_list)
|
||||||
# # ---------------------This is to Forget current connected SSID-------------------------------
|
ssid_list.append(elements[j].text)
|
||||||
# try: # To deal with already connected SSID
|
print("ssid_list",ssid_list)
|
||||||
# check_if_no_internet_popup(driver)
|
print("curent_ssid_list: ", curent_ssid_list)
|
||||||
# network_category = driver.find_element_by_xpath(
|
except:
|
||||||
# "//*[@resource-id='com.android.settings:id/connected_network_category']")
|
print("No SSIDS available")
|
||||||
# try: # To forget exhisting ssid
|
|
||||||
# print("To forget exhisting ssid")
|
try:
|
||||||
# check_if_no_internet_popup(driver)
|
print("in check")
|
||||||
# additional_details_element = driver.find_element_by_xpath(
|
check = all(item in curent_ssid_list for item in ssid_list)
|
||||||
# "//*[@resource-id='com.android.settings:id/layout_details']")
|
print("check: ", check)
|
||||||
# additional_details_element.click()
|
if check:
|
||||||
# try:
|
scroll_if_not_end_of_page = False
|
||||||
# check_if_no_internet_popup(driver)
|
break
|
||||||
# forget_ssid = driver.find_element_by_xpath(
|
else:
|
||||||
# "//*[@resource-id='com.android.settings:id/forget_button']//*[@resource-id='com.android.settings:id/icon']")
|
new_window_height = window_height + 100
|
||||||
# forget_ssid.click()
|
# driver.scroll(0, new_window_height)
|
||||||
# print("Forget old ssid")
|
driver.execute_script("mobile: scroll", {"direction": "down"})
|
||||||
# except:
|
continue
|
||||||
# print("Couldn't forget ssid")
|
except:
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
print("Error in page end")
|
||||||
# return ip_address_element_text
|
except:
|
||||||
# except:
|
pass
|
||||||
# print("Couldn't get into additional details")
|
except:
|
||||||
# except:
|
pass
|
||||||
# print("No Connected SSIDS")
|
except:
|
||||||
# # ----------------------This is to Forget current connected SSID--------------------------------
|
pass
|
||||||
#
|
except NoSuchElementException:
|
||||||
# # This is To get all available ssids
|
print("No Switch element found")
|
||||||
# # ------------------------------------------------------
|
# ---------------------To Turn on WIFi Switch if already OFF-------------------------------
|
||||||
# try:
|
|
||||||
# try:
|
except NoSuchElementException:
|
||||||
# elements = driver.find_elements_by_xpath(
|
print("Couldn't find wifi Button")
|
||||||
# "//*[@resource-id='com.android.settings:id/title']")
|
# ------------------Open WIFI page----------------------------------
|
||||||
# print("elements: ", elements)
|
|
||||||
# print(len(elements))
|
except NoSuchElementException:
|
||||||
# for i in range(len(elements)):
|
print("Exception: Verify Xpath - Update/check Xpath for Click Connections")
|
||||||
# print("elements[i].text", elements[i].text)
|
# -----------------To Open Connections page---------------------------
|
||||||
# ssid_list.append(elements[i].text)
|
|
||||||
# except:
|
except:
|
||||||
# print("No SSIDS available")
|
try:
|
||||||
# except:
|
closeApp(app_data["appPackage-android"], setup_perfectoMobile)
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
except:
|
||||||
# # -------------------------------------------------------
|
pass
|
||||||
# except NoSuchElementException:
|
try:
|
||||||
# print("No Switch element found")
|
reporting_client.test_stop(TestResultFactory.create_success())
|
||||||
# # ---------------------To Turn on WIFi Switch if already OFF-------------------------------
|
print('Report-Url: ' + reporting_client.report_url() + '\n')
|
||||||
#
|
except:
|
||||||
# except NoSuchElementException:
|
pass
|
||||||
# print("Couldn't find wifi Button")
|
try:
|
||||||
# # ------------------Open WIFI page----------------------------------
|
close_driver(driver)
|
||||||
#
|
except:
|
||||||
# except NoSuchElementException:
|
pass
|
||||||
# print("Exception: Verify Xpath - Update/check Xpath for Click Connections")
|
finally:
|
||||||
# # -----------------To Open Connections page---------------------------
|
try:
|
||||||
#
|
reporting_client.test_stop(TestResultFactory.create_success())
|
||||||
# closeApp(connData["appPackage-android"], setup_perfectoMobile)
|
print('Report-Url: ' + reporting_client.report_url() + '\n')
|
||||||
#
|
except:
|
||||||
# close_driver(driver)
|
pass
|
||||||
# return ssid_list
|
try:
|
||||||
#
|
close_driver(driver)
|
||||||
# def close_driver(driver):
|
except:
|
||||||
# driver.close()
|
pass
|
||||||
# driver.quit()
|
return ssid_list
|
||||||
|
|
||||||
|
def close_driver(driver):
|
||||||
|
driver.close()
|
||||||
|
driver.quit()
|
||||||
|
|||||||
Reference in New Issue
Block a user