Skip to content

Commit

Permalink
[Test Auomation] Rename InteractionSequenceBrowserUtil
Browse files Browse the repository at this point in the history
Rename to WebUIInteractionTestUtil. This name is more descriptive of
what the class does (instruments a WebUI for interactive testing) and
removes confusion with InteractionTestUtil*.

Change-Id: I852c0ee4b32adecaf0b68faed67c2d1abc5dda16
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3817869
Commit-Queue: Dana Fried <dfried@chromium.org>
Reviewed-by: Emily Shack <emshack@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1033785}
  • Loading branch information
Dana Fried authored and Chromium LUCI CQ committed Aug 10, 2022
1 parent de9060c commit 5f68be2
Show file tree
Hide file tree
Showing 11 changed files with 553 additions and 602 deletions.
Expand Up @@ -10,7 +10,7 @@
#include "chrome/browser/ui/views/collected_cookies_views.h"
#include "chrome/browser/ui/views/page_info/page_info_main_view.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/interaction/interaction_sequence_browser_util.h"
#include "chrome/test/interaction/webui_interaction_test_util.h"
#include "content/public/test/browser_test.h"
#include "net/dns/mock_host_resolver.h"
#include "ui/base/interaction/expect_call_in_scope.h"
Expand All @@ -27,7 +27,7 @@
#endif

namespace {
DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kInteractionSequenceBrowserUtilTestId);
DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kWebUIInteractionTestUtilTestId);
} // namespace

class CollectedCookiesViewInteractiveUiTest : public InProcessBrowserTest {
Expand Down Expand Up @@ -88,8 +88,8 @@ IN_PROC_BROWSER_TEST_F(CollectedCookiesViewInteractiveUiTest,

Browser* browser = CreateIncognitoBrowser();

auto util = InteractionSequenceBrowserUtil::ForExistingTabInBrowser(
browser, kInteractionSequenceBrowserUtilTestId);
auto util = WebUIInteractionTestUtil::ForExistingTabInBrowser(
browser, kWebUIInteractionTestUtilTestId);
util->LoadPage(third_party_cookie_page_url);

auto sequence =
Expand All @@ -99,7 +99,7 @@ IN_PROC_BROWSER_TEST_F(CollectedCookiesViewInteractiveUiTest,
.SetContext(browser->window()->GetElementContext())
// Wait for page loaded.
.AddStep(ui::InteractionSequence::StepBuilder()
.SetElementID(kInteractionSequenceBrowserUtilTestId)
.SetElementID(kWebUIInteractionTestUtilTestId)
.Build())
.AddStep(Click(kLocationIconElementId))
.AddStep(Click(PageInfoMainView::kCookieButtonElementId))
Expand Down
64 changes: 31 additions & 33 deletions chrome/browser/ui/webui/settings/settings_interactive_uitest.cc
Expand Up @@ -10,7 +10,7 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/url_constants.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/interaction/interaction_sequence_browser_util.h"
#include "chrome/test/interaction/webui_interaction_test_util.h"
#include "content/public/test/browser_test.h"
#include "net/dns/mock_host_resolver.h"
#include "ui/base/interaction/expect_call_in_scope.h"
Expand All @@ -21,10 +21,9 @@
#endif

namespace {
DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kInteractionSequenceBrowserUtilTestId);
DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kInteractionSequenceBrowserUtilTestId2);
DEFINE_LOCAL_CUSTOM_ELEMENT_EVENT_TYPE(
kInteractionSequenceBrowserUtilCustomEventId);
DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kWebUIInteractionTestUtilTestId);
DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kWebUIInteractionTestUtilTestId2);
DEFINE_LOCAL_CUSTOM_ELEMENT_EVENT_TYPE(kWebUIInteractionTestUtilCustomEventId);
} // namespace

