From 2511466dd15750f2ab0e5cecc30010f0a3f7949c Mon Sep 17 00:00:00 2001 From: "jam@chromium.org" Date: Fri, 4 May 2012 21:11:14 +0000 Subject: Convert the autofill interactive browser test to a normal browser_test. I added testing methods to fake input events that don't depend on the OS and being at the front. BUG=121574 Review URL: https://chromiumcodereview.appspot.com/10368010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135432 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/autofill/autofill_browsertest.cc | 68 ++++++++++--------------- 1 file changed, 27 insertions(+), 41 deletions(-) (limited to 'chrome/browser/autofill') diff --git a/chrome/browser/autofill/autofill_browsertest.cc b/chrome/browser/autofill/autofill_browsertest.cc index 99d6c2d..248795e 100644 --- a/chrome/browser/autofill/autofill_browsertest.cc +++ b/chrome/browser/autofill/autofill_browsertest.cc @@ -186,10 +186,7 @@ class AutofillTest : public InProcessBrowserTest { void FocusFirstNameField() { LOG(WARNING) << "Clicking on the tab."; - ASSERT_NO_FATAL_FAILURE(ui_test_utils::ClickOnView(browser(), - VIEW_ID_TAB_CONTAINER)); - ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(), - VIEW_ID_TAB_CONTAINER)); + ui_test_utils::SimulateMouseClick(browser()->GetSelectedWebContents()); LOG(WARNING) << "Focusing the first name field."; bool result = false; @@ -215,24 +212,28 @@ class AutofillTest : public InProcessBrowserTest { ExpectFieldValue(L"phone", "5125551234"); } + void SendKeyAndWait(ui::KeyboardCode key, int notification_type) { + ui_test_utils::WindowedNotificationObserver observer( + notification_type, content::Source(render_view_host())); + ui_test_utils::SimulateKeyPress( + browser()->GetSelectedWebContents(), key, false, false, false, false); + observer.Wait(); + } + void TryBasicFormFill() { FocusFirstNameField(); // Start filling the first name field with "M" and wait for the popup to be // shown. LOG(WARNING) << "Typing 'M' to bring up the Autofill popup."; - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_M, false, true, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_M, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); // Press the down arrow to select the suggestion and preview the autofilled // form. LOG(WARNING) << "Simulating down arrow press to initiate Autofill preview."; - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_DOWN, false, false, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_DOWN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); // The previewed values should not be accessible to JavaScript. ExpectFieldValue(L"firstname", "M"); @@ -249,10 +250,8 @@ class AutofillTest : public InProcessBrowserTest { // Press Enter to accept the autofill suggestions. LOG(WARNING) << "Simulating Return press to fill the form."; - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_RETURN, false, false, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_RETURN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); // The form should be filled. ExpectFilledTestForm(); @@ -267,7 +266,6 @@ IN_PROC_BROWSER_TEST_F(AutofillTest, BasicFormFill) { CreateTestProfile(); // Load the test page. - ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); ASSERT_NO_FATAL_FAILURE(ui_test_utils::NavigateToURL(browser(), GURL(std::string(kDataURIPrefix) + kTestFormString))); @@ -289,23 +287,17 @@ IN_PROC_BROWSER_TEST_F(AutofillTest, AutofillViaDownArrow) { // Press the down arrow to initiate Autofill and wait for the popup to be // shown. - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_DOWN, false, false, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_DOWN, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); // Press the down arrow to select the suggestion and preview the autofilled // form. - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_DOWN, false, false, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_DOWN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); // Press Enter to accept the autofill suggestions. - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_RETURN, false, false, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_RETURN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); // The form should be filled. ExpectFilledTestForm(); @@ -346,23 +338,17 @@ IN_PROC_BROWSER_TEST_F(AutofillTest, OnChangeAfterAutofill) { // Start filling the first name field with "M" and wait for the popup to be // shown. - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_M, false, true, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_M, chrome::NOTIFICATION_AUTOFILL_DID_SHOW_SUGGESTIONS); // Press the down arrow to select the suggestion and preview the autofilled // form. - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_DOWN, false, false, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_DOWN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); // Press Enter to accept the autofill suggestions. - ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait( - browser(), ui::VKEY_RETURN, false, false, false, false, - chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA, - content::Source(render_view_host()))); + SendKeyAndWait( + ui::VKEY_RETURN, chrome::NOTIFICATION_AUTOFILL_DID_FILL_FORM_DATA); // The form should be filled. ExpectFilledTestForm(); -- cgit v1.1