blob: 84026b5f3b1377b4ec578613e3be0f12a0b21e24 [file] [log] [blame] [edit]
# Copyright (c) 2013 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 belkinF9K_ap_configurator
import logging
from selenium.common.exceptions import TimeoutException as \
SeleniumTimeoutException
class BelkinF7D1301APConfigurator(
belkinF9K_ap_configurator.BelkinF9KAPConfigurator):
"""Class to configure Belkin F7D1301 v1 (01) router."""
def __init__(self, ap_config):
super(BelkinF7D1301APConfigurator, self).__init__(ap_config)
self._dhcp_delay = 0
def save_page(self, page_number):
"""
Save changes and logout from the router.
@param page_number: the page number to save as an integer.
"""
button = '//input[@type="submit" and @value="Apply Changes"]'
self.click_button_by_xpath(button,
alert_handler=self._security_alert)
self.set_wait_time(30)
try:
self.wait.until(lambda _:'index.htm' in self.driver.title)
except SeleniumTimeoutException, e:
xpath= '//h1[contains(text(), "Duplicate Administrator")]'
if (self.driver.find_element_by_xpath(xpath)):
logging.debug('We got a \'Duplicate Administrator\' page '
'when we saved the changes.')
else:
raise RuntimeError("We couldn't save the page" + str(e))
finally:
self.restore_default_wait_time()