Files
wlan-testing/tests/e2e/interOp/android/ToggleWifiModeAndroid.py
2021-04-20 15:28:47 -05:00

126 lines
5.1 KiB
Python

import time
import unittest
import warnings
from perfecto import TestResultFactory
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
import argparse
from BaseClassAndroid import TestConf
class ReportingTests(TestConf):
#reportTagStart = reportTagStart()
def test_navigation(self):
warnings.simplefilter("ignore", ResourceWarning)
try:
# assert 'Perfecto' in self.driver.title
print("-------------------------------------------")
#REPORTIUM TEST START
#Open Setting Application
print("Opening Settings App..")
#self.reportTagStart()
self.reporting_client.step_start("Opening Settings App..")
params = {'identifier': 'com.android.settings'}
self.driver.execute_script('mobile:application:close', params)
self.driver.execute_script('mobile:application:open', params)
self.reporting_client.step_start("Load Wifi/BlueTooth/AirplaneMode Connection Settings..")
print("Load Wifi/BlueTooth/AirplaneMode Connection Settings..")
element = self.driver.find_element_by_xpath("//*[@text='Connections']")
element.click()
#Verifies if AP is connected to Wifi status
print("Verify Wifi Connection Status..")
self.reporting_client.step_start("Verify Wifi Connection Status..")
try:
WifiXpath = "//*[@text='Wi-Fi']/parent::*/android.widget.TextView[2]"
elementWifName = self.driver.find_element_by_xpath(WifiXpath)
print("Wifi Connected AP Name: " + elementWifName.text)
except NoSuchElementException:
print("Exception: Unable to Toggle Wifi Radio Button...Check Xpath")
print("Toggle Wifi AP Mode..")
self.reporting_client.step_start("Toggle Wifi AP Mode..")
try:
WifiInternet = self.driver.find_element_by_xpath("//*[@content-desc='Wi-Fi']")
WifiInternet.click()
except NoSuchElementException:
print("Exception: Unable to Toggle Wifi Radio Button...Check Xpath")
#Ensure Wifi Radio Button Disabled
print("Verify Wifi Disconnected Status..")
self.reporting_client.step_start("Verify Wifi Disconnected Status..")
try:
WifiXpathDisconnected = "//*[@text='Wi-Fi']/parent::*/android.widget.TextView[2]"
elementWifiDiscont = self.driver.find_element_by_xpath(WifiXpathDisconnected)
print("Wifi Disconnected Name: " + "Please " + elementWifiDiscont.text)
except NoSuchElementException:
print("Warning...No Wifi Disconnected Msg...Check Xpath")
print("Toggle Wifi Radio Button On..")
self.reporting_client.step_start("Toggle Wifi Radio Button On..")
try:
#Toggle Wifi Radio Button
WifiInternet2 = self.driver.find_element_by_xpath("//*[@content-desc='Wi-Fi']")
WifiInternet2.click()
except NoSuchElementException:
print("Exception: Unable to Toggle Wifi Radio...Check Xpath")
#Verifies if AP is connected to Wifi status
print("Verify Wifi ReConnection Status..")
self.reporting_client.step_start("Verify Wifi ReConnection Status..")
try:
WifiXpathToggle = "//*[@text='Wi-Fi']/parent::*/android.widget.TextView[2]"
elementWifNameToggle = self.driver.find_element_by_xpath(WifiXpathToggle)
print("Wifi Connected AP Status: " + elementWifNameToggle.text)
#self.assertEqual("elementWifName.text","elementWifNameToggle.text","Connection Successfull Reconnected")
print("Connection Successfull Reconnected")
except NoSuchElementException:
print("Exception: Wifi Not Connected Back.Check Xpath")
except NoSuchElementException as ex:
self.currentResult = False
#self.reporting_client.test_stop(TestResultFactory.create_failure("NoSuchElementException", ex))
print (ex.message)
#self.currentResult = True
#self.reporting_client.test_stop(Tes
if __name__ == '__main__':
# parser = argparse.ArgumentParser(description="Perfecto Arguments")
#parser.add_argument(
# "-c",
# "--cloud_name",
# metavar="cloud_name",
# help="Perfecto cloud name. (E.g. demo)",
#)
# parser.add_argument(
# "-s",
# "--security_token",
# metavar="security_token",
# help="Perfecto cloud name. (E.g. demo)",
# )
#args = vars(parser.parse_args())
#if not args["cloud_name"]:
# parser.print_help()
# parser.error(
# "cloud_name parameter is empty. Pass the argument -c followed by cloud_name"
# )
# exit
#print(str(args["cloud_name"]))
unittest.main()
#def reportTagStart(self, stepName):
# self.reporting_client.step_start(stepName)