Merge "Searching for Golden Gate Bridge should show three queries and check if predicted app row and web suggest exists" into tm-qpr-dev

This commit is contained in:
Brandon Dayauon
2022-11-30 02:30:18 +00:00
committed by Android (Google) Code Review

View File

@@ -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<UiObject2> 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<UiObject2> 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.