diff options
Diffstat (limited to 'lib/python2.7/site-packages/django/contrib/admin/tests.py')
-rw-r--r-- | lib/python2.7/site-packages/django/contrib/admin/tests.py | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/lib/python2.7/site-packages/django/contrib/admin/tests.py b/lib/python2.7/site-packages/django/contrib/admin/tests.py deleted file mode 100644 index 6487299..0000000 --- a/lib/python2.7/site-packages/django/contrib/admin/tests.py +++ /dev/null @@ -1,124 +0,0 @@ -import os - -from django.test import LiveServerTestCase -from django.utils.module_loading import import_by_path -from django.utils.unittest import SkipTest -from django.utils.translation import ugettext as _ - - -class AdminSeleniumWebDriverTestCase(LiveServerTestCase): - - available_apps = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - ] - webdriver_class = 'selenium.webdriver.firefox.webdriver.WebDriver' - - @classmethod - def setUpClass(cls): - if not os.environ.get('DJANGO_SELENIUM_TESTS', False): - raise SkipTest('Selenium tests not requested') - try: - cls.selenium = import_by_path(cls.webdriver_class)() - except Exception as e: - raise SkipTest('Selenium webdriver "%s" not installed or not ' - 'operational: %s' % (cls.webdriver_class, str(e))) - # This has to be last to ensure that resources are cleaned up properly! - super(AdminSeleniumWebDriverTestCase, cls).setUpClass() - - @classmethod - def _tearDownClassInternal(cls): - if hasattr(cls, 'selenium'): - cls.selenium.quit() - super(AdminSeleniumWebDriverTestCase, cls)._tearDownClassInternal() - - def wait_until(self, callback, timeout=10): - """ - Helper function that blocks the execution of the tests until the - specified callback returns a value that is not falsy. This function can - be called, for example, after clicking a link or submitting a form. - See the other public methods that call this function for more details. - """ - from selenium.webdriver.support.wait import WebDriverWait - WebDriverWait(self.selenium, timeout).until(callback) - - def wait_loaded_tag(self, tag_name, timeout=10): - """ - Helper function that blocks until the element with the given tag name - is found on the page. - """ - self.wait_until( - lambda driver: driver.find_element_by_tag_name(tag_name), - timeout - ) - - def wait_page_loaded(self): - """ - Block until page has started to load. - """ - from selenium.common.exceptions import TimeoutException - try: - # Wait for the next page to be loaded - self.wait_loaded_tag('body') - except TimeoutException: - # IE7 occasionnally returns an error "Internet Explorer cannot - # display the webpage" and doesn't load the next page. We just - # ignore it. - pass - - def admin_login(self, username, password, login_url='/admin/'): - """ - Helper function to log into the admin. - """ - self.selenium.get('%s%s' % (self.live_server_url, login_url)) - username_input = self.selenium.find_element_by_name('username') - username_input.send_keys(username) - password_input = self.selenium.find_element_by_name('password') - password_input.send_keys(password) - login_text = _('Log in') - self.selenium.find_element_by_xpath( - '//input[@value="%s"]' % login_text).click() - self.wait_page_loaded() - - def get_css_value(self, selector, attribute): - """ - Helper function that returns the value for the CSS attribute of an - DOM element specified by the given selector. Uses the jQuery that ships - with Django. - """ - return self.selenium.execute_script( - 'return django.jQuery("%s").css("%s")' % (selector, attribute)) - - def get_select_option(self, selector, value): - """ - Returns the <OPTION> with the value `value` inside the <SELECT> widget - identified by the CSS selector `selector`. - """ - from selenium.common.exceptions import NoSuchElementException - options = self.selenium.find_elements_by_css_selector('%s > option' % selector) - for option in options: - if option.get_attribute('value') == value: - return option - raise NoSuchElementException('Option "%s" not found in "%s"' % (value, selector)) - - def assertSelectOptions(self, selector, values): - """ - Asserts that the <SELECT> widget identified by `selector` has the - options with the given `values`. - """ - options = self.selenium.find_elements_by_css_selector('%s > option' % selector) - actual_values = [] - for option in options: - actual_values.append(option.get_attribute('value')) - self.assertEqual(values, actual_values) - - def has_css_class(self, selector, klass): - """ - Returns True if the element identified by `selector` has the CSS class - `klass`. - """ - return (self.selenium.find_element_by_css_selector(selector) - .get_attribute('class').find(klass) != -1) |