aboutsummaryrefslogtreecommitdiff
path: root/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator
diff options
context:
space:
mode:
authorJinhui Wang <jinhuiw@google.com>2017-04-19 17:26:44 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-04-19 17:26:44 +0000
commitb766bcc50dda4f32db2e3518c8aee2a20a135fdc (patch)
tree2c308d6de5c1514906ca7b78ccc0e7cc8afe6b30 /libs/UiAutomatorLib/src/com/android/afwtest/uiautomator
parentec9548b6f9273d03119efd8025ae169224b23e63 (diff)
parent439d1a89a74bdc874099da9b276524ba7954bc80 (diff)
downloadAfwTestHarness-b766bcc50dda4f32db2e3518c8aee2a20a135fdc.tar.gz
Merge "Make test harness pass on large display" into nyc-dev
Diffstat (limited to 'libs/UiAutomatorLib/src/com/android/afwtest/uiautomator')
-rw-r--r--libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/Constants.java10
-rw-r--r--libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/gms/EnterPasswordPage.java10
-rw-r--r--libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/managedprovisioning/SetupYourDevicePage.java14
-rw-r--r--libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementDoPage.java7
-rw-r--r--libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementPoPage.java8
5 files changed, 45 insertions, 4 deletions
diff --git a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/Constants.java b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/Constants.java
index 35bbbe0..09de03e 100644
--- a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/Constants.java
+++ b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/Constants.java
@@ -23,6 +23,7 @@ import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
+import android.widget.ScrollView;
import android.widget.Switch;
import java.util.regex.Pattern;
@@ -208,12 +209,21 @@ public final class Constants {
public static final BySelector MANAGED_PROVISIONING_OK_BUTTON_SELECTOR = By.res(
MANAGED_PROVISIONING_PKG_NAME, "positive_button");
+ public static final BySelector MANAGED_PROVISIONING_SCROLL_VIEW_SELECTOR =
+ By.pkg(MANAGED_PROVISIONING_PKG_NAME).clazz(ScrollView.class.getName());
+
/**
* {@link BySelector} for {@link Button} in Package Installer with resource-id ok_button.
*/
public static final BySelector PACKAGE_INSTALLER_INSTALL_BUTTON_SELECTOR = By.res(
PACKAGE_INSTALLER_PKG_NAME, "ok_button");
+ public static final BySelector TESTDPC_SETUP_MANAGEMENT_PAGE_TITLE_SELECTOR =
+ By.pkg(TESTDPC_PKG_NAME).text(Pattern.compile("Set.*management.*", CASE_INSENSITIVE));
+
+ public static final BySelector TESTDPC_SCROLL_VIEW_SELECTOR =
+ By.pkg(TESTDPC_PKG_NAME).clazz(ScrollView.class.getName());
+
/**
* {@link BySelector} for {@link RadioButton} with resource-id setup_device_owner on
* TestDpc Setup Management page.
diff --git a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/gms/EnterPasswordPage.java b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/gms/EnterPasswordPage.java
index abebc0d..96e7dcd 100644
--- a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/gms/EnterPasswordPage.java
+++ b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/gms/EnterPasswordPage.java
@@ -18,7 +18,9 @@ package com.android.afwtest.uiautomator.pages.gms;
import static com.android.afwtest.uiautomator.Constants.GMS_NEXT_BUTTON_SELECTOR;
import static com.android.afwtest.uiautomator.Constants.GMS_PKG_NAME;
+import static com.android.afwtest.uiautomator.Constants.GMS_TEXT_FIELD_SELECTOR;
+import android.os.SystemClock;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.BySelector;
import android.support.test.uiautomator.UiDevice;
@@ -90,6 +92,14 @@ public final class EnterPasswordPage extends UiPage {
*/
@Override
public void navigate() throws Exception {
+ WidgetUtils.waitAndClick(getUiDevice(),
+ GMS_TEXT_FIELD_SELECTOR,
+ TimeUnit.SECONDS.toMillis(5));
+ // Clicking the text field will bring up the keyboard and change the view hierachy of
+ // current screen; textField may become stale. Try to find it again before simulating
+ // the keyboard events.
+ SystemClock.sleep(TimeUnit.SECONDS.toMillis(5));
+
//Enter password by key event
KeyCharacterMap map = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD);
KeyEvent[] events = map.getEvents(mPassword.toCharArray());
diff --git a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/managedprovisioning/SetupYourDevicePage.java b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/managedprovisioning/SetupYourDevicePage.java
index 94446af..e3730a9 100644
--- a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/managedprovisioning/SetupYourDevicePage.java
+++ b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/managedprovisioning/SetupYourDevicePage.java
@@ -17,6 +17,7 @@
package com.android.afwtest.uiautomator.pages.managedprovisioning;
import static com.android.afwtest.uiautomator.Constants.MANAGED_PROVISIONING_PKG_NAME;
+import static com.android.afwtest.uiautomator.Constants.MANAGED_PROVISIONING_SCROLL_VIEW_SELECTOR;
import static com.android.afwtest.uiautomator.Constants.MANAGED_PROVISIONING_SETUP_BUTTON_SELECTOR;
import static com.android.afwtest.uiautomator.Constants.STAT_TESTDPC_WORK_PROFILE_CREATION_TIME;
@@ -48,6 +49,9 @@ public class SetupYourDevicePage extends BasePage {
By.pkg(MANAGED_PROVISIONING_PKG_NAME)
.text(Pattern.compile("Set up work device"));
+ private static final BySelector LEARN_MORE_TEXT_1 =
+ By.res(MANAGED_PROVISIONING_PKG_NAME, "learn_more_text1");
+
/**
* {@link BySelector} for {@link CheckBox} with resource-id user_consent_checkbox on
* base ManagedProvisioning dialog.
@@ -82,8 +86,14 @@ public class SetupYourDevicePage extends BasePage {
public void navigate() throws Exception {
WidgetUtils.waitAndClick(getUiDevice(), MANAGED_PROVISIONING_SETUP_BUTTON_SELECTOR,
DEFAULT_TIMEOUT_MS);
- WidgetUtils.waitAndClick(getUiDevice(), MANAGED_PROVISIONING_CONSENT_CHECKBOX_SELECTOR,
- DEFAULT_TIMEOUT_MS);
+ if (null != WidgetUtils.safeWait(getUiDevice(), LEARN_MORE_TEXT_1)) {
+ WidgetUtils.scrollToItem(getUiDevice(),
+ MANAGED_PROVISIONING_SCROLL_VIEW_SELECTOR,
+ MANAGED_PROVISIONING_CONSENT_CHECKBOX_SELECTOR);
+ WidgetUtils.waitAndClick(getUiDevice(),
+ MANAGED_PROVISIONING_CONSENT_CHECKBOX_SELECTOR,
+ DEFAULT_TIMEOUT_MS);
+ }
onProvisioningStarted();
diff --git a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementDoPage.java b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementDoPage.java
index 64a5b80..6aeb2e1 100644
--- a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementDoPage.java
+++ b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementDoPage.java
@@ -17,7 +17,9 @@
package com.android.afwtest.uiautomator.pages.testdpc;
import static com.android.afwtest.uiautomator.Constants.TESTDPC_NEXT_BUTTON_SELECTOR;
+import static com.android.afwtest.uiautomator.Constants.TESTDPC_SCROLL_VIEW_SELECTOR;
import static com.android.afwtest.uiautomator.Constants.TESTDPC_SETUP_DEVICE_OWNER_RADIO_BUTTON_SELECTOR;
+import static com.android.afwtest.uiautomator.Constants.TESTDPC_SETUP_MANAGEMENT_PAGE_TITLE_SELECTOR;
import android.support.test.uiautomator.BySelector;
import android.support.test.uiautomator.UiDevice;
@@ -46,7 +48,7 @@ public final class SetupManagementDoPage extends UiPage {
*/
@Override
public BySelector uniqueElement() {
- return TESTDPC_SETUP_DEVICE_OWNER_RADIO_BUTTON_SELECTOR;
+ return TESTDPC_SETUP_MANAGEMENT_PAGE_TITLE_SELECTOR;
}
/**
@@ -54,6 +56,9 @@ public final class SetupManagementDoPage extends UiPage {
*/
@Override
public void navigate() throws Exception {
+ WidgetUtils.scrollToItem(getUiDevice(),
+ TESTDPC_SCROLL_VIEW_SELECTOR,
+ TESTDPC_SETUP_DEVICE_OWNER_RADIO_BUTTON_SELECTOR);
WidgetUtils.waitAndClick(getUiDevice(),
TESTDPC_SETUP_DEVICE_OWNER_RADIO_BUTTON_SELECTOR);
WidgetUtils.waitAndClick(getUiDevice(), TESTDPC_NEXT_BUTTON_SELECTOR);
diff --git a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementPoPage.java b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementPoPage.java
index 04a82e5..468016f 100644
--- a/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementPoPage.java
+++ b/libs/UiAutomatorLib/src/com/android/afwtest/uiautomator/pages/testdpc/SetupManagementPoPage.java
@@ -17,7 +17,10 @@
package com.android.afwtest.uiautomator.pages.testdpc;
import static com.android.afwtest.uiautomator.Constants.TESTDPC_NEXT_BUTTON_SELECTOR;
+import static com.android.afwtest.uiautomator.Constants.TESTDPC_SCROLL_VIEW_SELECTOR;
+import static com.android.afwtest.uiautomator.Constants.TESTDPC_SETUP_DEVICE_OWNER_RADIO_BUTTON_SELECTOR;
import static com.android.afwtest.uiautomator.Constants.TESTDPC_SETUP_MANAGED_PROFILE_RADIO_BUTTON_SELECTOR;
+import static com.android.afwtest.uiautomator.Constants.TESTDPC_SETUP_MANAGEMENT_PAGE_TITLE_SELECTOR;
import android.support.test.uiautomator.BySelector;
import android.support.test.uiautomator.UiDevice;
@@ -46,7 +49,7 @@ public final class SetupManagementPoPage extends UiPage {
*/
@Override
public BySelector uniqueElement() {
- return TESTDPC_SETUP_MANAGED_PROFILE_RADIO_BUTTON_SELECTOR;
+ return TESTDPC_SETUP_MANAGEMENT_PAGE_TITLE_SELECTOR;
}
/**
@@ -54,6 +57,9 @@ public final class SetupManagementPoPage extends UiPage {
*/
@Override
public void navigate() throws Exception {
+ WidgetUtils.scrollToItem(getUiDevice(),
+ TESTDPC_SCROLL_VIEW_SELECTOR,
+ TESTDPC_SETUP_DEVICE_OWNER_RADIO_BUTTON_SELECTOR);
WidgetUtils.waitAndClick(getUiDevice(),
TESTDPC_SETUP_MANAGED_PROFILE_RADIO_BUTTON_SELECTOR);
WidgetUtils.waitAndClick(getUiDevice(), TESTDPC_NEXT_BUTTON_SELECTOR);