android.support.test.uiautomator.UiDevice Java Examples
The following examples show how to use
android.support.test.uiautomator.UiDevice.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AlertController.java From UIAutomatorWD with MIT License | 6 votes |
private static UiObject2 getAlertButton(String alertType) throws Exception { UiDevice mDevice = Elements.getGlobal().getmDevice(); int buttonIndex; if (alertType.equals("accept")) { buttonIndex = 1; } else if (alertType.equals("dismiss")) { buttonIndex = 0; } else { throw new Exception("alertType can only be 'accept' or 'dismiss'"); } List<UiObject2> alertButtons = mDevice.findObjects(By.clazz("android.widget.Button").clickable(true).checkable(false)); if (alertButtons.size() == 0) { return null; } UiObject2 alertButton = alertButtons.get(buttonIndex); return alertButton; }
Example #2
Source File: UIUtil.java From SweetBlue with GNU General Public License v3.0 | 6 votes |
public static boolean viewExistsContains(UiDevice device, String... textToMatch) throws UiObjectNotFoundException { if (textToMatch == null || textToMatch.length < 1) { return false; } UiObject view; boolean contains = false; for (int i = 0; i < textToMatch.length; i++) { view = device.findObject(new UiSelector().textContains(textToMatch[i])); contains = view.exists(); if (contains) return true; } return false; }
Example #3
Source File: MainActivityTest.java From android-testing-guide with MIT License | 6 votes |
@Ignore @Test public void testUiAutomatorAPI() throws UiObjectNotFoundException, InterruptedException { UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); UiSelector editTextSelector = new UiSelector().className("android.widget.EditText").text("this is a test").focusable(true); UiObject editTextWidget = device.findObject(editTextSelector); editTextWidget.setText("this is new text"); Thread.sleep(2000); UiSelector buttonSelector = new UiSelector().className("android.widget.Button").text("CLICK ME").clickable(true); UiObject buttonWidget = device.findObject(buttonSelector); buttonWidget.click(); Thread.sleep(2000); }
Example #4
Source File: UIUtil.java From SweetBlue with GNU General Public License v3.0 | 6 votes |
public static boolean viewExistsContains(UiDevice device, String... textToMatch) throws UiObjectNotFoundException { if (textToMatch == null || textToMatch.length < 1) { return false; } UiObject view; boolean contains = false; for (int i = 0; i < textToMatch.length; i++) { view = device.findObject(new UiSelector().textContains(textToMatch[i])); contains = view.exists(); if (contains) return true; } return false; }
Example #5
Source File: UiHelper.java From AppCrawler with Apache License 2.0 | 6 votes |
public static void inputRandomTextToEditText() { UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); UiObject edit = null; int i = 0; do { edit = null; edit = device.findObject(new UiSelector().className("android.widget.EditText").instance(i++)); if (edit != null && edit.exists()) { try { Random rand = new Random(); String text = Config.RANDOM_TEXT[rand.nextInt(Config.RANDOM_TEXT.length - 1)]; edit.setText(text); } catch (UiObjectNotFoundException e) { // Don't worry } } } while (edit != null && edit.exists()); }
Example #6
Source File: PermissionGranter.java From mobile-android-samples with BSD 3-Clause "New" or "Revised" License | 6 votes |
public void allowPermissionsIfNeeded() { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { sleep(PERMISSIONS_DIALOG_DELAY); UiDevice device = UiDevice.getInstance(getInstrumentation()); UiObject allowPermissions = device.findObject(new UiSelector() .clickable(true) .checkable(false) .index(GRANT_BUTTON_INDEX)); if (allowPermissions.exists()) { allowPermissions.click(); } } } catch (UiObjectNotFoundException e) { System.out.println("There is no permissions dialog to interact with"); } }
Example #7
Source File: PermissionGranter.java From mobile-android-samples with BSD 3-Clause "New" or "Revised" License | 6 votes |
public void allowPermissionsIfNeeded() { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { sleep(PERMISSIONS_DIALOG_DELAY); UiDevice device = UiDevice.getInstance(getInstrumentation()); UiSelector selector = new UiSelector() .clickable(true) .checkable(false) .index(GRANT_BUTTON_INDEX); UiObject allowPermissions = device.findObject(selector); if (allowPermissions.exists()) { allowPermissions.click(); } } } catch (UiObjectNotFoundException e) { System.out.println("There is no permissions dialog to interact with"); } }
Example #8
Source File: UiHelper.java From AppCrawler with Apache License 2.0 | 6 votes |
public static boolean handleCommonDialog() { UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); UiObject button = null; for (String keyword : Config.COMMON_BUTTONS) { button = device.findObject(new UiSelector().text(keyword).enabled(true)); if (button != null && button.exists()) { break; } } try { // sometimes it takes a while for the OK button to become enabled if (button != null && button.exists()) { button.waitForExists(5000); button.click(); Log.i("AppCrawlerAction", "{Click} " + button.getText() + " Button succeeded"); return true; // triggered } } catch (UiObjectNotFoundException e) { Log.w(TAG, "UiObject disappear"); } return false; // no trigger }
Example #9
Source File: BasicUITests.java From restcomm-android-sdk with GNU Affero General Public License v3.0 | 6 votes |
private void allowPermissionsIfNeeded() { if (Build.VERSION.SDK_INT >= 23) { // Initialize UiDevice instance UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); // notice that we typically receive 2-3 permission prompts, hence the loop while (true) { UiObject allowPermissions = uiDevice.findObject(new UiSelector().text("Allow")); if (allowPermissions.exists()) { try { allowPermissions.click(); } catch (UiObjectNotFoundException e) { e.printStackTrace(); Log.e(TAG, "There is no permissions dialog to interact with "); } } else { break; } } } }
Example #10
Source File: UIUtil.java From SweetBlue with GNU General Public License v3.0 | 6 votes |
public static void handleBluetoothEnablerDialogs(UiDevice uiDevice, Activity activity) throws UiObjectNotFoundException { if (viewExistsExact(uiDevice, "Bluetooth permission request")) { if (viewExistsExact(uiDevice, "ALLOW")) { clickButton(uiDevice, "ALLOW"); } else if (viewExistsExact(uiDevice, "Yes")) { clickButton(uiDevice, "Yes"); } } if (viewExistsExact(uiDevice, P_StringHandler.getString(activity, P_StringHandler.REQUIRES_LOCATION_PERMISSION))) { clickButton(uiDevice, P_StringHandler.getString(activity, P_StringHandler.ACCEPT)); } if (viewExistsContains(uiDevice, "Allow", "access this device's location") && UIUtil.viewExistsExact(uiDevice, "ALLOW") && UIUtil.viewExistsExact(uiDevice, "DENY")) { clickButton(uiDevice, "ALLOW"); } }
Example #11
Source File: KeysController.java From UIAutomatorWD with MIT License | 6 votes |
@Override public NanoHTTPD.Response get(RouterNanoHTTPD.UriResource uriResource, Map<String, String> urlParams, NanoHTTPD.IHTTPSession session) { String sessionId = urlParams.get("sessionId"); Map<String, String> body = new HashMap<String, String>(); UiDevice mDevice = Elements.getGlobal().getmDevice(); JSONObject result = null; try { session.parseBody(body); String postData = body.get("postData"); JSONObject jsonObj = JSON.parseObject(postData); JSONArray keycodes = (JSONArray)jsonObj.get("value"); for (Iterator iterator = keycodes.iterator(); iterator.hasNext();) { int keycode = (int) iterator.next(); mDevice.pressKeyCode(keycode); } return NanoHTTPD.newFixedLengthResponse(getStatus(), getMimeType(), new Response(result, sessionId).toString()); } catch (Exception e) { return NanoHTTPD.newFixedLengthResponse(getStatus(), getMimeType(), new Response(Status.UnknownError, sessionId).toString()); } }
Example #12
Source File: UiAutomatorTest.java From android-testing-templates with Apache License 2.0 | 6 votes |
/** * When using UiAutomator you can interact with ui elements outside of your own process. * You can start your application by pressing the home button of the device and launch the * target app through the android launcher. * * <p> * If you only want to launch and test a single {@link Activity} you can use {@link * Instrumentation} directly to only launch the target {@link Activity} * </p> */ @Before public void startBlueprintActivityFromHomeScreen() { // Initialize UiDevice instance mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); // Start from the home screen mDevice.pressHome(); // Wait for launcher final String launcherPackage = getLauncherPackageName(); assertThat(launcherPackage, notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); // Launch the blueprint app Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager().getLaunchIntentForPackage(TARGET_PACKAGE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); // Clear out any previous instances context.startActivity(intent); // Wait for the app to appear mDevice.wait(Until.hasObject(By.pkg(TARGET_PACKAGE).depth(0)), LAUNCH_TIMEOUT); }
Example #13
Source File: PermissionsTest.java From espresso-samples with Apache License 2.0 | 6 votes |
@Before public void startMainActivityFromHomeScreen() { // Initialize UiDevice instance device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); // Start from the home screen device.pressHome(); // Wait for launcher final String launcherPackage = getLauncherPackageName(); MatcherAssert.assertThat(launcherPackage, IsNull.notNullValue()); device.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); // Launch the app Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager() .getLaunchIntentForPackage(APP_PACKAGE_NAME); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); // Clear out any previous instances context.startActivity(intent); // Wait for the app to appear device.wait(Until.hasObject(By.pkg(APP_PACKAGE_NAME).depth(0)), LAUNCH_TIMEOUT); }
Example #14
Source File: UIAnimatorTest.java From Expert-Android-Programming with MIT License | 6 votes |
@Before public void startMainActivityFromHomeScreen() { // Initialize UiDevice instance mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); // Start from the home screen mDevice.pressHome(); // Wait for launcher final String launcherPackage = mDevice.getLauncherPackageName(); Assert.assertThat(launcherPackage, CoreMatchers.notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); // Launch the app Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager() .getLaunchIntentForPackage(BASIC_SAMPLE_PACKAGE); // Clear out any previous instances intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); // Wait for the app to appear mDevice.wait(Until.hasObject(By.pkg(BASIC_SAMPLE_PACKAGE).depth(0)), LAUNCH_TIMEOUT); }
Example #15
Source File: MainEndToEndTest.java From Building-Professional-Android-Applications with MIT License | 6 votes |
@Before public void startMainActivityFromHomeScreen() { mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressHome(); final String launcherPackage = mDevice.getLauncherPackageName(); assertThat(launcherPackage, notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager().getLaunchIntentForPackage(TARGET_PACKAGE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); mDevice.wait(Until.hasObject(By.pkg(TARGET_PACKAGE).depth(0)), LAUNCH_TIMEOUT); }
Example #16
Source File: MainEndToEndTest.java From Building-Professional-Android-Applications with MIT License | 6 votes |
@Before public void startMainActivityFromHomeScreen() { mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressHome(); final String launcherPackage = mDevice.getLauncherPackageName(); assertThat(launcherPackage, notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager().getLaunchIntentForPackage(TARGET_PACKAGE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); mDevice.wait(Until.hasObject(By.pkg(TARGET_PACKAGE).depth(0)), LAUNCH_TIMEOUT); }
Example #17
Source File: MainEndToEndTest.java From Building-Professional-Android-Applications with MIT License | 6 votes |
@Before public void startMainActivityFromHomeScreen() { mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressHome(); final String launcherPackage = mDevice.getLauncherPackageName(); assertThat(launcherPackage, notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager().getLaunchIntentForPackage(TARGET_PACKAGE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); mDevice.wait(Until.hasObject(By.pkg(TARGET_PACKAGE).depth(0)), LAUNCH_TIMEOUT); }
Example #18
Source File: DeviceInfo.java From android-uiautomator-server with MIT License | 6 votes |
private DeviceInfo() { this._sdkInt = android.os.Build.VERSION.SDK_INT; UiDevice ud = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); this._currentPackageName = ud.getCurrentPackageName(); this._displayWidth = ud.getDisplayWidth(); this._displayHeight = ud.getDisplayHeight(); this._displayRotation = ud.getDisplayRotation(); this._productName = ud.getProductName(); this._naturalOrientation = ud.isNaturalOrientation(); this._displaySizeDpX = ud.getDisplaySizeDp().x; this._displaySizeDpY = ud.getDisplaySizeDp().y; try { this._screenOn = ud.isScreenOn(); } catch (RemoteException e) { e.printStackTrace(); Log.e(e.getMessage()); } }
Example #19
Source File: MainEndToEndTest.java From Building-Professional-Android-Applications with MIT License | 6 votes |
@Before public void startMainActivityFromHomeScreen() { mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressHome(); final String launcherPackage = mDevice.getLauncherPackageName(); assertThat(launcherPackage, notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager().getLaunchIntentForPackage(TARGET_PACKAGE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); mDevice.wait(Until.hasObject(By.pkg(TARGET_PACKAGE).depth(0)), LAUNCH_TIMEOUT); }
Example #20
Source File: MainEndToEndTest.java From Building-Professional-Android-Applications with MIT License | 6 votes |
@Before public void startMainActivityFromHomeScreen() { mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressHome(); final String launcherPackage = mDevice.getLauncherPackageName(); assertThat(launcherPackage, notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager().getLaunchIntentForPackage(TARGET_PACKAGE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); mDevice.wait(Until.hasObject(By.pkg(TARGET_PACKAGE).depth(0)), LAUNCH_TIMEOUT); }
Example #21
Source File: MainEndToEndTest.java From Building-Professional-Android-Applications with MIT License | 6 votes |
@Before public void startMainActivityFromHomeScreen() { mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressHome(); final String launcherPackage = mDevice.getLauncherPackageName(); assertThat(launcherPackage, notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT); Context context = InstrumentationRegistry.getContext(); final Intent intent = context.getPackageManager().getLaunchIntentForPackage(TARGET_PACKAGE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); mDevice.wait(Until.hasObject(By.pkg(TARGET_PACKAGE).depth(0)), LAUNCH_TIMEOUT); }
Example #22
Source File: ItStatusBarNotifier.java From SmoothClicker with MIT License | 5 votes |
/** * Initializes the NotificationManager * * <i>The tests have to start on the home screen</i> */ @Before public void init(){ l(this,"@Before init"); mContext = mActivityRule.getActivity().getApplicationContext(); mSbn = new StatusBarNotifier(mContext); mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressHome(); }
Example #23
Source File: PickerIntegrationTest.java From CumulusTV with MIT License | 5 votes |
@Before public void initializeActivity() { mContext = InstrumentationRegistry.getContext(); mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); // Start from the home screen mDevice.pressHome(); final Intent intent = mContext.getPackageManager() .getLeanbackLaunchIntentForPackage("com.felkertech.n.cumulustv"); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); mContext.startActivity(intent); mDevice.wait(Until.hasObject(By.pkg("com.felkertech.n.cumulustv").depth(0)), 5000); }
Example #24
Source File: ComprehensionTest.java From BuildmLearn-Toolkit-Android with BSD 3-Clause "New" or "Revised" License | 5 votes |
private static void allowPermissionsIfNeeded() { if (Build.VERSION.SDK_INT >= 23) { UiDevice device = UiDevice.getInstance(getInstrumentation()); UiObject allowPermissions = device.findObject(new UiSelector().text("Allow")); if (allowPermissions.exists()) { try { allowPermissions.click(); } catch (UiObjectNotFoundException e) { } } } }
Example #25
Source File: PermissionGranter.java From NoNonsense-FilePicker with Mozilla Public License 2.0 | 5 votes |
public static void allowPermissionsIfNeeded(Activity activity, String permissionNeeded) { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !hasNeededPermission(activity, permissionNeeded)) { sleep(PERMISSIONS_DIALOG_DELAY); UiDevice device = UiDevice.getInstance(getInstrumentation()); UiObject allowPermissions = device.findObject(new UiSelector().clickable(true).index(GRANT_BUTTON_INDEX)); if (allowPermissions.exists()) { allowPermissions.click(); } } } catch (UiObjectNotFoundException e) { System.out.println("There is no permissions dialog to interact with"); } }
Example #26
Source File: BreadcrumbsActivityTest.java From BreadcrumbsView with Apache License 2.0 | 5 votes |
private void rotateDevice() { try { UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); uiDevice.setOrientationLeft(); waitTime(); uiDevice.setOrientationNatural(); waitTime(); } catch (RemoteException e) { e.printStackTrace(); } }
Example #27
Source File: ItServiceClicker.java From SmoothClicker with MIT License | 5 votes |
/** * Initializes the NotificationManager * <i>The tests have to start from the home screen</i> */ @Before public void init(){ l(this,"@Before init"); mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); mDevice.pressHome(); mContext = InstrumentationRegistry.getTargetContext(); }
Example #28
Source File: ItNotificationsManager.java From SmoothClicker with MIT License | 5 votes |
/** * Initializes the NotificationManager * * <i>Tests should start from the home screen</i> */ @Before public void init(){ l(this,"@Before init"); mContext = mActivityRule.getActivity().getApplicationContext(); mNm = NotificationsManager.getInstance(mContext); mDevice = UiDevice.getInstance(getInstrumentation()); mDevice.pressHome(); }
Example #29
Source File: ItStandaloneModeDialog.java From SmoothClicker with MIT License | 5 votes |
/** * Starts the main activity to test from the home screen */ @Before public void startMainActivityFromHomeScreen() { l(this, "@Before startMainActivityFromHomeScreen"); // Initialize UiDevice instance mDevice = UiDevice.getInstance(getInstrumentation()); // Start from the home screen mDevice.pressHome(); // Wait for launcher final String launcherPackage = mDevice.getLauncherPackageName(); assertThat(launcherPackage, notNullValue()); mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), LAUNCH_TIMEOUT_MS); // Launch the app Context context = InstrumentationRegistry.getTargetContext(); final Intent intent = context.getPackageManager().getLaunchIntentForPackage(PACKAGE_APP_PATH); // Clear out any previous instances intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); // Wait for the app to appear mDevice.wait(Until.hasObject(By.pkg(PACKAGE_APP_PATH).depth(0)), LAUNCH_TIMEOUT_MS); // Prepare for tests openStandaloneModeDialog(); }
Example #30
Source File: MainActivityTest.java From android-testing-guide with MIT License | 5 votes |
@Test public void testUiDevice() throws RemoteException { UiDevice device = UiDevice.getInstance( InstrumentationRegistry.getInstrumentation()); if (device.isScreenOn()) { device.setOrientationLeft(); device.openNotification(); } }