summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/automated_ui_tests/automated_ui_tests.cc419
-rw-r--r--chrome/test/automated_ui_tests/automated_ui_tests.h233
2 files changed, 325 insertions, 327 deletions
diff --git a/chrome/test/automated_ui_tests/automated_ui_tests.cc b/chrome/test/automated_ui_tests/automated_ui_tests.cc
index ef73355..b7aeafd 100644
--- a/chrome/test/automated_ui_tests/automated_ui_tests.cc
+++ b/chrome/test/automated_ui_tests/automated_ui_tests.cc
@@ -197,7 +197,7 @@ void AutomatedUITest::RunAutomatedUITest() {
DoAction("SetUp");
// Record the depth of the root of the command subtree, then advance to
- // the first element in preperation for parsing.
+ // the first element in preparation for parsing.
int start_depth = init_reader_.Depth();
ASSERT_TRUE(init_reader_.Read()) << "Malformed XML file.";
init_reader_.SkipToElement();
@@ -277,108 +277,104 @@ bool AutomatedUITest::DoAction(const std::string & action) {
if (debug_logging_enabled_)
AppendToOutputFile(action);
- if (LowerCaseEqualsASCII(action, "navigate")) {
- did_complete_action = Navigate();
- } else if (LowerCaseEqualsASCII(action, "newtab")) {
- did_complete_action = NewTab();
+ if (LowerCaseEqualsASCII(action, "about")) {
+ did_complete_action = OpenAboutDialog();
} else if (LowerCaseEqualsASCII(action, "back")) {
did_complete_action = BackButton();
- } else if (LowerCaseEqualsASCII(action, "forward")) {
- did_complete_action = ForwardButton();
} else if (LowerCaseEqualsASCII(action, "closetab")) {
did_complete_action = CloseActiveTab();
- } else if (LowerCaseEqualsASCII(action, "openwindow")) {
- did_complete_action = OpenAndActivateNewBrowserWindow();
- } else if (LowerCaseEqualsASCII(action, "reload")) {
- did_complete_action = ReloadPage();
- } else if (LowerCaseEqualsASCII(action, "star")) {
- did_complete_action = StarPage();
+ } else if (LowerCaseEqualsASCII(action, "clearbrowsingdata")) {
+ did_complete_action = OpenClearBrowsingDataDialog();
+ } else if (LowerCaseEqualsASCII(action, "crash")) {
+ did_complete_action = ForceCrash();
+ } else if (LowerCaseEqualsASCII(action, "dialog")) {
+ did_complete_action = ExerciseDialog();
+ } else if (LowerCaseEqualsASCII(action, "downarrow")) {
+ did_complete_action = PressDownArrow();
+ } else if (LowerCaseEqualsASCII(action, "downloads")) {
+ did_complete_action = ShowDownloads();
+ } else if (LowerCaseEqualsASCII(action, "dragtableft")) {
+ did_complete_action = DragActiveTab(false, false);
+ } else if (LowerCaseEqualsASCII(action, "dragtabout")) {
+ did_complete_action = DragActiveTab(false, true);
+ } else if (LowerCaseEqualsASCII(action, "dragtabright")) {
+ did_complete_action = DragActiveTab(true, false);
+ } else if (LowerCaseEqualsASCII(action, "editsearchengines")) {
+ did_complete_action = OpenEditSearchEnginesDialog();
} else if (LowerCaseEqualsASCII(action, "findinpage")) {
did_complete_action = FindInPage();
- } else if (LowerCaseEqualsASCII(action, "selectnexttab")) {
- did_complete_action = SelectNextTab();
- } else if (LowerCaseEqualsASCII(action, "selectprevtab")) {
- did_complete_action = SelectPreviousTab();
- } else if (LowerCaseEqualsASCII(action, "zoomplus")) {
- did_complete_action = ZoomPlus();
- } else if (LowerCaseEqualsASCII(action, "zoomminus")) {
- did_complete_action = ZoomMinus();
+ } else if (LowerCaseEqualsASCII(action, "forward")) {
+ did_complete_action = ForwardButton();
+ } else if (LowerCaseEqualsASCII(action, "goofftherecord")) {
+ did_complete_action = GoOffTheRecord();
} else if (LowerCaseEqualsASCII(action, "history")) {
did_complete_action = ShowHistory();
- } else if (LowerCaseEqualsASCII(action, "downloads")) {
- did_complete_action = ShowDownloads();
- } else if (LowerCaseEqualsASCII(action, "dialog")) {
- did_complete_action = ExerciseDialog();
- } else if (LowerCaseEqualsASCII(action, "viewpasswords")) {
- did_complete_action = ViewPasswords();
- } else if (LowerCaseEqualsASCII(action, "about")) {
- did_complete_action = About();
- } else if (LowerCaseEqualsASCII(action, "options")) {
- did_complete_action = Options();
- } else if (LowerCaseEqualsASCII(action, "taskmanager")) {
- did_complete_action = TaskManager();
- } else if (LowerCaseEqualsASCII(action, "clearbrowsingdata")) {
- did_complete_action = ClearBrowserData();
- } else if (LowerCaseEqualsASCII(action, "javascriptdebugger")) {
- did_complete_action = JavaScriptDebugger();
+ } else if (LowerCaseEqualsASCII(action, "import")) {
+ did_complete_action = OpenImportSettingsDialog();
} else if (LowerCaseEqualsASCII(action, "javascriptconsole")) {
did_complete_action = JavaScriptConsole();
- } else if (LowerCaseEqualsASCII(action, "import")) {
- did_complete_action = ImportSettings();
- } else if (LowerCaseEqualsASCII(action, "editsearchengines")) {
- did_complete_action = EditSearchEngines();
- } else if (LowerCaseEqualsASCII(action, "viewpasswords")) {
- did_complete_action = ViewPasswords();
- } else if (LowerCaseEqualsASCII(action, "goofftherecord")) {
- did_complete_action = GoOffTheRecord();
- } else if (LowerCaseEqualsASCII(action, "pressescapekey")) {
- did_complete_action = PressEscapeKey();
- } else if (LowerCaseEqualsASCII(action, "presstabkey")) {
- did_complete_action = PressTabKey();
+ } else if (LowerCaseEqualsASCII(action, "javascriptdebugger")) {
+ did_complete_action = JavaScriptDebugger();
+ } else if (LowerCaseEqualsASCII(action, "navigate")) {
+ did_complete_action = Navigate();
+ } else if (LowerCaseEqualsASCII(action, "newtab")) {
+ did_complete_action = NewTab();
+ } else if (LowerCaseEqualsASCII(action, "openwindow")) {
+ did_complete_action = OpenAndActivateNewBrowserWindow();
+ } else if (LowerCaseEqualsASCII(action, "options")) {
+ did_complete_action = Options();
+ } else if (LowerCaseEqualsASCII(action, "pagedown")) {
+ did_complete_action = PressPageDown();
+ } else if (LowerCaseEqualsASCII(action, "pageup")) {
+ did_complete_action = PressPageUp();
} else if (LowerCaseEqualsASCII(action, "pressenterkey")) {
did_complete_action = PressEnterKey();
+ } else if (LowerCaseEqualsASCII(action, "pressescapekey")) {
+ did_complete_action = PressEscapeKey();
} else if (LowerCaseEqualsASCII(action, "pressspacebar")) {
did_complete_action = PressSpaceBar();
- } else if (LowerCaseEqualsASCII(action, "pagedown")) {
- did_complete_action = PageDown();
- } else if (LowerCaseEqualsASCII(action, "pageup")) {
- did_complete_action = PageUp();
- } else if (LowerCaseEqualsASCII(action, "dragtabright")) {
- did_complete_action = DragActiveTab(true, false);
- } else if (LowerCaseEqualsASCII(action, "dragtableft")) {
- did_complete_action = DragActiveTab(false, false);
- } else if (LowerCaseEqualsASCII(action, "dragtabout")) {
- did_complete_action = DragActiveTab(false, true);
- } else if (LowerCaseEqualsASCII(action, "uparrow")) {
- did_complete_action = UpArrow();
- } else if (LowerCaseEqualsASCII(action, "downarrow")) {
- did_complete_action = DownArrow();
- } else if (LowerCaseEqualsASCII(action, "options")) {
- did_complete_action = Options();
- } else if (LowerCaseEqualsASCII(action, "testeditkeywords")) {
- did_complete_action = TestEditKeywords();
- } else if (LowerCaseEqualsASCII(action, "testtaskmanager")) {
- did_complete_action = TestTaskManager();
- } else if (LowerCaseEqualsASCII(action, "testoptions")) {
- did_complete_action = TestOptions();
- } else if (LowerCaseEqualsASCII(action, "testviewpasswords")) {
- did_complete_action = TestViewPasswords();
- } else if (LowerCaseEqualsASCII(action, "testclearbrowserdata")) {
- did_complete_action = TestClearBrowserData();
- } else if (LowerCaseEqualsASCII(action, "testimportsettings")) {
- did_complete_action = TestImportSettings();
- } else if (LowerCaseEqualsASCII(action, "crash")) {
- did_complete_action = ForceCrash();
+ } else if (LowerCaseEqualsASCII(action, "presstabkey")) {
+ did_complete_action = PressTabKey();
+ } else if (LowerCaseEqualsASCII(action, "reload")) {
+ did_complete_action = ReloadPage();
+ } else if (LowerCaseEqualsASCII(action, "selectnexttab")) {
+ did_complete_action = SelectNextTab();
+ } else if (LowerCaseEqualsASCII(action, "selectprevtab")) {
+ did_complete_action = SelectPreviousTab();
+ } else if (LowerCaseEqualsASCII(action, "setup")) {
+ LaunchBrowserAndServer();
+ did_complete_action = true;
} else if (LowerCaseEqualsASCII(action, "sleep")) {
// This is for debugging, it probably shouldn't be used real tests.
Sleep(kDebuggingTimeoutMsec);
did_complete_action = true;
- } else if (LowerCaseEqualsASCII(action, "setup")) {
- LaunchBrowserAndServer();
- did_complete_action = true;
+ } else if (LowerCaseEqualsASCII(action, "star")) {
+ did_complete_action = StarPage();
+ } else if (LowerCaseEqualsASCII(action, "taskmanager")) {
+ did_complete_action = OpenTaskManagerDialog();
} else if (LowerCaseEqualsASCII(action, "teardown")) {
CloseBrowserAndServer();
did_complete_action = true;
+ } else if (LowerCaseEqualsASCII(action, "testclearbrowserdata")) {
+ did_complete_action = TestClearBrowsingData();
+ } else if (LowerCaseEqualsASCII(action, "testeditkeywords")) {
+ did_complete_action = TestEditKeywords();
+ } else if (LowerCaseEqualsASCII(action, "testimportsettings")) {
+ did_complete_action = TestImportSettings();
+ } else if (LowerCaseEqualsASCII(action, "testoptions")) {
+ did_complete_action = TestOptions();
+ } else if (LowerCaseEqualsASCII(action, "testtaskmanager")) {
+ did_complete_action = TestTaskManager();
+ } else if (LowerCaseEqualsASCII(action, "testviewpasswords")) {
+ did_complete_action = TestViewPasswords();
+ } else if (LowerCaseEqualsASCII(action, "uparrow")) {
+ did_complete_action = PressUpArrow();
+ } else if (LowerCaseEqualsASCII(action, "viewpasswords")) {
+ did_complete_action = OpenViewPasswordsDialog();
+ } else if (LowerCaseEqualsASCII(action, "zoomplus")) {
+ did_complete_action = ZoomPlus();
+ } else if (LowerCaseEqualsASCII(action, "zoomminus")) {
+ did_complete_action = ZoomMinus();
}
if (!did_complete_action)
@@ -391,68 +387,34 @@ bool AutomatedUITest::DoAction(const std::string & action) {
return did_complete_action;
}
-bool AutomatedUITest::Navigate() {
- scoped_ptr<BrowserProxy> browser(automation()->GetLastActiveBrowserWindow());
- if (browser.get() == NULL) {
- AddErrorAttribute("browser_window_not_found");
- return false;
- }
- bool did_timeout;
- scoped_ptr<TabProxy> tab(
- browser->GetActiveTabWithTimeout(kWaitForActionMaxMsec, &did_timeout));
- // TODO(devint): This might be masking a bug. I can't think of many
- // valid cases where we would get a browser window, but not be able
- // to return an active tab. Yet this has happened and has triggered crashes.
- // Investigate this.
- if (tab.get() == NULL) {
- AddErrorAttribute("active_tab_not_found");
- return false;
- }
- std::string url = "about:blank";
- if (init_reader_.NodeAttribute("url", &url)) {
- xml_writer_.AddAttribute("url", url);
- }
- GURL test_url(url);
- did_timeout = false;
- tab->NavigateToURLWithTimeout(test_url, kMaxTestExecutionTime, &did_timeout);
-
- if (did_timeout) {
- AddWarningAttribute("timeout");
+bool AutomatedUITest::OpenAndActivateNewBrowserWindow() {
+ if (!automation()->OpenNewBrowserWindow(SW_SHOWNORMAL)) {
+ AddWarningAttribute("failed_to_open_new_browser_window");
return false;
}
- return true;
-}
-
-bool AutomatedUITest::NewTab() {
- scoped_ptr<BrowserProxy> browser(automation()->GetLastActiveBrowserWindow());
+ int num_browser_windows;
+ automation()->GetBrowserWindowCount(&num_browser_windows);
+ // Get the most recently opened browser window and activate the tab
+ // in order to activate this browser window.
+ scoped_ptr<BrowserProxy> browser(
+ automation()->GetBrowserWindow(num_browser_windows - 1));
if (browser.get() == NULL) {
AddErrorAttribute("browser_window_not_found");
return false;
}
- int old_tab_count;
- int new_tab_count;
bool is_timeout;
- browser->GetTabCountWithTimeout(&old_tab_count, kWaitForActionMaxMsec,
- &is_timeout);
- // Apply accelerator and wait for a new tab to open, if either
- // fails, return false. Apply Accelerator takes care of logging its failure.
- bool return_value = RunCommand(IDC_NEWTAB);
- if (!browser->WaitForTabCountToChange(
- old_tab_count, &new_tab_count, kWaitForActionMaxMsec)) {
- AddWarningAttribute("tab_count_failed_to_change");
+ if (!browser->ActivateTabWithTimeout(0, kWaitForActionMaxMsec,
+ &is_timeout)) {
+ AddWarningAttribute("failed_to_activate_tab");
return false;
}
- return return_value;
+ return true;
}
bool AutomatedUITest::BackButton() {
return RunCommand(IDC_BACK);
}
-bool AutomatedUITest::ForwardButton() {
- return RunCommand(IDC_FORWARD);
-}
-
bool AutomatedUITest::CloseActiveTab() {
bool return_value = false;
scoped_ptr<BrowserProxy> browser(automation()->GetLastActiveBrowserWindow());
@@ -492,175 +454,208 @@ bool AutomatedUITest::CloseActiveTab() {
return return_value;
}
-bool AutomatedUITest::OpenAndActivateNewBrowserWindow() {
- if (!automation()->OpenNewBrowserWindow(SW_SHOWNORMAL)) {
- AddWarningAttribute("failed_to_open_new_browser_window");
- return false;
- }
- int num_browser_windows;
- automation()->GetBrowserWindowCount(&num_browser_windows);
- // Get the most recently opened browser window and activate the tab
- // in order to activate this browser window.
- scoped_ptr<BrowserProxy> browser(
- automation()->GetBrowserWindow(num_browser_windows - 1));
- if (browser.get() == NULL) {
- AddErrorAttribute("browser_window_not_found");
- return false;
- }
- bool is_timeout;
- if (!browser->ActivateTabWithTimeout(0, kWaitForActionMaxMsec,
- &is_timeout)) {
- AddWarningAttribute("failed_to_activate_tab");
- return false;
- }
- return true;
-}
-
-bool AutomatedUITest::ReloadPage() {
- return RunCommand(IDC_RELOAD);
+bool AutomatedUITest::FindInPage() {
+ return RunCommand(IDC_FIND);
}
-bool AutomatedUITest::StarPage() {
- return RunCommand(IDC_STAR);
+bool AutomatedUITest::ForwardButton() {
+ return RunCommand(IDC_FORWARD);
}
-bool AutomatedUITest::FindInPage() {
- return RunCommand(IDC_FIND);
+bool AutomatedUITest::GoOffTheRecord() {
+ return RunCommand(IDC_GOOFFTHERECORD);
}
-bool AutomatedUITest::SelectNextTab() {
- return RunCommand(IDC_SELECT_NEXT_TAB);
+bool AutomatedUITest::JavaScriptConsole() {
+ return RunCommand(IDC_SHOW_JS_CONSOLE);
}
-bool AutomatedUITest::SelectPreviousTab() {
- return RunCommand(IDC_SELECT_PREV_TAB);
+bool AutomatedUITest::JavaScriptDebugger() {
+ return RunCommand(IDC_DEBUGGER);
}
-bool AutomatedUITest::ZoomPlus() {
- return RunCommand(IDC_ZOOM_PLUS);
-}
+bool AutomatedUITest::Navigate() {
+ scoped_ptr<BrowserProxy> browser(automation()->GetLastActiveBrowserWindow());
+ if (browser.get() == NULL) {
+ AddErrorAttribute("browser_window_not_found");
+ return false;
+ }
+ bool did_timeout;
+ scoped_ptr<TabProxy> tab(
+ browser->GetActiveTabWithTimeout(kWaitForActionMaxMsec, &did_timeout));
+ // TODO(devint): This might be masking a bug. I can't think of many
+ // valid cases where we would get a browser window, but not be able
+ // to return an active tab. Yet this has happened and has triggered crashes.
+ // Investigate this.
+ if (tab.get() == NULL) {
+ AddErrorAttribute("active_tab_not_found");
+ return false;
+ }
+ std::string url = "about:blank";
+ if (init_reader_.NodeAttribute("url", &url)) {
+ xml_writer_.AddAttribute("url", url);
+ }
+ GURL test_url(url);
+ did_timeout = false;
+ tab->NavigateToURLWithTimeout(test_url, kMaxTestExecutionTime, &did_timeout);
-bool AutomatedUITest::ZoomMinus() {
- return RunCommand(IDC_ZOOM_MINUS);
+ if (did_timeout) {
+ AddWarningAttribute("timeout");
+ return false;
+ }
+ return true;
}
-bool AutomatedUITest::ShowHistory() {
- return RunCommand(IDC_SHOW_HISTORY);
+bool AutomatedUITest::NewTab() {
+ scoped_ptr<BrowserProxy> browser(automation()->GetLastActiveBrowserWindow());
+ if (browser.get() == NULL) {
+ AddErrorAttribute("browser_window_not_found");
+ return false;
+ }
+ int old_tab_count;
+ int new_tab_count;
+ bool is_timeout;
+ browser->GetTabCountWithTimeout(&old_tab_count, kWaitForActionMaxMsec,
+ &is_timeout);
+ // Apply accelerator and wait for a new tab to open, if either
+ // fails, return false. Apply Accelerator takes care of logging its failure.
+ bool return_value = RunCommand(IDC_NEWTAB);
+ if (!browser->WaitForTabCountToChange(
+ old_tab_count, &new_tab_count, kWaitForActionMaxMsec)) {
+ AddWarningAttribute("tab_count_failed_to_change");
+ return false;
+ }
+ return return_value;
}
-bool AutomatedUITest::ShowDownloads() {
- return RunCommand(IDC_SHOW_DOWNLOADS);
+bool AutomatedUITest::OpenAboutDialog() {
+ return RunCommand(IDC_ABOUT);
}
-bool AutomatedUITest::ImportSettings() {
- return RunCommand(IDC_IMPORT_SETTINGS);
+bool AutomatedUITest::OpenClearBrowsingDataDialog() {
+ return RunCommand(IDC_CLEAR_BROWSING_DATA);
}
-bool AutomatedUITest::EditSearchEngines() {
+bool AutomatedUITest::OpenEditSearchEnginesDialog() {
return RunCommand(IDC_EDIT_SEARCH_ENGINES);
}
-bool AutomatedUITest::ViewPasswords() {
- return RunCommand(IDC_VIEW_PASSWORDS);
+bool AutomatedUITest::OpenImportSettingsDialog() {
+ return RunCommand(IDC_IMPORT_SETTINGS);
}
-bool AutomatedUITest::ClearBrowserData() {
- return RunCommand(IDC_CLEAR_BROWSING_DATA);
+bool AutomatedUITest::OpenTaskManagerDialog() {
+ return RunCommand(IDC_TASKMANAGER);
}
-bool AutomatedUITest::TaskManager() {
- return RunCommand(IDC_TASKMANAGER);
+bool AutomatedUITest::OpenViewPasswordsDialog() {
+ return RunCommand(IDC_VIEW_PASSWORDS);
}
bool AutomatedUITest::Options() {
return RunCommand(IDC_OPTIONS);
}
-bool AutomatedUITest::JavaScriptConsole() {
- return RunCommand(IDC_SHOW_JS_CONSOLE);
+bool AutomatedUITest::PressDownArrow() {
+ return SimulateKeyPressInActiveWindow(VK_DOWN, 0);
}
-bool AutomatedUITest::JavaScriptDebugger() {
- return RunCommand(IDC_DEBUGGER);
+bool AutomatedUITest::PressEnterKey() {
+ return SimulateKeyPressInActiveWindow(VK_RETURN, 0);
}
-bool AutomatedUITest::About() {
- return RunCommand(IDC_ABOUT);
+bool AutomatedUITest::PressEscapeKey() {
+ return SimulateKeyPressInActiveWindow(VK_ESCAPE, 0);
}
-bool AutomatedUITest::GoOffTheRecord() {
- return RunCommand(IDC_GOOFFTHERECORD);
+bool AutomatedUITest::PressPageDown() {
+ return SimulateKeyPressInActiveWindow(VK_PRIOR, 0);
}
-bool AutomatedUITest::PressEscapeKey() {
- return SimulateKeyPressInActiveWindow(VK_ESCAPE, 0);
+bool AutomatedUITest::PressPageUp() {
+ return SimulateKeyPressInActiveWindow(VK_NEXT, 0);
+}
+
+bool AutomatedUITest::PressSpaceBar() {
+ return SimulateKeyPressInActiveWindow(VK_SPACE, 0);
}
bool AutomatedUITest::PressTabKey() {
return SimulateKeyPressInActiveWindow(VK_TAB, 0);
}
-bool AutomatedUITest::PressEnterKey() {
- return SimulateKeyPressInActiveWindow(VK_RETURN, 0);
+bool AutomatedUITest::PressUpArrow() {
+ return SimulateKeyPressInActiveWindow(VK_UP, 0);
}
-bool AutomatedUITest::PressSpaceBar() {
- return SimulateKeyPressInActiveWindow(VK_SPACE, 0);
+bool AutomatedUITest::ReloadPage() {
+ return RunCommand(IDC_RELOAD);
}
-bool AutomatedUITest::PageDown() {
- return SimulateKeyPressInActiveWindow(VK_PRIOR, 0);
+bool AutomatedUITest::SelectNextTab() {
+ return RunCommand(IDC_SELECT_NEXT_TAB);
}
+bool AutomatedUITest::SelectPreviousTab() {
+ return RunCommand(IDC_SELECT_PREV_TAB);
+}
-bool AutomatedUITest::PageUp() {
- return SimulateKeyPressInActiveWindow(VK_NEXT, 0);
+bool AutomatedUITest::ShowDownloads() {
+ return RunCommand(IDC_SHOW_DOWNLOADS);
}
-bool AutomatedUITest::UpArrow() {
- return SimulateKeyPressInActiveWindow(VK_UP, 0);
+bool AutomatedUITest::ShowHistory() {
+ return RunCommand(IDC_SHOW_HISTORY);
}
-bool AutomatedUITest::DownArrow() {
- return SimulateKeyPressInActiveWindow(VK_DOWN, 0);
+bool AutomatedUITest::StarPage() {
+ return RunCommand(IDC_STAR);
+}
+
+bool AutomatedUITest::ZoomMinus() {
+ return RunCommand(IDC_ZOOM_MINUS);
+}
+
+bool AutomatedUITest::ZoomPlus() {
+ return RunCommand(IDC_ZOOM_PLUS);
}
bool AutomatedUITest::TestEditKeywords() {
DoAction("EditKeywords");
- return TestDialog(kTestDialogActionsToRun);
+ return FuzzyTestDialog(kTestDialogActionsToRun);
}
bool AutomatedUITest::TestTaskManager() {
DoAction("TaskManager");
- return TestDialog(kTestDialogActionsToRun);
+ return FuzzyTestDialog(kTestDialogActionsToRun);
}
bool AutomatedUITest::TestOptions() {
DoAction("Options");
- return TestDialog(kTestDialogActionsToRun);
+ return FuzzyTestDialog(kTestDialogActionsToRun);
}
bool AutomatedUITest::TestViewPasswords() {
DoAction("ViewPasswords");
- return TestDialog(kTestDialogActionsToRun);
+ return FuzzyTestDialog(kTestDialogActionsToRun);
}
-bool AutomatedUITest::TestClearBrowserData() {
+bool AutomatedUITest::TestClearBrowsingData() {
DoAction("ClearBrowserData");
- return TestDialog(kTestDialogActionsToRun);
+ return FuzzyTestDialog(kTestDialogActionsToRun);
}
bool AutomatedUITest::TestImportSettings() {
DoAction("ImportSettings");
- return TestDialog(kTestDialogActionsToRun);
+ return FuzzyTestDialog(kTestDialogActionsToRun);
}
bool AutomatedUITest::ExerciseDialog() {
int index = rand_util::RandInt(0, arraysize(kDialogs) - 1);
- return DoAction(kDialogs[index]) && TestDialog(kTestDialogActionsToRun);
+ return DoAction(kDialogs[index]) && FuzzyTestDialog(kTestDialogActionsToRun);
}
-bool AutomatedUITest::TestDialog(int num_actions) {
+bool AutomatedUITest::FuzzyTestDialog(int num_actions) {
bool return_value = true;
for (int i = 0; i < num_actions; i++) {
diff --git a/chrome/test/automated_ui_tests/automated_ui_tests.h b/chrome/test/automated_ui_tests/automated_ui_tests.h
index 9917b83..307cba1 100644
--- a/chrome/test/automated_ui_tests/automated_ui_tests.h
+++ b/chrome/test/automated_ui_tests/automated_ui_tests.h
@@ -27,8 +27,8 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#ifndef CHROME_TEST_AUTOMATED_UI_TESTS_AUTOMATED_UI_TESTS_H__
-#define CHROME_TEST_AUTOMATED_UI_TESTS_AUTOMATED_UI_TESTS_H__
+#ifndef CHROME_TEST_AUTOMATED_UI_TESTS_AUTOMATED_UI_TESTS_H_
+#define CHROME_TEST_AUTOMATED_UI_TESTS_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
@@ -147,104 +147,95 @@ class AutomatedUITest : public UITest {
// Actions ------------------------------------------------------------------
- // Navigates the activate tab to about:blank.
- // XML element: <Navigate/>
- // Optional Attributes: url="|address|" will navigate to |address|
- bool Navigate();
-
- // Opens a new tab in the active window using an accelerator.
- // Returns true if call to activate the accelerator is successful.
- // XML element: <NewTab/>
- bool NewTab();
+ // NOTE: This list is sorted alphabetically, so that we can easily detect
+ // missing actions.
// Activates back button in active window.
// Returns true if call to activate the accelerator is successful.
// XML element: <Back/>
bool BackButton();
- // Activates forward button in active window.
- // Returns true if call to activate the accelerator is successful.
- // XML element: <Forward/>
- bool ForwardButton();
-
// Uses accelerator to close the active tab if it isn't the only tab.
// Returns false if active tab is the only tab, true otherwise.
// XML element: <CloseTab/>
bool CloseActiveTab();
- // Opens a new browser window by calling automation()->OpenNewBrowserWindow
- // Then activates the tab opened in the new window.
- // Returns true if window is successfully created.
- // XML element: <OpenWindow/>
- bool OpenAndActivateNewBrowserWindow();
-
- // Reload the active tab. Returns false on failure.
- // XML element: <Reload/>
- bool ReloadPage();
-
- // Stars the current page. This opens a dialog that may or may not be
- // dismissed.
- // XML element: <Star/>
- bool StarPage();
+ // Opens one of the dialogs (chosen randomly) and exercises it.
+ // XML element: <Dialog/>
+ bool ExerciseDialog();
// Activates "find in page" on the current page.
// XML element: <FindInPage/>
bool FindInPage();
- // Activates the next tab on the active browser window.
- // XML element: <SelectNextTab/>
- bool SelectNextTab();
+ // Activates forward button in active window.
+ // Returns true if call to activate the accelerator is successful.
+ // XML element: <Forward/>
+ bool ForwardButton();
- // Activates the previous tab on the active browser window.
- // XML element: <SelectPrevTab/>
- bool SelectPreviousTab();
+ // Opens and focuses an OffTheRecord browser window.
+ // XML element: <GoOffTheRecord/>
+ bool GoOffTheRecord();
- // Increases the text size on the current active tab.
- // XML element: <ZoomPlus/>
- bool ZoomPlus();
+ // 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();
- // Decreases the text size on the current active tab.
- // XML element: <ZoomMinus/>
- bool ZoomMinus();
+ // Opens the JavaScriptDebugger 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: <JavaScriptDebugger/>
+ bool JavaScriptDebugger();
- // Opens the History page in the current active browser window.
- // XML element: <History/>
- bool ShowHistory();
+ // Navigates the activate tab to about:blank.
+ // XML element: <Navigate/>
+ // Optional Attributes: url="|address|" will navigate to |address|
+ bool Navigate();
- // Opens the Downloads page in the current active browser window.
- // XML element: <Downloads/>
- bool ShowDownloads();
+ // Opens a new tab in the active window using an accelerator.
+ // Returns true if call to activate the accelerator is successful.
+ // XML element: <NewTab/>
+ bool NewTab();
- // Opens the Import Settings dialog, this dialog is modal so a majority of
+ // Opens a new browser window by calling automation()->OpenNewBrowserWindow
+ // Then activates the tab opened in the new window.
+ // Returns true if window is successfully created.
+ // XML element: <OpenWindow/>
+ bool OpenAndActivateNewBrowserWindow();
+
+ // 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: <ImportSettings/>
- bool ImportSettings();
+ // XML element: <ClearBrowserData/>
+ 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 EditSearchEngines();
+ bool OpenEditSearchEnginesDialog();
- // Opens one of the dialogs (chosen randomly) and exercises it.
- // XML element: <Dialog/>
- bool ExerciseDialog();
-
- // 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 ViewPasswords();
-
- // Opens the Clear Browser Data dialog, this dialog is modal so a majority of
+ // 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: <ClearBrowserData/>
- bool ClearBrowserData();
+ // 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 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
@@ -252,58 +243,70 @@ class AutomatedUITest : public UITest {
// XML element: <Options/>
bool Options();
- // 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 About();
-
- // Opens the JavaScriptDebugger 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: <JavaScriptDebugger/>
- bool JavaScriptDebugger();
-
- // 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();
+ // Simulates a page up key press on the active window.
+ // XML element: <DownArrow/>
+ bool PressDownArrow();
- // Opens and focuses an OffTheRecord browser window.
- // XML element: <GoOffTheRecord/>
- bool GoOffTheRecord();
+ // Simulates an enter key press on the active window.
+ // XML element: <PressEnterKey/>
+ bool PressEnterKey();
// Simulates an escape key press on the active window.
// XML element: <PressEscapeKey/>
bool PressEscapeKey();
- // Simulates a tab key press on the active window.
- // XML element: <PressTabKey/>
- bool PressTabKey();
+ // Simulates a page down key press on the active window.
+ // XML element: <PageDown/>
+ bool PressPageDown();
- // Simulates an enter key press on the active window.
- // XML element: <PressEnterKey/>
- bool PressEnterKey();
+ // Simulates a page up key press on the active window.
+ // XML element: <PageUp/>
+ bool PressPageUp();
// Simulates a space bar press on the active window.
// XML element: <PressSpaceBar/>
bool PressSpaceBar();
- // Simulates a page down key press on the active window.
- // XML element: <PageDown/>
- bool PageDown();
-
- // Simulates a page up key press on the active window.
- // XML element: <PageUp/>
- bool PageUp();
+ // Simulates a tab key press on the active window.
+ // XML element: <PressTabKey/>
+ bool PressTabKey();
// Simulates a page up key press on the active window.
// XML element: <UpArrow/>
- bool UpArrow();
+ bool PressUpArrow();
- // Simulates a page up key press on the active window.
- // XML element: <DownArrow/>
- bool DownArrow();
+ // Reload the active tab. Returns false on failure.
+ // XML element: <Reload/>
+ bool ReloadPage();
+
+ // Activates the next tab on the active browser window.
+ // XML element: <SelectNextTab/>
+ bool SelectNextTab();
+
+ // Activates the previous tab on the active browser window.
+ // XML element: <SelectPrevTab/>
+ bool SelectPreviousTab();
+
+ // Opens the Downloads page in the current active browser window.
+ // XML element: <Downloads/>
+ bool ShowDownloads();
+
+ // Opens the History page in the current active browser window.
+ // XML element: <History/>
+ bool ShowHistory();
+
+ // Stars the current page. This opens a dialog that may or may not be
+ // dismissed.
+ // XML element: <Star/>
+ bool StarPage();
+
+ // 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
@@ -317,10 +320,22 @@ class AutomatedUITest : public UITest {
// <TestEditKeywords> <PressTabKey/><PressEnterKey/><DownArrow/>
// <DownArrow/><PressEscapeKey/> </TestEditKeywords>
+ // Opens Clear Browsing Data dialog and runs random actions on it.
+ // XML element: <TestClearBrowserData/>
+ bool TestClearBrowsingData();
+
// Opens Edit Keywords dialog and runs random actions on it.
// XML element: <TestEditKeywords/>
bool TestEditKeywords();
+ // 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
@@ -328,27 +343,15 @@ class AutomatedUITest : public UITest {
// XML element: <TestTaskManager/>
bool TestTaskManager();
- // Opens Options dialog and runs random actions on it.
- // XML element: <TestOptions/>
- bool TestOptions();
-
// Opens View Passwords dialog and runs random actions on it.
// XML element: <TestViewPasswords/>
bool TestViewPasswords();
- // Opens Clear Browser Data dialog and runs random actions on it.
- // XML element: <TestClearBrowserData/>
- bool TestClearBrowserData();
-
- // Opens Import Settings dialog and runs random actions on it.
- // XML element: <TestImportSettings/>
- bool TestImportSettings();
-
// 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 TestDialog(int num_actions);
+ bool FuzzyTestDialog(int num_actions);
// Navigates to about:crash.
// XML element: <Crash/>
@@ -480,4 +483,4 @@ class AutomatedUITest : public UITest {
DISALLOW_EVIL_CONSTRUCTORS(AutomatedUITest);
};
-#endif // #define CHROME_TEST_AUTOMATED_UI_TESTS_AUTOMATED_UI_TESTS_H__
+#endif // CHROME_TEST_AUTOMATED_UI_TESTS_AUTOMATED_UI_TESTS_H_