Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5615)

Unified Diff: chrome/test/functional/ap_lab/ap_configurator.py

Issue 222873002: Remove pyauto tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/functional/ap_lab/ap_configurator.py
===================================================================
--- chrome/test/functional/ap_lab/ap_configurator.py (revision 261231)
+++ chrome/test/functional/ap_lab/ap_configurator.py (working copy)
@@ -1,355 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import copy
-import logging
-import os
-
-import pyauto_ap_configurator
-import pyauto
-
-import selenium.common.exceptions
-from selenium.webdriver.support.ui import WebDriverWait
-
-
-class APConfigurator(object):
- """Base class for objects to configure access points using webdriver."""
-
- def __init__(self, pyauto_instance):
- self.pyauto_instance = pyauto_instance
- self._driver = pyauto_instance.NewWebDriver()
- # Any call to wait.until() will raise an exception if the timeout is hit.
- self._wait = WebDriverWait(self._driver, timeout=5)
-
- # Possible bands
- self.band_2ghz = '2.4GHz'
- self.band_5ghz = '5GHz'
-
- # Possible modes
- self.mode_a = 0x0001
- self.mode_b = 0x0010
- self.mode_g = 0x0100
- self.mode_n = 0x1000
-
- # Possible security settings
- self.security_disabled = 'Disabled'
- self.security_wep = 'WEP'
- self.security_wpawpsk = 'WPA-Personal'
- self.security_wpa2wpsk = 'WPA2-Personal'
- self.security_wpa8021x = 'WPA-Enterprise'
- self.security_wpa28021x = 'WPA2-Enterprise'
-
- self.wep_authentication_open = 'Open'
- self.wep_authentication_shared = 'Shared Key'
-
- self._command_list = []
-
- def _WaitForObjectByXPath(self, xpath):
- """Waits for an object to appear."""
- try:
- self._wait.until(lambda _: self._driver.find_element_by_xpath(xpath))
- except selenium.common.exceptions.TimeoutException, e:
- logging.exception('Unable to find the wait for object by xpath: %s\n'
- 'WebDriver exception: %s', xpath, str(e))
-
- def SelectItemFromPopupByID(self, item, element_id, wait_for_xpath=None):
- """Selects an item from a popup, by passing the element ID.
-
- Args:
- item: the item to select from the popup
- element_id: the html ID of the item
- wait_for_xpath: an item to wait for before returning
- """
- xpath = 'id("%s")' % element_id
- self.SelectItemFromPopupByXPath(item, xpath, wait_for_xpath)
-
- def SelectItemFromPopupByXPath(self, item, xpath, wait_for_xpath=None):
- """Selects an item from a popup, by passing the xpath of the popup.
-
- Args:
- item: the item to select from the popup
- xpath: the xpath of the popup
- wait_for_xpath: an item to wait for before returning
- """
- popup = self._driver.find_element_by_xpath(xpath)
- for option in popup.find_elements_by_tag_name('option'):
- if option.text == item:
- option.click()
- break
- if wait_for_xpath: self._WaitForObjectByXPath(wait_for_xpath)
-
- def SetContentOfTextFieldByID(self, content, text_field_id,
- wait_for_xpath=None):
- """Sets the content of a textfield, by passing the element ID.
-
- Args:
- content: the content to apply to the textfield
- text_field_id: the html ID of the textfield
- wait_for_xpath: an item to wait for before returning
- """
- xpath = 'id("%s")' % text_field_id
- self.SetConentsOfTextFieldByXPath(content, xpath, wait_for_xpath)
-
- def SetConentsOfTextFieldByXPath(self, content, xpath, wait_for_xpath=None):
- """Sets the content of a textfield, by passing the xpath.
-
- Args:
- content: the content to apply to the textfield
- xpath: the xpath of the textfield
- wait_for_xpath: an item to wait for before returning
- """
- # When we can get the value we know the text field is ready.
- text_field = self._driver.find_element_by_xpath(xpath)
- try:
- self._wait.until(lambda _: text_field.get_attribute('value'))
- except selenium.common.exceptions.TimeoutException, e:
- logging.exception('Unable to obtain the value of the text field %s.\n'
- 'WebDriver exception: %s', wait_for_xpath, str(e))
- text_field = self._driver.find_element_by_xpath(xpath)
- text_field.clear()
- text_field.send_keys(content)
- if wait_for_xpath: self._WaitForObjectByXPath(wait_for_xpath)
-
- def SetCheckBoxSelectedByID(self, check_box_id, selected=True,
- wait_for_xpath=None):
- """Sets the state of a checkbox, by passing the ID.
-
- Args:
- check_box_id: the html id of the checkbox
- selected: True to enable the checkbox; False otherwise
- wait_for_xpath: an item to wait for before returning
- """
- xpath = 'id("%s")' % check_box_id
- self.SetCheckBoxSelectedByXPath(xpath, selected, wait_for_xpath)
-
- def SetCheckBoxSelectedByXPath(self, xpath, selected=True,
- wait_for_xpath=None):
- """Sets the state of a checkbox, by passing the xpath.
-
- Args:
- xpath: the xpath of the checkbox
- selected: True to enable the checkbox; False otherwise
- wait_for_xpath: an item to wait for before returning
- """
- check_box = self._driver.find_element_by_xpath(xpath)
- value = check_box.get_attribute('value')
- if (value == '1' and not selected) or (value == '0' and selected):
- check_box.click()
- if wait_for_xpath: self._WaitForObjectByXPath(wait_for_xpath)
-
- def AddItemToCommandList(self, method, args, page, priority):
- """Adds commands to be executed against the AP web UI.
-
- Args:
- method: the method to run
- args: the arguments for the method you want executed
- page: the page on the web ui where the method should be run against
- priority: the priority of the method
- """
- self._command_list.append({'method': method,
- 'args': copy.copy(args),
- 'page': page,
- 'priority': priority})
-
- def GetRouterName(self):
- """Returns a string to describe the router.
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def GetRouterShortName(self):
- """Returns a short string to describe the router.
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def GetNumberOfPages(self):
- """Returns the number of web pages used to configure the router.
-
- Note: This is used internally by applySettings, and this method must be
- implemented by the derived class.
- """
- raise NotImplementedError
-
- def GetSupportedBands(self):
- """Returns a list of dictionaries describing the supported bands.
-
- Example: returned is a dictionary of band and a list of channels. The band
- object returned must be one of those defined in the __init___ of
- this class.
-
- supported_bands = [{'band' : self.band_2GHz,
- 'channels' : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]},
- {'band' : self.band_5ghz,
- 'channels' : [26, 40, 44, 48, 149, 153, 157, 161, 165]}]
-
- Returns:
- A list of dictionaries as described above
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def GetSupportedModes(self):
- """Returns a list of dictionaries describing the supported modes.
-
- Example: returned is a dictionary of band and a list of modess. The band
- and modes objects returned must be one of those defined in the
- __init___ of this class.
-
- supported_modes = [{'band' : self.band_2GHz,
- 'modes' : [mode_b, mode_b | mode_g]},
- {'band' : self.band_5ghz,
- 'modes' : [mode_a, mode_n, mode_a | mode_n]}]
-
- Returns:
- A list of dictionaries as described above
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def NavigateToPage(self, page_number):
- """Navigates to the page corresponding to the given page number.
-
- This method performs the translation between a page number and a url to
- load. This is used internally by applySettings.
-
- Args:
- page_number: Page number of the page to load
-
- Returns:
- True if navigation is successful; False otherwise.
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SavePage(self, page_number):
- """Saves the given page.
-
- Args:
- page_number: Page number of the page to save.
-
- Returns:
- True if navigation is successful; False otherwise.
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SetMode(self, mode, band=None):
- """Sets the mode.
-
- Args:
- mode: must be one of the modes listed in __init__()
- band: the band to select
-
- Note: The derived class must implement this method
- """
- raise NotImplementedError
-
- def SetRadio(self, enabled=True):
- """Turns the radio on and off.
-
- Args:
- enabled: True to turn on the radio; False otherwise
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SetSSID(self, ssid):
- """Sets the SSID of the wireless network.
-
- Args:
- ssid: Name of the wireless network
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SetChannel(self, channel):
- """Sets the channel of the wireless network.
-
- Args:
- channel: Integer value of the channel
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SetBand(self, band):
- """Sets the band of the wireless network.
-
- Currently there are only two possible values for band 2kGHz and 5kGHz.
-
- Args:
- band: Constant describing the band type
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SetSecurityDisabled(self):
- """Disables the security of the wireless network.
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SetSecurityWEP(self, key_value, authentication):
- """Enabled WEP security for the wireless network.
-
- Args:
- key_value: encryption key to use
- authentication: one of two supported authentication types:
- wep_authentication_open or wep_authentication_shared
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SetSecurityWPAPSK(self, shared_key, update_interval=1800):
- """Enabled WPA using a private security key for the wireless network.
-
- Args:
- shared_key: shared encryption key to use
- update_interval: number of seconds to wait before updating
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def SetVisibility(self, visible=True):
- """Set the visibility of the wireless network.
-
- Args:
- visible: True for visible; False otherwise
-
- Note: The derived class must implement this method.
- """
- raise NotImplementedError
-
- def ApplySettings(self):
- """Apply all settings to the access point."""
- # Pull items by page and then sort
- if self.GetNumberOfPages() == -1:
- self.fail(msg='Number of pages is not set.')
- page_range = range(1, self.GetNumberOfPages() + 1)
- for i in page_range:
- page_commands = []
- for command in self._command_list:
- if command['page'] == i:
- page_commands.append(command)
- # Sort the commands in this page by priority
- sorted_page_commands = sorted(page_commands, key=lambda k: k['priority'])
- if sorted_page_commands and self.NavigateToPage(i):
- for command in sorted_page_commands:
- command['method'](*command['args'])
- self.SavePage(i)
- self._command_list = []
-
« no previous file with comments | « chrome/test/functional/about_plugins_ui.py ('k') | chrome/test/functional/ap_lab/ap_configurator_factory.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698