Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java

Issue 2538603002: Deflake permission dialog + persistence toggle tests on Android. (Closed)
Patch Set: Refactor out a method, call toggle() on UI thread Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/permissions/MediaTest.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java b/chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java
index 61e09e570053844297d6654b1cd82892be8ac48f..8b1eb4d1beff164bbc0b72d18177eef81236d93e 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/permissions/PermissionTestCaseBase.java
@@ -176,7 +176,7 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct
if (isDialog) {
DialogShownCriteria criteria = new DialogShownCriteria("Dialog not shown");
- CriteriaHelper.pollInstrumentationThread(criteria);
+ CriteriaHelper.pollUiThread(criteria);
replyToDialogAndWaitForUpdates(
updateWaiter, criteria.getDialog(), nUpdates, true, hasSwitch, toggleSwitch);
} else {
@@ -198,12 +198,7 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct
if (hasSwitch) {
SwitchCompat persistSwitch = (SwitchCompat) infobar.getView().findViewById(
R.id.permission_infobar_persist_toggle);
- assertNotNull(persistSwitch);
- assertTrue(persistSwitch.isChecked());
- if (toggleSwitch) {
- singleClickView(persistSwitch);
- waitForCheckedState(persistSwitch, false);
- }
+ checkAndToggleSwitch(persistSwitch, toggleSwitch);
}
if (allow) {
@@ -225,12 +220,7 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct
if (hasSwitch) {
SwitchCompat persistSwitch =
(SwitchCompat) dialog.findViewById(R.id.permission_dialog_persist_toggle);
- assertNotNull(persistSwitch);
- assertTrue(persistSwitch.isChecked());
- if (toggleSwitch) {
- singleClickView(persistSwitch);
- waitForCheckedState(persistSwitch, false);
- }
+ checkAndToggleSwitch(persistSwitch, toggleSwitch);
}
if (allow) {
@@ -241,17 +231,17 @@ public class PermissionTestCaseBase extends ChromeActivityTestCaseBase<ChromeAct
updateWaiter.waitForNumUpdates(nUpdates);
}
- /**
- * Waits until the provided switch reaches a specified position (checked or unchecked).
- */
- private void waitForCheckedState(final SwitchCompat persistSwitch, boolean isChecked)
- throws InterruptedException {
- CriteriaHelper.pollUiThread(Criteria.equals(isChecked, new Callable<Boolean>() {
- @Override
- public Boolean call() {
- return persistSwitch.isChecked();
- }
- }));
+ private void checkAndToggleSwitch(final SwitchCompat persistSwitch, boolean toggleSwitch) {
+ assertNotNull(persistSwitch);
+ assertTrue(persistSwitch.isChecked());
+ if (toggleSwitch) {
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ persistSwitch.toggle();
+ }
+ });
+ }
}
@Override
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/permissions/MediaTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698