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

Unified Diff: chrome/test/reliability/automated_ui_tests.h

Issue 23536051: GTTF: Remove unused reliability tests code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 3 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/reliability/automated_ui_test_base.cc ('k') | chrome/test/reliability/automated_ui_tests.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/reliability/automated_ui_tests.h
diff --git a/chrome/test/reliability/automated_ui_tests.h b/chrome/test/reliability/automated_ui_tests.h
deleted file mode 100644
index 4cb6055f41f5ca75348ed2cb5591fa8662fc20d4..0000000000000000000000000000000000000000
--- a/chrome/test/reliability/automated_ui_tests.h
+++ /dev/null
@@ -1,362 +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.
-
-#ifndef CHROME_TEST_RELIABILITY_AUTOMATED_UI_TESTS_H_
-#define CHROME_TEST_RELIABILITY_AUTOMATED_UI_TESTS_H_
-
-// This takes an input file of commands, which consist of a series of
-// actions, and runs every command, reporting the status of each one
-// to an output file once all the commands have been run.
-//
-// The input file should be an XML file that has a root of any name followed
-// by a series of elements named "command" with child elements representing
-// the various actions, in order, to be performed during each command. A
-// command element can optionally include an "number" attribute to identify it.
-//
-// Example:
-// <CommandList>
-// <command number="1"><NewTab/><Navigate/><OpenWindow/><Navigate/><Back/>
-// </command>
-// <command number="2"><NewTab/><Navigate/><Navigate/><Back/><Forward/>
-// </command>
-// <command number="3"><CloseTab/><OpenWindow/><NewTab/><Navigate/><CloseTab/>
-// </command>
-// </CommandList>
-//
-// When the test is finished it will output results to the output file,
-// overwriting any previous version of this file. The output file is an
-// XML file which reports on each command, indicating whether it successfully
-// ran and if there were any errors.
-//
-// Example: (actual output will probably contain more actions per command):
-// <Report>
-// <Executed command_number="1"><NewTab/><Navigate/><result><success/>
-// </result> </Executed>
-// <Executed command_number="2"><Back/><Forward/><result><success/></result>
-// </Executed>
-// <Executed command_number="3"><CloseTab/><result>
-// <crash crash_dump="C:\a_crash.txt" command_completed="no"/></result>
-// </Executed>
-// </Report>
-//
-// A "crash" result will have two attributes, crash_dump, which points
-// to the full path of crash dump associated with this crash, and
-// command_completed which indicates whether or not the last
-// action recorded was the final action of the command.
-//
-// Furthermore, each individual action may contain additional attributes
-// to log non-fatal failures. If the attribute 'failed_to_complete="yes"'
-// is present, then the action did not complete. If that attribute is present,
-// an info, warning, or error attribute will also be present, and will contain
-// a string describing the error. The presence of info means the failure was
-// expected, probably due to a state making the action impossible to perform
-// like trying to close the last remaining window. Warnings usually mean the
-// action couldn't complete for an unknown and unexpected reason, but that the
-// test state is probably fine. Errors are like warnings, but they mean the test
-// state is probably incorrect, and more failures are likely to be caused by
-// the same problem.
-//
-// Example of some failed actions:
-// <CloseTab failed_to_complete="yes" info="would_have_exited_application"/>
-// <Reload failed_to_complete="yes" warning="failed_to_apply_accelerator"/>
-// <Star failed_to_complete="yes" error="browser_window_not_found"/>
-//
-//
-// Switches
-// --input : Specifies the input file, must be an absolute directory.
-// Default is "C:\automated_ui_tests.txt"
-//
-// --output : Specifies the output file, must be an absolute directory.
-// Default is "C:\automated_ui_tests_error_report.txt"
-//
-//
-// Test reproduction options:
-//
-// If you're trying to reproduce the results from crash reports use the
-// following switches
-//
-// --key : Specifies, via a comma delimited list, what actions to run. Examples:
-// --key=SetUp,ZoomPlus,Forward,History,Navigate,Back,TearDown
-// --key=SetUp,ZoomPlus
-// Note, the second key doesn't include a TearDown, that will
-// automatically be added if the result doesn't crash.
-//
-// --num-reproductions : Specifies the number of reproductions to run, the
-// default is 1. Suggested use: run without this flag
-// to see if we reproduce a crash, then run with the flag
-// if there isn't a crash, to see if it might be a rare
-// race condition that causes the crash.
-//
-//
-// Debugging options:
-//
-// --debug : Will append each action that is performed to the output file, as
-// soon as the action is performed. If the program finishes, this file
-// will be overwritten with the normal results. This flag is used to
-// help debug the tests if they are crashing before they get a chance
-// to write their results to file.
-//
-// --wait-after-action : waits the specified amount of time (1s by default)
-// after each action. Useful for debugging.
-
-#include <string>
-
-#include "chrome/test/reliability/automated_ui_test_base.h"
-#include "chrome/test/ui/ui_test.h"
-#include "third_party/libxml/chromium/libxml_utils.h"
-#include "ui/events/keycodes/keyboard_codes.h"
-
-namespace base {
-class Time;
-}
-
-class AutomatedUITest : public AutomatedUITestBase {
- protected:
- AutomatedUITest();
- virtual ~AutomatedUITest();
-
- // Runs a reproduction of one set of actions, reporting whether they crash
- // or not.
- void RunReproduction();
-
- // Runs automated UI tests which are read from the input file.
- // Reports crashes to the output file.
- void RunAutomatedUITest();
-
- // Attempts to perform an action based on the input string. See below for
- // possible actions. Returns true if the action completes, false otherwise.
- bool DoAction(const std::string& action);
-
- // Actions ------------------------------------------------------------------
-
- // NOTE: This list is sorted alphabetically, so that we can easily detect
- // missing actions.
-
- // Changes the encoding of the page (the encoding is selected at random
- // from a list of encodings).
- // Returns true if call to activate the accelerator is successful.
- // XML element: <ChangeEncoding/>
- bool ChangeEncoding();
-
- // Opens one of the dialogs (chosen randomly) and exercises it.
- // XML element: <Dialog/>
- bool ExerciseDialog();
-
- // Opens the JavaScriptConsole window. While it isn't modal, it takes focus
- // from the current browser window, so most of the test can't continue until
- // it is dismissed.
- // XML element: <JavaScriptConsole/>
- bool JavaScriptConsole();
-
- // Opens the About dialog. This dialog is modal so a majority of the test
- // can't be completed until it is dismissed.
- // XML element: <About/>
- bool OpenAboutDialog();
-
- // Opens the Clear Browsing Data dialog, this dialog is modal so a majority of
- // the test can't be completed until it is dismissed.
- // XML element: <ClearBrowsingData/>
- bool OpenClearBrowsingDataDialog();
-
- // Opens the Search Engines dialog. While it isn't modal, it takes focus from
- // the current browser window, so most of the test can't continue until it is
- // dismissed.
- // XML element: <EditSearchEngines/>
- bool OpenEditSearchEnginesDialog();
-
- // Opens the Import Settings dialog, this dialog is modal so a majority of
- // the test can't be completed until it is dismissed.
- // XML element: <ImportSettings/>
- bool OpenImportSettingsDialog();
-
- // Opens the Task Manager dialog. While it isn't modal, it takes focus from
- // the current browser window, so most of the test can't continue until it is
- // dismissed.
- // XML element: <TaskManager/>
- bool OpenTaskManagerDialog();
-
- // Opens the View Passwords dialog, this dialog is modal so a majority of
- // the test can't be completed until it is dismissed.
- // XML element: <ViewPasswords/>
- bool OpenViewPasswordsDialog();
-
- // Opens the Options dialog. While it isn't modal, it takes focus from
- // the current browser window, so most of the test can't continue until it is
- // dismissed.
- // XML element: <Options/>
- bool Options();
-
- // Stars the current page. This opens a dialog that may or may not be
- // dismissed.
- // XML element: <Star/>
- bool StarPage();
-
- // Views source of the current page.
- // Returns true if call to activate the accelerator is successful.
- // XML element: <ViewSource/>
- bool ViewSource();
-
- // Decreases the text size on the current active tab.
- // XML element: <ZoomMinus/>
- bool ZoomMinus();
-
- // Increases the text size on the current active tab.
- // XML element: <ZoomPlus/>
- bool ZoomPlus();
-
- // Test Dialog Actions ******************************************************
- // These are a special set of actions that perform multiple actions on a
- // specified dialog. They run kTestDialogActionsToRun actions randomly
- // chosen from test_dialog_possible_actions_ after opening the dialog. They
- // then always end with a PressEscapeKey action, to attempt to close the
- // dialog.
- //
- // The randomly performed actions are logged as child elements of the
- // TestDialog action. For example (for kTestDialogActionsToRun = 4):
- // <TestEditKeywords> <PressTabKey/><PressEnterKey/><DownArrow/>
- // <DownArrow/><PressEscapeKey/> </TestEditKeywords>
-
- // Opens About dialog and runs random actions on it.
- // XML element: <TestAboutChrome/>
- bool TestAboutChrome();
-
- // Opens Clear Browsing Data dialog and runs random actions on it.
- // XML element: <TestClearBrowsingData/>
- bool TestClearBrowsingData();
-
- // Opens Edit Keywords dialog and runs random actions on it.
- // XML element: <TestEditSearchEngines/>
- bool TestEditSearchEngines();
-
- // Opens Import Settings dialog and runs random actions on it.
- // XML element: <TestImportSettings/>
- bool TestImportSettings();
-
- // Opens Options dialog and runs random actions on it.
- // XML element: <TestOptions/>
- bool TestOptions();
-
- // Opens Task Manager and runs random actions on it.
- // This has the possibility of killing both the browser and renderer
- // processes, which will cause non-fatal errors for the remaining actions
- // in this command.
- // XML element: <TestTaskManager/>
- bool TestTaskManager();
-
- // Opens View Passwords dialog and runs random actions on it.
- // XML element: <TestViewPasswords/>
- bool TestViewPasswords();
-
- // End Test Dialog Actions **************************************************
-
- // Runs a limited set of actions designed to test dialogs. Will run
- // |num_actions| from the set defined in test_dialog_possible_actions_.
- bool FuzzyTestDialog(int num_actions);
-
- // Navigates to about:crash.
- // XML element: <Crash/>
- bool ForceCrash();
-
- // Utility functions --------------------------------------------------------
-
- // Opens init file, reads it into the reader, and closes the file.
- // Returns false if there are any errors.
- bool InitXMLReader();
-
- // Closes the xml_writer and outputs the contents of its buffer to
- // the output file.
- bool WriteReportToFile();
-
- // Appends the provided string to the output file.
- void AppendToOutputFile(const std::string& append_string);
-
- // Logs a crash to the xml_writer in the form of:
- // <result><crash crash_dump="|crash_dump|" command_completed="yes/no"/>
- // </result>
- // crash_dump - Location of crash dump if applicable.
- // command_completed - True if all actions in the command were completed
- // before the crash occured.
- void LogCrashResult(const base::FilePath& crash_dump,
- bool command_completed);
-
- // Logs a successful command to the xml_writer in the form of:
- // <result><success/><result/>
- void LogSuccessResult();
-
- // Adds the attribute "reason=|reason|" to the current element.
- // Used to log the reason for a given failure while performing an action.
- void LogActionFailureReason(const std::string& reason);
-
- // Adds the attribute 'info="|info|"' to the current element. Used when an
- // action could not complete for a non-serious issue. Usually because the
- // state of the test wouldn't allow for a particular action.
- void AddInfoAttribute(const std::string& info);
-
- // Adds the attribute "warning=|warning|" to the current element. Used when
- // an action could not complete because of a potentially troublesome issue.
- void AddWarningAttribute(const std::string& warning);
-
- // Adds the attribute "error=|error|" to the current element. Used when an
- // action could not complete due to an unexpected problem which might
- // invalidate the results of the entire command (not just the action).
- // This is usually used when the testing environment isn't acting as we'd
- // expect. For example, no chrome windows are focused, or key presses aren't
- // being registered.
- void AddErrorAttribute(const std::string& error);
-
- // Returns the full path of the crash dump. This is likely to be the
- // .txt file, not the actual crash dump. Although they do share
- // a common name.
- base::FilePath GetMostRecentCrashDump();
-
- // Returns true if the test has produced any new crash logs.
- // A "new" crash log is one that was produced since DidCrash was last called
- // with |update_total_crashes| set to true.
- bool DidCrash(bool update_total_crashes);
-
- // Override the message logging in AutomatedUITestBase.
- virtual void LogErrorMessage(const std::string& error) OVERRIDE;
- virtual void LogWarningMessage(const std::string& warning) OVERRIDE;
- virtual void LogInfoMessage(const std::string& info) OVERRIDE;
-
- // Overridden so that UI Test doesn't set up when the tests start.
- // We use DoAction("SetUp") to set up, because it logs it and makes
- // it easier to check for crashes when we start the browser.
- virtual void SetUp() OVERRIDE {}
-
- // Overridden so that UI Test doesn't close the browser (which is already
- // closed) at the end of the test.
- // We use DoAction("TearDown") to tear down, because it logs it and makes
- // it easier to check for crashes when we close the browser.
- virtual void TearDown() OVERRIDE {}
-
- private:
- // Parses the init file.
- XmlReader init_reader_;
-
- // Builds the output file.
- XmlWriter xml_writer_;
-
- // Time the test was started. Used to find crash dumps.
- base::Time test_start_time_;
-
- // Number of times the browser has crashed during this run.
- // Used to check for new crashes.
- int total_crashes_;
-
- // Used to init the init_reader_. It must exist as long as the reader does.
- std::string xml_init_file_;
-
- // If true, appends the commands to the output file as they are executed.
- // Used for debugging when automated_ui_tests.cc crashes before it outputs
- // results.
- bool debug_logging_enabled_;
-
- // A delay in second we wait for after each action. Useful for debugging.
- int post_action_delay_;
-
- DISALLOW_COPY_AND_ASSIGN(AutomatedUITest);
-};
-
-#endif // CHROME_TEST_RELIABILITY_AUTOMATED_UI_TESTS_H_
« no previous file with comments | « chrome/test/reliability/automated_ui_test_base.cc ('k') | chrome/test/reliability/automated_ui_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698