From 7b5300499965d9976247331839cefd3a86b4a87b Mon Sep 17 00:00:00 2001 From: Brandon Dayauon Date: Tue, 22 Nov 2022 11:34:27 -0800 Subject: [PATCH] Searching for Golden Gate Bridge should show three queries and check if predicted app row and web suggest exists Add a method that checks if three web suggests exist and another method to check for predicted app row and web suggest exists. bug: 225583735 test: Manual - photo: https://screenshot.googleplex.com/3NoSUm7nzTvf3gX Change-Id: I7f9340229aaf4a0a3928933035f193a576995525 --- .../launcher3/tapl/SearchResultFromQsb.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java b/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java index ddeeac225a..bddb5935f7 100644 --- a/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java +++ b/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java @@ -20,6 +20,8 @@ import android.widget.TextView; import androidx.test.uiautomator.By; import androidx.test.uiautomator.UiObject2; +import java.util.ArrayList; + /** * Operations on search result page opened from home screen qsb. */ @@ -27,6 +29,9 @@ public class SearchResultFromQsb { // The input resource id in the search box. private static final String INPUT_RES = "input"; private static final String BOTTOM_SHEET_RES_ID = "bottom_sheet_background"; + + // This particular ID change should happen with caution + private static final String SEARCH_CONTAINER_RES_ID = "search_results_list_view"; private final LauncherInstrumentation mLauncher; SearchResultFromQsb(LauncherInstrumentation launcher) { @@ -49,6 +54,33 @@ public class SearchResultFromQsb { return new AllAppsAppIcon(mLauncher, icon); } + /** Find the web suggestion from search suggestion's title text */ + public void findWebSuggest(String text) { + ArrayList goldenGateResults = + new ArrayList<>(mLauncher.waitForObjectsInContainer( + mLauncher.waitForSystemLauncherObject(SEARCH_CONTAINER_RES_ID), + By.clazz(TextView.class))); + boolean found = false; + for(UiObject2 uiObject: goldenGateResults) { + String currentString = uiObject.getText(); + if (currentString.equals(text)) { + found = true; + } + } + if (!found) { + throw new IllegalStateException("Web suggestion title: " + text + " not found"); + } + } + + /** Find the total amount of views being displayed and return the size */ + public int getSearchResultItemSize() { + ArrayList searchResultItems = + new ArrayList<>(mLauncher.waitForObjectsInContainer( + mLauncher.waitForSystemLauncherObject(SEARCH_CONTAINER_RES_ID), + By.clazz(TextView.class))); + return searchResultItems.size(); + } + /** * Taps outside bottom sheet to dismiss and return to workspace. Available on tablets only. * @param tapRight Tap on the right of bottom sheet if true, or left otherwise.