class SettingsInteractiveUiTest : public InProcessBrowserTest {
Expand Down Expand Up @@ -53,18 +52,18 @@ class SettingsInteractiveUiTest : public InProcessBrowserTest {

// Helper function to wait for element in DOM visible.
// This function will be implemented by a test util framework later.
auto WaitFor(const InteractionSequenceBrowserUtil::DeepQuery& element,
auto WaitFor(const WebUIInteractionTestUtil::DeepQuery& element,
const ui::InteractionSequence::StepType type =
ui::InteractionSequence::StepType::kShown) {
return ui::InteractionSequence::StepBuilder()
.SetElementID(kInteractionSequenceBrowserUtilTestId)
.SetElementID(kWebUIInteractionTestUtilTestId)
.SetStartCallback(base::BindLambdaForTesting(
// FIXME: type has to be copied.
[&, type](ui::InteractionSequence*,
ui::TrackedElement* tracked_elem) {
auto* util = tracked_elem->AsA<TrackedElementWebPage>()->owner();

InteractionSequenceBrowserUtil::StateChange state_change;
WebUIInteractionTestUtil::StateChange state_change;
state_change.where = element;
if (type == ui::InteractionSequence::StepType::kShown) {
state_change.test_function =
Expand All @@ -73,19 +72,19 @@ class SettingsInteractiveUiTest : public InProcessBrowserTest {
state_change.test_function =
"(el, err) => !el || el.offsetParent === null";
}
state_change.event = kInteractionSequenceBrowserUtilCustomEventId;
state_change.event = kWebUIInteractionTestUtilCustomEventId;
util->SendEventOnStateChange(state_change);
}))
.Build();
}

// Click has to set after a WaitFor step, or reset SetType.
// This function will be implemented by a test util framework later.
auto Click(const InteractionSequenceBrowserUtil::DeepQuery& element) {
auto Click(const WebUIInteractionTestUtil::DeepQuery& element) {
return ui::InteractionSequence::StepBuilder()
.SetType(ui::InteractionSequence::StepType::kCustomEvent,
kInteractionSequenceBrowserUtilCustomEventId)
.SetElementID(kInteractionSequenceBrowserUtilTestId)
kWebUIInteractionTestUtilCustomEventId)
.SetElementID(kWebUIInteractionTestUtilTestId)
.SetStartCallback(base::BindLambdaForTesting(
[&](ui::InteractionSequence*, ui::TrackedElement* tracked_elem) {
auto* util = tracked_elem->AsA<TrackedElementWebPage>()->owner();
Expand All @@ -101,24 +100,23 @@ IN_PROC_BROWSER_TEST_F(SettingsInteractiveUiTest,
UNCALLED_MOCK_CALLBACK(ui::InteractionSequence::AbortedCallback, aborted);

const GURL cookie_setting_url("chrome://settings/privacy");
const InteractionSequenceBrowserUtil::DeepQuery cookies_link_row = {
const WebUIInteractionTestUtil::DeepQuery cookies_link_row = {
"settings-ui", "settings-main", "settings-basic-page",
"settings-privacy-page", "cr-link-row#cookiesLinkRow"};
const InteractionSequenceBrowserUtil::DeepQuery
cookies_setting_page_help_icon = {
"settings-ui",
"settings-main",
"settings-basic-page",
"settings-privacy-page",
"settings-subpage",
"div#headerLine cr-icon-button[iron-icon='cr:help-outline']"};

auto util = InteractionSequenceBrowserUtil::ForExistingTabInBrowser(
browser(), kInteractionSequenceBrowserUtilTestId);
const WebUIInteractionTestUtil::DeepQuery cookies_setting_page_help_icon = {
"settings-ui",
"settings-main",
"settings-basic-page",
"settings-privacy-page",
"settings-subpage",
"div#headerLine cr-icon-button[iron-icon='cr:help-outline']"};

auto util = WebUIInteractionTestUtil::ForExistingTabInBrowser(
browser(), kWebUIInteractionTestUtilTestId);
util->LoadPage(cookie_setting_url);
auto util2 = InteractionSequenceBrowserUtil::ForNextTabInContext(
auto util2 = WebUIInteractionTestUtil::ForNextTabInContext(
browser()->window()->GetElementContext(),
kInteractionSequenceBrowserUtilTestId2);
kWebUIInteractionTestUtilTestId2);

auto sequence =
ui::InteractionSequence::Builder()
Expand All @@ -133,7 +131,7 @@ IN_PROC_BROWSER_TEST_F(SettingsInteractiveUiTest,
.AddStep(Click(cookies_setting_page_help_icon))
// Verify the new page opened.
.AddStep(ui::InteractionSequence::StepBuilder()
.SetElementID(kInteractionSequenceBrowserUtilTestId2)
.SetElementID(kWebUIInteractionTestUtilTestId2)
.SetStartCallback(base::BindLambdaForTesting(
[&](ui::InteractionSequence*,
ui::TrackedElement* element) {
Expand Down Expand Up @@ -163,12 +161,12 @@ IN_PROC_BROWSER_TEST_F(ThemeSettingsInteractiveUiTest,
UNCALLED_MOCK_CALLBACK(ui::InteractionSequence::AbortedCallback, aborted);

const GURL appearance_setting_url("chrome://settings/appearance");
const InteractionSequenceBrowserUtil::DeepQuery reset_to_default_btn = {
const WebUIInteractionTestUtil::DeepQuery reset_to_default_btn = {
"settings-ui", "settings-main", "settings-basic-page",
"settings-appearance-page", "cr-button#useDefault"};

auto util = InteractionSequenceBrowserUtil::ForExistingTabInBrowser(
browser(), kInteractionSequenceBrowserUtilTestId);
auto util = WebUIInteractionTestUtil::ForExistingTabInBrowser(
browser(), kWebUIInteractionTestUtilTestId);
util->LoadPage(appearance_setting_url);

auto sequence =
Expand All @@ -178,7 +176,7 @@ IN_PROC_BROWSER_TEST_F(ThemeSettingsInteractiveUiTest,
.SetContext(browser()->window()->GetElementContext())
// Verify the current theme is not set as default.
.AddStep(ui::InteractionSequence::StepBuilder()
.SetElementID(kInteractionSequenceBrowserUtilTestId)
.SetElementID(kWebUIInteractionTestUtilTestId)
.SetStartCallback(base::BindLambdaForTesting(
[&](ui::InteractionSequence*,
ui::TrackedElement* element) {
Expand All @@ -196,8 +194,8 @@ IN_PROC_BROWSER_TEST_F(ThemeSettingsInteractiveUiTest,
ui::InteractionSequence::StepType::kHidden))
.AddStep(ui::InteractionSequence::StepBuilder()
.SetType(ui::InteractionSequence::StepType::kCustomEvent,
kInteractionSequenceBrowserUtilCustomEventId)
.SetElementID(kInteractionSequenceBrowserUtilTestId)
kWebUIInteractionTestUtilCustomEventId)
.SetElementID(kWebUIInteractionTestUtilTestId)
.SetStartCallback(base::BindLambdaForTesting(
[&](ui::InteractionSequence*, ui::TrackedElement*) {
auto* theme_service =
Expand Down
10 changes: 5 additions & 5 deletions chrome/test/BUILD.gn
Expand Up @@ -2332,7 +2332,7 @@ if (!is_android) {
"data/webui/ntp4_browsertest.h",
"data/webui/webui_resource_browsertest.cc",
"gpu/webgl_infobar_browsertest.cc",
"interaction/interaction_sequence_browser_util_browsertest.cc",
"interaction/webui_interaction_test_util_browsertest.cc",
"v8/wasm_trap_handler_browsertest.cc",
]

Expand Down Expand Up @@ -6833,7 +6833,7 @@ test("unit_tests") {
"../renderer/searchbox/searchbox_unittest.cc",
"../utility/importer/bookmark_html_reader_unittest.cc",
"../utility/importer/bookmarks_file_importer_unittest.cc",
"interaction/interaction_sequence_browser_util_unittest.cc",
"interaction/webui_interaction_test_util_unittest.cc",
]

sources += [
Expand Down Expand Up @@ -8888,10 +8888,10 @@ if (!is_android) {
"base/web_ui_browser_test.h",
"base/web_ui_test_data_source.cc",
"base/web_ui_test_data_source.h",
"interaction/interaction_sequence_browser_util.cc",
"interaction/interaction_sequence_browser_util.h",
"interaction/interaction_test_util_browser.cc",
"interaction/interaction_test_util_browser.h",
"interaction/webui_interaction_test_util.cc",
"interaction/webui_interaction_test_util.h",
"permissions/permission_request_manager_test_api.cc",
"permissions/permission_request_manager_test_api.h",
]
Expand Down Expand Up @@ -9503,9 +9503,9 @@ if (!is_android) {
"../browser/ui/views/user_education/help_bubble_factory_views_interactive_uitest.cc",
"../browser/ui/views/user_education/help_bubble_view_interactive_uitest.cc",
"../browser/ui/views/user_education/tutorial_interactive_uitest.cc",
"interaction/interaction_sequence_browser_util_interactive_uitest.cc",
"interaction/interaction_sequence_interactive_uitest.cc",
"interaction/interaction_test_util_interactive_uitest.cc",
"interaction/webui_interaction_test_util_interactive_uitest.cc",
]
deps += [
"//components/live_caption:utils",
Expand Down

This file was deleted.

0 comments on commit 5f68be2

Please sign in to comment.