Bug 1079693 - When calling waitForText in testAddonManager, only look through visible views. r=bnicholson

This commit is contained in:
Michael Comella 2014-10-14 18:32:44 -07:00
Родитель 1b1bee23f5
Коммит 34afa3ed3c
1 изменённых файлов: 15 добавлений и 5 удалений

Просмотреть файл

@ -53,6 +53,7 @@ import android.widget.TextView;
import com.jayway.android.robotium.solo.Condition;
import com.jayway.android.robotium.solo.Solo;
import com.jayway.android.robotium.solo.Timeout;
/**
* A convenient base class suitable for most Robocop tests.
@ -396,8 +397,17 @@ abstract class BaseTest extends BaseRobocopTest {
return assets.open(filename);
}
public boolean waitForText(String text) {
boolean rc = mSolo.waitForText(text);
public boolean waitForText(final String text) {
// false is the default value for finding only
// visible views in `Solo.waitForText(String)`.
return waitForText(text, false);
}
public boolean waitForText(final String text, final boolean onlyVisibleViews) {
// We use the default robotium values from
// `Waiter.waitForText(String)` for unspecified arguments.
final boolean rc =
mSolo.waitForText(text, 0, Timeout.getLargeTimeout(), true, onlyVisibleViews);
if (!rc) {
// log out failed wait for diagnostic purposes only;
// waitForText failures are sometimes expected/normal
@ -489,7 +499,7 @@ abstract class BaseTest extends BaseRobocopTest {
// build the item name ready to be used
String itemName = "^" + menuItemName + "$";
mActions.sendSpecialKey(Actions.SpecialKey.MENU);
if (waitForText(itemName)) {
if (waitForText(itemName, true)) {
mSolo.clickOnText(itemName);
} else {
// Older versions of Android have additional settings under "More",