private void allowPermissionsIfNeeded() { if (Build.VERSION.SDK_INT >= 23) { UiObject allowPermissions = mDevice.findObject(new UiSelector().text("Allow")); if (allowPermissions.exists()) { try { allowPermissions.click(); } catch (UiObjectNotFoundException e) { Timber.w(e, "There is no permissions dialog to interact with "); } } } }
public void test_C1176954_CheckCallBarring() throws Exception { mm.log("打开设置"); mm.pressHome(); mm.launchActivity("com.android.settings/com.android.settings.MiuiSettings"); mm.waitFor(3); mm.log("找到电话设置"); mm.waitFor(2); UiScrollable list = new UiScrollable(new UiSelector().className("android.widget.ListView")); UiObject mms; mms = list.getChildByText(new UiSelector().className("android.widget.TextView"), "电话", true); mms.click(); mm.waitFor(2); mm.log("查找是否有呼叫限制选项"); mm.waitFor(2); UiScrollable list1 = new UiScrollable(new UiSelector().className("android.widget.ListView")); UiObject callbarring; callbarring = list1.getChildByText(new UiSelector().className("android.widget.TextView"), "呼叫限制", true); callbarring.click(); mm.waitFor(1); mm.pressHome(); }
private void loadXPrivacyConfig(String actionCommand) { // There is an intent to open the import configuration screen, // however there is a bug on XPrivacy, when that intent is called, // after a file is selected its contents are not displayed and no // operation is performed Log.d(uiaDaemon_logcatTag, "Loading XPrivacy configuration file."); // Extract the configuration file name String fileName = actionCommand.split("=")[1]; Log.d(uiaDaemon_logcatTag, "Filename = " + fileName); try { // launchApp("XPrivacy"); String XPrivacy = "biz.bokhorst.xprivacy"; String XPrivacyToolbar = XPrivacy + ":id/widgetToolbar"; String XPrivacyOkButton = XPrivacy + ":id/btnOk"; UiObject toolbar = this.device.findObject(new UiSelector().resourceId(XPrivacyToolbar)); // Locate the toolbar UiObject buttonSet = toolbar.getChild(new UiSelector().index(2)); UiObject menuButton = buttonSet.getChild(new UiSelector().index(1)); // Click to open the menu menuButton.click(); waitForGuiToStabilize(); // Select "Operations …" item from menu UiObject operationsButton = this.device.findObject(new UiSelector().text("Operations …")); operationsButton.click(); waitForGuiToStabilize(); // Select "Import" UiObject importButton = this.device.findObject(new UiSelector().text("Import")); importButton.click(); waitForGuiToStabilize(); // Select configuration file UiObject fileManagerButton = this.device.findObject(new UiSelector().text("OI File Manager")); fileManagerButton.click(); waitForGuiToStabilize(); UiObject textInput = this.device.findObject(new UiSelector().text("File name")); textInput.setText(fileName); UiObject pickFileButton = this.device.findObject(new UiSelector().text("Pick file")); pickFileButton.click(); waitForGuiToStabilize(); UiObject okButton = this.device.findObject(new UiSelector().resourceId(XPrivacyOkButton)); okButton.click(); do { okButton = this.device.findObject(new UiSelector().resourceId(XPrivacyOkButton)); waitForGuiToStabilize(); } while (!okButton.isEnabled()); waitForGuiToStabilize(); okButton.click(); this.device.waitForIdle(); waitForGuiToStabilize(); // Return to home this.device.pressHome(); this.device.waitForIdle(); } catch (UiObjectNotFoundException ex) { Log.e(uiaDaemon_logcatTag, "Failed to import XPrivacy configuration."); } // catch (UiAutomatorDaemonException ex) // { // Log.e(uiaDaemon_logcatTag, "Failed to start XPrivacy."); // } Log.d(uiaDaemon_logcatTag, "XPrivacy configuration file loaded."); }
public void testMenu() throws Exception { // Open Apps Thread.sleep(2000); myDevice.pressHome(); UiObject2 appsButton = myDevice.findObject(By.desc("Apps")); appsButton.click(); Thread.sleep(5000); // Click TUM Campus App listView = new UiScrollable(new UiSelector()); listView.setAsVerticalList(); listView.setMaxSearchSwipes(10); listView.scrollTextIntoView("TUM Campus App"); listView.waitForExists(5000); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "TUM Campus App"); listViewItem.clickAndWaitForNewWindow(5000); // Goto menu and Show Logged User Thread.sleep(3000); UiObject obj = myDevice.findObject(new UiSelector().className("android.widget.ImageButton")); obj.clickAndWaitForNewWindow(599); listView = new UiScrollable(new UiSelector()); listView.scrollToBeginning(10, 5); Thread.sleep(6000); // Come out from Menu myDevice.click(myDevice.getDisplayWidth() - 50, myDevice.getDisplayHeight() - 100); Thread.sleep(1000); // Show Current News listView.scrollToEnd(10, 150); Thread.sleep(3000); // Show one news for example movie Thread.sleep(2000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Codename U.N.C.L.E."); listView.waitForExists(3000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.widget.FrameLayout").index(1)); listViewItem = listView.getChildByText( new UiSelector().className("android.widget.TextView"), "Codename U.N.C.L.E."); listViewItem.click(); Thread.sleep(5000); listView = new UiScrollable(new UiSelector()); listView.scrollToEnd(10, 150); // Back to main application myDevice.pressBack(); Thread.sleep(2000); // Goto menu obj = myDevice.findObject(new UiSelector().className("android.widget.ImageButton")); obj.clickAndWaitForNewWindow(599); Thread.sleep(4000); // Goto My lecture // Thread.sleep(3000); listView.scrollTextIntoView("My Lectures"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.CheckedTextView.class.getName()), "My Lectures"); listViewItem.click(); // Select One Lecture listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView( "Praktikum - Betriebssysteme - Google Android (IN0012, IN2106, IN4004)"); listView.waitForExists(3000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.view.ViewGroup").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "Praktikum - Betriebssysteme - Google Android (IN0012, IN2106, IN4004)"); listViewItem.click(); // Lecture Appointments Thread.sleep(3000); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.Button.class.getName()), "Lecture Appointments"); listViewItem.click(); Thread.sleep(2000); listView = new UiScrollable(new UiSelector()); listView.scrollToEnd(10, 150); Thread.sleep(1000); myDevice.pressBack(); myDevice.pressBack(); myDevice.pressBack(); // Again Menu Thread.sleep(3000); obj = myDevice.findObject(new UiSelector().className("android.widget.ImageButton")); obj.clickAndWaitForNewWindow(599); Thread.sleep(6000); // Choice MVG listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("MVV"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.CheckedTextView.class.getName()), "MVV"); listViewItem.click(); // click search button Thread.sleep(2000); obj = myDevice.findObject(new UiSelector().className("android.widget.ImageView")); obj.clickAndWaitForNewWindow(599); Thread.sleep(6000); // Type Studentenstadt obj = myDevice.findObject(new UiSelector().className("android.widget.EditText")); obj.setText("Studentenstadt"); Thread.sleep(2000); myDevice.pressEnter(); Thread.sleep(3000); // show all options listView = new UiScrollable(new UiSelector()); listView.scrollToEnd(10, 150); Thread.sleep(2000); myDevice.pressBack(); myDevice.pressBack(); myDevice.pressBack(); // Goto menu Thread.sleep(3000); obj = myDevice.findObject(new UiSelector().className("android.widget.ImageButton")); obj.clickAndWaitForNewWindow(599); Thread.sleep(6000); // Open Organization listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Organizations"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.CheckedTextView.class.getName()), "Organizations"); listViewItem.click(); // Open Informatik Thread.sleep(2000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Informatics"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "Informatics"); listViewItem.click(); // Show Informatik Thread.sleep(2000); listView.scrollToEnd(10, 150); Thread.sleep(1000); myDevice.pressBack(); // Open TUM Board of Management Thread.sleep(2000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("TUM Board of Management"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "TUM Board of Management"); listViewItem.click(); // show tum board of management Thread.sleep(2000); listView.scrollToEnd(10, 150); Thread.sleep(1000); myDevice.pressBack(); myDevice.pressBack(); // Goto menu Thread.sleep(3000); obj = myDevice.findObject(new UiSelector().className("android.widget.ImageButton")); obj.clickAndWaitForNewWindow(599); Thread.sleep(6000); // Open Opening Hours listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Opening Hours"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.CheckedTextView.class.getName()), "Opening Hours"); listViewItem.click(); // Opne Libraries Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Libraries"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "Libraries"); listViewItem.click(); // Show libraries Thread.sleep(1000); listView.scrollToEnd(10, 150); Thread.sleep(1000); myDevice.pressBack(); myDevice.pressBack(); // Goto menu Thread.sleep(3000); obj = myDevice.findObject(new UiSelector().className("android.widget.ImageButton")); obj.clickAndWaitForNewWindow(599); Thread.sleep(6000); // select Plans listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Plans"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.CheckedTextView.class.getName()), "Plans"); listViewItem.click(); // Open MVV Plan Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("MVV Train-Network"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "MVV Train-Network"); listViewItem.clickAndWaitForNewWindow(6000); Thread.sleep(2000); myDevice.pressBack(); // Opne Garcing Plan Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Campus Garching"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "Campus Garching"); listViewItem.clickAndWaitForNewWindow(6000); Thread.sleep(2000); myDevice.pressBack(); myDevice.pressBack(); // Goto Settings listView = new UiScrollable(new UiSelector()); listViewItem = listView.getChild(new UiSelector().resourceId("de.tum.in.tumcampus:id/action_settings")); listViewItem.clickAndWaitForNewWindow(1000); // Open Default Campus Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Default campus"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "Default campus"); listViewItem.clickAndWaitForNewWindow(3000); // Change Campus Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Main Campus"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.CheckedTextView.class.getName()), "Main Campus"); listViewItem.click(); Thread.sleep(2000); // Change Campus to Garching Again Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Default campus"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "Default campus"); listViewItem.clickAndWaitForNewWindow(3000); Thread.sleep(2000); Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Campus Garching"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.CheckedTextView.class.getName()), "Campus Garching"); listViewItem.click(); Thread.sleep(2000); // State During Class Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("State during lectures"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.TextView.class.getName()), "State during lectures"); listViewItem.clickAndWaitForNewWindow(3000); Thread.sleep(2000); // Change State Thread.sleep(1000); listView = new UiScrollable(new UiSelector()); listView.scrollTextIntoView("Silent"); listView.waitForExists(6000); Thread.sleep(3000); // listViewItem = listView.getChild(new // UiSelector().className("android.support.v7.widget.LinearLayoutCompat").index(3)); listViewItem = listView.getChildByText( new UiSelector().className(android.widget.CheckedTextView.class.getName()), "Silent"); listViewItem.click(); Thread.sleep(2000); myDevice.pressBack(); }