Merge "Improving TAPL diagnostics" into sc-dev

This commit is contained in:
Vadim Tryshev 2021-06-22 18:06:06 +00:00 committed by Android (Google) Code Review
commit c5c0e5e96e
5 changed files with 36 additions and 17 deletions

View File

@ -75,4 +75,9 @@ public final class AppIcon extends Launchable {
protected void expectActivityStartEvents() {
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_START);
}
@Override
protected String launchableType() {
return "app icon";
}
}

View File

@ -20,8 +20,6 @@ import androidx.test.uiautomator.UiObject2;
import com.android.launcher3.testing.TestProtocol;
import java.util.regex.Pattern;
/**
* Menu item in an app icon menu.
*/
@ -51,4 +49,9 @@ public class AppIconMenuItem extends Launchable {
protected void expectActivityStartEvents() {
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_START);
}
@Override
protected String launchableType() {
return "app icon menu item";
}
}

View File

@ -53,23 +53,29 @@ abstract class Launchable {
protected abstract void expectActivityStartEvents();
protected abstract String launchableType();
private Background launch(BySelector selector) {
LauncherInstrumentation.log("Launchable.launch before click " +
mObject.getVisibleCenter() + " in " + mLauncher.getVisibleBounds(mObject));
final String label = mObject.getText();
try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
"clicking " + launchableType())) {
LauncherInstrumentation.log("Launchable.launch before click "
+ mObject.getVisibleCenter() + " in " + mLauncher.getVisibleBounds(mObject));
final String label = mObject.getText();
mLauncher.executeAndWaitForEvent(
() -> {
mLauncher.clickLauncherObject(mObject);
expectActivityStartEvents();
},
event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED,
() -> "Launching an app didn't open a new window: " + label);
mLauncher.executeAndWaitForEvent(
() -> {
mLauncher.clickLauncherObject(mObject);
expectActivityStartEvents();
},
event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED,
() -> "Launching an app didn't open a new window: " + label);
mLauncher.assertTrue(
"App didn't start: " + label + " (" + selector + ")",
TestHelpers.wait(Until.hasObject(selector), LauncherInstrumentation.WAIT_TIME_MS));
return new Background(mLauncher);
mLauncher.assertTrue(
"App didn't start: " + label + " (" + selector + ")",
TestHelpers.wait(Until.hasObject(selector),
LauncherInstrumentation.WAIT_TIME_MS));
return new Background(mLauncher);
}
}
/**

View File

@ -499,7 +499,7 @@ public final class LauncherInstrumentation {
void fail(String message) {
checkForAnomaly();
Assert.fail(formatSystemHealthMessage(formatErrorWithEvents(
"http://go/tapl test failure:\nSummary: " + getContextDescription()
"http://go/tapl test failure:\nContext: " + getContextDescription()
+ " - visible state is " + getVisibleStateMessage()
+ ";\nDetails: " + message, true)));
}

View File

@ -46,4 +46,9 @@ public final class Widget extends Launchable {
protected void addExpectedEventsForLongClick() {
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LONG_CLICK_EVENT);
}
@Override
protected String launchableType() {
return "widget";
}
}