| Index: chrome_frame/tools/test/page_cycler/cf_cycler.py
|
| diff --git a/chrome_frame/tools/test/page_cycler/cf_cycler.py b/chrome_frame/tools/test/page_cycler/cf_cycler.py
|
| deleted file mode 100755
|
| index 9feba7cbcbe49902c69e99ea3d3d5c3024bd5965..0000000000000000000000000000000000000000
|
| --- a/chrome_frame/tools/test/page_cycler/cf_cycler.py
|
| +++ /dev/null
|
| @@ -1,100 +0,0 @@
|
| -#!/usr/bin/env python
|
| -# Copyright (c) 2011 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.
|
| -
|
| -"""Automates IE to visit a list of web sites while running CF in full tab mode.
|
| -
|
| -The page cycler automates IE and navigates it to a series of URLs. It is
|
| -designed to be run with Chrome Frame configured to load every URL inside
|
| -CF full tab mode.
|
| -
|
| -TODO(robertshield): Make use of the python unittest module as per
|
| -review comments.
|
| -"""
|
| -
|
| -import optparse
|
| -import sys
|
| -import time
|
| -import win32com.client
|
| -import win32gui
|
| -
|
| -def LoadSiteList(path):
|
| - """Loads a list of URLs from |path|.
|
| -
|
| - Expects the URLs to be separated by newlines, with no leading or trailing
|
| - whitespace.
|
| -
|
| - Args:
|
| - path: The path to a file containing a list of new-line separated URLs.
|
| -
|
| - Returns:
|
| - A list of strings, each one a URL.
|
| - """
|
| - f = open(path)
|
| - urls = f.readlines()
|
| - f.close()
|
| - return urls
|
| -
|
| -def LaunchIE():
|
| - """Starts up IE, makes it visible and returns the automation object.
|
| -
|
| - Returns:
|
| - The IE automation object.
|
| - """
|
| - ie = win32com.client.Dispatch("InternetExplorer.Application")
|
| - ie.visible = 1
|
| - win32gui.SetForegroundWindow(ie.HWND)
|
| - return ie
|
| -
|
| -def RunTest(url, ie):
|
| - """Loads |url| into the InternetExplorer.Application instance in |ie|.
|
| -
|
| - Waits for the Document object to be created and then waits for
|
| - the document ready state to reach READYSTATE_COMPLETE.
|
| - Args:
|
| - url: A string containing the url to navigate to.
|
| - ie: The IE automation object to navigate.
|
| - """
|
| -
|
| - print "Navigating to " + url
|
| - ie.Navigate(url)
|
| - timer = 0
|
| -
|
| - READYSTATE_COMPLETE = 4
|
| -
|
| - last_ready_state = -1
|
| - for retry in xrange(60):
|
| - try:
|
| - # TODO(robertshield): Become an event sink instead of polling for
|
| - # changes to the ready state.
|
| - last_ready_state = ie.Document.ReadyState
|
| - if last_ready_state == READYSTATE_COMPLETE:
|
| - break
|
| - except:
|
| - # TODO(robertshield): Find the precise exception related to ie.Document
|
| - # being not accessible and handle it here.
|
| - print "Unexpected error:", sys.exc_info()[0]
|
| - raise
|
| - time.sleep(1)
|
| -
|
| - if last_ready_state != READYSTATE_COMPLETE:
|
| - print "Timeout waiting for " + url
|
| -
|
| -def main():
|
| - parser = optparse.OptionParser()
|
| - parser.add_option('-u', '--url_list', default='urllist',
|
| - help='The path to the list of URLs')
|
| - (opts, args) = parser.parse_args()
|
| -
|
| - urls = LoadSiteList(opts.url_list)
|
| - ie = LaunchIE()
|
| - for url in urls:
|
| - RunTest(url, ie)
|
| - time.sleep(1)
|
| - ie.visible = 0
|
| - ie.Quit()
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - main()
|
|
|