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

Unified Diff: chrome/test/functional/prefs.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
« no previous file with comments | « chrome/test/functional/prefetch.py ('k') | chrome/test/functional/prefs_ui.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/functional/prefs.py
===================================================================
--- chrome/test/functional/prefs.py (revision 261231)
+++ chrome/test/functional/prefs.py (working copy)
@@ -1,238 +0,0 @@
-#!/usr/bin/env python
-# 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 logging
-import os
-import shutil
-
-import pyauto_functional # Must be imported before pyauto
-import pyauto
-import test_utils
-
-from webdriver_pages import settings
-from webdriver_pages.settings import Behaviors, ContentTypes
-
-
-class PrefsTest(pyauto.PyUITest):
- """TestCase for Preferences."""
-
- INFOBAR_TYPE = 'rph_infobar'
-
- def setUp(self):
- pyauto.PyUITest.setUp(self)
- self._driver = self.NewWebDriver()
-
- def Debug(self):
- """Test method for experimentation.
-
- This method will not run automatically.
- """
- while True:
- raw_input('Interact with the browser and hit <enter> to dump prefs... ')
- self.pprint(self.GetPrefsInfo().Prefs())
-
- def testSessionRestore(self):
- """Test session restore preference."""
- url1 = 'http://www.google.com/'
- url2 = 'http://news.google.com/'
- self.NavigateToURL(url1)
- self.AppendTab(pyauto.GURL(url2))
- num_tabs = self.GetTabCount()
- # Set pref to restore session on startup.
- self.SetPrefs(pyauto.kRestoreOnStartup, 1)
- logging.debug('Setting %s to 1' % pyauto.kRestoreOnStartup)
- self.RestartBrowser(clear_profile=False)
- self.assertEqual(self.GetPrefsInfo().Prefs(pyauto.kRestoreOnStartup), 1)
- self.assertEqual(num_tabs, self.GetTabCount())
- self.ActivateTab(0)
- self.assertEqual(url1, self.GetActiveTabURL().spec())
- self.ActivateTab(1)
- self.assertEqual(url2, self.GetActiveTabURL().spec())
-
- def testNavigationStateOnSessionRestore(self):
- """Verify navigation state is preserved on session restore."""
- urls = ('http://www.google.com/',
- 'http://news.google.com/',
- 'http://dev.chromium.org/',)
- for url in urls:
- self.NavigateToURL(url)
- self.TabGoBack()
- self.assertEqual(self.GetActiveTabURL().spec(), urls[-2])
- self.SetPrefs(pyauto.kRestoreOnStartup, 1) # set pref to restore session
- self.RestartBrowser(clear_profile=False)
- # Verify that navigation state (forward/back state) is restored.
- self.TabGoBack()
- self.assertEqual(self.GetActiveTabURL().spec(), urls[0])
- for i in (-2, -1):
- tab.GoForward()
- self.assertEqual(self.GetActiveTabURL().spec(), urls[i])
-
- def testSessionRestoreURLs(self):
- """Verify restore URLs preference."""
- url1 = self.GetFileURLForPath(os.path.join(self.DataDir(), 'title1.html'))
- url2 = self.GetFileURLForPath(os.path.join(self.DataDir(), 'title2.html'))
- # Set pref to restore given URLs on startup
- self.SetPrefs(pyauto.kRestoreOnStartup, 4) # 4 is for restoring URLs
- self.SetPrefs(pyauto.kURLsToRestoreOnStartup, [url1, url2])
- self.RestartBrowser(clear_profile=False)
- # Verify
- self.assertEqual(self.GetPrefsInfo().Prefs(pyauto.kRestoreOnStartup), 4)
- self.assertEqual(2, self.GetTabCount())
- self.ActivateTab(0)
- self.assertEqual(url1, self.GetActiveTabURL().spec())
- self.ActivateTab(1)
- self.assertEqual(url2, self.GetActiveTabURL().spec())
-
- def testGeolocationPref(self):
- """Verify geolocation pref.
-
- Checks for the geolocation infobar.
- """
- # GetBrowserInfo() call seems to fail later on in this test. Call it early.
- # crbug.com/89000
- branding = self.GetBrowserInfo()['properties']['branding']
- url = self.GetFileURLForPath(os.path.join( # triggers geolocation
- self.DataDir(), 'geolocation', 'geolocation_on_load.html'))
- self.assertEqual(3, # default state
- self.GetPrefsInfo().Prefs(pyauto.kGeolocationDefaultContentSetting))
- self.NavigateToURL(url)
- self.assertTrue(self.WaitForInfobarCount(1))
- self.assertTrue(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars'])
- # Disable geolocation
- self.SetPrefs(pyauto.kGeolocationDefaultContentSetting, 2)
- self.assertEqual(2,
- self.GetPrefsInfo().Prefs(pyauto.kGeolocationDefaultContentSetting))
- self.ReloadTab()
- # Fails on Win7/Vista Chromium bots. crbug.com/89000
- if (self.IsWin7() or self.IsWinVista()) and branding == 'Chromium':
- return
- behavior = self._driver.execute_async_script(
- 'triggerGeoWithCallback(arguments[arguments.length - 1]);')
- self.assertEqual(
- behavior, Behaviors.BLOCK,
- msg='Behavior is "%s" when it should be BLOCKED.' % behavior)
-
- def testAllowSelectedGeoTracking(self):
- """Verify hostname pattern and behavior for allowed tracking."""
- # Default location tracking option "Ask me".
- self.SetPrefs(pyauto.kGeolocationDefaultContentSetting, 3)
- self.NavigateToURL(
- self.GetHttpURLForDataPath('geolocation', 'geolocation_on_load.html'))
- self.assertTrue(self.WaitForInfobarCount(1))
- self.PerformActionOnInfobar('accept', infobar_index=0) # Allow tracking.
- # Get the hostname pattern (e.g. http://127.0.0.1:57622).
- hostname_pattern = (
- '/'.join(self.GetHttpURLForDataPath('').split('/')[0:3]))
- self.assertEqual(
- # Allow the hostname.
- {hostname_pattern+','+hostname_pattern: {'geolocation': 1}},
- self.GetPrefsInfo().Prefs(pyauto.kContentSettingsPatternPairs))
-
- def testDismissedInfobarSavesNoEntry(self):
- """Verify dismissing infobar does not save an exception entry."""
- # Default location tracking option "Ask me".
- self.SetPrefs(pyauto.kGeolocationDefaultContentSetting, 3)
- self.NavigateToURL(
- self.GetFileURLForDataPath('geolocation', 'geolocation_on_load.html'))
- self.assertTrue(self.WaitForInfobarCount(1))
- self.PerformActionOnInfobar('dismiss', infobar_index=0)
- self.assertEqual(
- {}, self.GetPrefsInfo().Prefs(pyauto.kContentSettingsPatternPairs))
-
- def testGeolocationBlockedWhenTrackingDenied(self):
- """Verify geolocations is blocked when tracking is denied.
-
- The test verifies the blocked hostname pattern entry on the Geolocations
- exceptions page.
- """
- # Ask for permission when site wants to track.
- self.SetPrefs(pyauto.kGeolocationDefaultContentSetting, 3)
- self.NavigateToURL(
- self.GetHttpURLForDataPath('geolocation', 'geolocation_on_load.html'))
- self.assertTrue(self.WaitForInfobarCount(1))
- self.PerformActionOnInfobar('cancel', infobar_index=0) # Deny tracking.
- behavior = self._driver.execute_async_script(
- 'triggerGeoWithCallback(arguments[arguments.length - 1]);')
- self.assertEqual(
- behavior, Behaviors.BLOCK,
- msg='Behavior is "%s" when it should be BLOCKED.' % behavior)
- # Get the hostname pattern (e.g. http://127.0.0.1:57622).
- hostname_pattern = (
- '/'.join(self.GetHttpURLForDataPath('').split('/')[0:3]))
- self.assertEqual(
- # Block the hostname.
- {hostname_pattern+','+hostname_pattern: {'geolocation': 2}},
- self.GetPrefsInfo().Prefs(pyauto.kContentSettingsPatternPairs))
-
- def _CheckForVisibleImage(self, tab_index=0, windex=0):
- """Checks whether or not an image is visible on the webpage.
-
- Args:
- tab_index: Tab index. Defaults to 0 (first tab).
- windex: Window index. Defaults to 0 (first window).
-
- Returns:
- True if image is loaded, otherwise returns False if image is not loaded.
- """
- # Checks whether an image is loaded by checking the area (width
- # and height) of the image. If the area is non zero then the image is
- # visible. If the area is zero then the image is not loaded.
- # Chrome zeros the |naturalWidth| and |naturalHeight|.
- script = """
- for (i=0; i < document.images.length; i++) {
- if ((document.images[i].naturalWidth != 0) &&
- (document.images[i].naturalHeight != 0)) {
- window.domAutomationController.send(true);
- }
- }
- window.domAutomationController.send(false);
- """
- return self.ExecuteJavascript(script, windex=windex, tab_index=tab_index)
-
- def testBlockImagesForHostname(self):
- """Verify images blocked for defined hostname pattern."""
- url = 'http://www.google.com'
- page = settings.ManageExceptionsPage.FromNavigation(
- self._driver, ContentTypes.IMAGES)
- pattern, behavior = (url, Behaviors.BLOCK)
- # Add an exception BLOCK for hostname pattern 'www.google.com'.
- page.AddNewException(pattern, behavior)
- self.NavigateToURL(url)
- self.assertFalse(self._CheckForVisibleImage(),
- msg='At least one visible image found.')
-
- def testAllowImagesForHostname(self):
- """Verify images allowed for defined hostname pattern."""
- url = 'http://www.google.com'
- page = settings.ManageExceptionsPage.FromNavigation(
- self._driver, ContentTypes.IMAGES)
- pattern, behavior = (url, Behaviors.ALLOW)
- # Add an exception ALLOW for hostname pattern 'www.google.com'.
- page.AddNewException(pattern, behavior)
- self.NavigateToURL(url)
- self.assertTrue(self._CheckForVisibleImage(),
- msg='No visible images found.')
-
- def testProtocolHandlerRegisteredCorrectly(self):
- """Verify sites that ask to be default handlers registers correctly."""
- url = self.GetHttpURLForDataPath('settings', 'protocol_handler.html')
- self.NavigateToURL(url)
- # Returns a dictionary with the custom handler.
- asked_handler_dict = self._driver.execute_script(
- 'return registerCustomHandler()')
- self.PerformActionOnInfobar(
- 'accept', infobar_index=test_utils.WaitForInfobarTypeAndGetIndex(
- self, self.INFOBAR_TYPE))
- self._driver.find_element_by_id('test_protocol').click()
- self.assertTrue(
- self._driver.execute_script(
- 'return doesQueryConformsToProtocol("%s", "%s")'
- % (asked_handler_dict['query_key'],
- asked_handler_dict['query_value'])),
- msg='Protocol did not register correctly.')
-
-
-if __name__ == '__main__':
- pyauto_functional.Main()
« no previous file with comments | « chrome/test/functional/prefetch.py ('k') | chrome/test/functional/prefs_ui.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698