| Index: chrome/test/pyautolib/pyautolib.h
|
| ===================================================================
|
| --- chrome/test/pyautolib/pyautolib.h (revision 261231)
|
| +++ chrome/test/pyautolib/pyautolib.h (working copy)
|
| @@ -1,121 +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.
|
| -//
|
| -// This file declares the C++ side of PyAuto, the python interface to
|
| -// Chromium automation. It access Chromium's internals using Automation Proxy.
|
| -
|
| -#ifndef CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_
|
| -#define CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_
|
| -
|
| -#include "base/compiler_specific.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/test/test_timeouts.h"
|
| -#include "base/time/time.h"
|
| -#include "chrome/test/ui/ui_test.h"
|
| -#include "chrome/test/ui/ui_test_suite.h"
|
| -
|
| -#if defined(OS_MACOSX)
|
| -#include "base/mac/scoped_nsautorelease_pool.h"
|
| -#endif
|
| -
|
| -class AutomationProxy;
|
| -
|
| -// The C++ style guide forbids using default arguments but I'm taking the
|
| -// liberty of allowing it in this file. The sole purpose of this (and the
|
| -// .cc) is to support the python interface, and default args are allowed in
|
| -// python. Strictly adhering to the guide here would mean having to re-define
|
| -// all methods in python just for the sake of providing default args. This
|
| -// seems cumbersome and unwanted.
|
| -
|
| -// Test Suite for Pyauto tests. All one-time initializations go here.
|
| -class PyUITestSuiteBase : public UITestSuite {
|
| - public:
|
| - PyUITestSuiteBase(int argc, char** argv);
|
| - virtual ~PyUITestSuiteBase();
|
| -
|
| - void InitializeWithPath(const base::FilePath& browser_dir);
|
| -
|
| - void SetCrSourceRoot(const base::FilePath& path);
|
| -
|
| - private:
|
| -#if defined(OS_MACOSX)
|
| - base::mac::ScopedNSAutoreleasePool pool_;
|
| -#endif
|
| -};
|
| -
|
| -// The primary class that interfaces with Automation Proxy.
|
| -// This class is accessed from python using swig.
|
| -class PyUITestBase : public UITestBase {
|
| - public:
|
| - // Only public methods are accessible from swig.
|
| -
|
| - // Constructor. Lookup pyauto.py for doc on these args.
|
| - PyUITestBase(bool clear_profile, std::wstring homepage);
|
| - virtual ~PyUITestBase();
|
| -
|
| - // Initialize the setup. Should be called before launching the browser.
|
| - // |browser_dir| is the path to dir containing chromium binaries.
|
| - void Initialize(const base::FilePath& browser_dir);
|
| -
|
| - void UseNamedChannelID(const std::string& named_channel_id) {
|
| - named_channel_id_ = named_channel_id;
|
| - launcher_.reset(CreateProxyLauncher());
|
| - }
|
| -
|
| - virtual ProxyLauncher* CreateProxyLauncher() OVERRIDE;
|
| -
|
| - // SetUp,TearDown is redeclared as public to make it accessible from swig.
|
| - virtual void SetUp() OVERRIDE;
|
| - virtual void TearDown() OVERRIDE;
|
| -
|
| - // AutomationProxy methods
|
| -
|
| - // Meta-methods. Generic pattern of passing args and response as
|
| - // JSON dict to avoid future use of the SWIG interface and
|
| - // automation proxy additions. Returns response as JSON dict.
|
| - // Use -ve window_index for automation calls not targetted at a browser
|
| - // window. Example: Login call for chromeos.
|
| - std::string _SendJSONRequest(int window_index,
|
| - const std::string& request,
|
| - int timeout);
|
| -
|
| - // Sets a cookie value for a url. Returns true on success.
|
| - bool SetCookie(const GURL& cookie_url, const std::string& value,
|
| - int window_index = 0, int tab_index = 0);
|
| - // Gets a cookie value for the given url.
|
| - std::string GetCookie(const GURL& cookie_url, int window_index = 0,
|
| - int tab_index = 0);
|
| -
|
| - protected:
|
| - // Gets the automation proxy and checks that it exists.
|
| - virtual AutomationProxy* automation() const OVERRIDE;
|
| -
|
| - virtual void SetLaunchSwitches() OVERRIDE;
|
| -
|
| - private:
|
| - // Create JSON error responses.
|
| - void ErrorResponse(const std::string& error_string,
|
| - const std::string& request,
|
| - bool is_timeout,
|
| - std::string* response);
|
| - void RequestFailureResponse(
|
| - const std::string& request,
|
| - const base::TimeDelta& duration,
|
| - const base::TimeDelta& timeout,
|
| - std::string* response);
|
| -
|
| - // Enables PostTask to main thread.
|
| - // Should be shared across multiple instances of PyUITestBase so that this
|
| - // class is re-entrant and multiple instances can be created.
|
| - // This is necessary since python's unittest module creates instances of
|
| - // TestCase at load time itself.
|
| - static base::MessageLoop* GetSharedMessageLoop(
|
| - base::MessageLoop::Type msg_loop_type);
|
| - static base::MessageLoop* message_loop_;
|
| -
|
| - // Path to named channel id.
|
| - std::string named_channel_id_;
|
| -};
|
| -
|
| -#endif // CHROME_TEST_PYAUTOLIB_PYAUTOLIB_H_
|
|
|