Java 类android.support.test.uiautomator.UiObject2 实例源码

项目:UIAutomatorWD    文件:MUiDevice.java   
private UiObject2 doFindObject(Object selector, AccessibilityNodeInfo node) throws Exception {

        Class uiObject2 = Class.forName("android.support.test.uiautomator.UiObject2");
        Constructor cons = uiObject2.getDeclaredConstructors()[0];
        cons.setAccessible(true);
        Object[] constructorParams = {uiDevice, selector, node};

        final long timeoutMillis = 1000;
        long end = SystemClock.uptimeMillis() + timeoutMillis;
        while (true) {
            UiObject2 object2 = (UiObject2) cons.newInstance(constructorParams);
            if (object2 != null) {
                return object2;
            }
            long remainingMillis = end - SystemClock.uptimeMillis();
            if (remainingMillis < 0) {
                return null;
            }
            SystemClock.sleep(Math.min(200, remainingMillis));
        }
    }
项目:SunmiAuto    文件:SunmiSettings.java   
@Category(CategorySettingsTests.class)
@Test
public void test007CheckEnterAdvPass() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("setting_interface");
        UiObject2 wifiops = device.findObject(By.text("WLAN"));
        wifiops.clickAndWait(Until.newWindow(), LONG_WAIT);
        screenshotCap("wifi_interface");
        sleep(SHORT_SLEEP);
        UiObject2 moreBtn = device.findObject(By.clazz("android.widget.ImageButton").desc("更多选项"));
        moreBtn.click();
        sleep(SHORT_SLEEP);
        UiObject2 addNetworkObj = device.findObject(By.text("高级"));
        addNetworkObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        sleep(SHORT_SLEEP);
        UiObject2 advWLANObj = device.findObject(By.text("高级WLAN"));
        Assert.assertNotNull("没有能够进入到高级WLAN页面", advWLANObj);
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Category(CategorySettingsTests.class)
@Test
public void test008CheckBTNamePASS() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("after_enter");
        UiObject2 WlanObj = device.findObject(By.text("蓝牙"));
        WlanObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        sleep(SHORT_SLEEP);
        screenshotCap("after_click");
        UiObject2 moreOptBtn = device.findObject(By.desc("更多选项"));
        moreOptBtn.click();
        sleep(SHORT_SLEEP);
        UiObject2 renameObj = device.findObject(By.text("重命名此设备"));
        renameObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        sleep(SHORT_SLEEP);
        UiObject2 nameObj = device.findObject(By.focused(true));
        String BTName = nameObj.getText();
        if("V1".equals(Build.MODEL)){
            Assert.assertEquals("蓝牙名称不正确", V1_BT_NAME, BTName);
        }else if("P1".equals(Build.MODEL)){
            Assert.assertEquals("蓝牙名称不正确", P1_BT_NAME, BTName);
        }
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test012CheckIbeacon() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("after_enter");
        UiObject2 moreObj = device.findObject(By.text("更多"));
        moreObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        UiObject2 ibeaconObj = device.findObject(By.text("iBeacon"));
        ibeaconObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        UiObject2 ibeaconTitle = device.findObject(By.res("com.sunmi.ibeacon:id/text").text("IBEACON"));
        Assert.assertNotNull("未找到IBEANCON标题", ibeaconTitle);
        UiObject2 ibeaconSwitch = device.findObject(By.res("com.sunmi.ibeacon:id/swi"));
        Assert.assertTrue("iBeacon开关没有打开", ibeaconSwitch.isChecked());
        //检查默认的ibeacon参数
        UiObject2 defaultIbeaconUUIDObj = device.findObject(By.res("com.sunmi.ibeacon:id/tv_uuid").text("FDA50693-A4E2-4FB1-AFCF-C6EB07647825"));
        UiObject2 defaultIbeaconMAJORObj = device.findObject(By.res("com.sunmi.ibeacon:id/tv_major").text("10073"));
        UiObject2 defaultIbeaconMINORObj = device.findObject(By.res("com.sunmi.ibeacon:id/tv_minor").text("61418"));
        Assert.assertNotNull("默认UUID不正确", defaultIbeaconUUIDObj);
        Assert.assertNotNull("默认MAJRO不正确", defaultIbeaconMAJORObj);
        Assert.assertNotNull("默认MINOR不正确", defaultIbeaconMINORObj);
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test014CheckNetShareStatus() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("after_enter");
        UiObject2 moreObj = device.findObject(By.text("更多"));
        moreObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        UiObject2 APObj = device.findObject(By.text("网络共享与便携式热点"));
        APObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        UiObject2 USBObj = device.findObject(By.text("USB网络共享")).getParent().getParent().findObject(By.res("android:id/switchWidget"));
        UiObject2 WLANObj = device.findObject(By.text("便携式WLAN热点")).getParent().getParent().findObject(By.res("android:id/switchWidget"));
        UiObject2 BTObj = device.findObject(By.text("蓝牙网络共享")).getParent().getParent().findObject(By.res("android:id/switchWidget"));
        Assert.assertFalse("USB网络共享默认不是关闭", USBObj.isChecked());
        Assert.assertFalse("便携式WLAN热点默认不是关闭", WLANObj.isChecked());
        Assert.assertFalse("蓝牙网络共享默认不是关闭", BTObj.isChecked());
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
//检查显示下字体大小正确(T1)
public void test019CheckFont() throws UiObjectNotFoundException {
    screenshotCap("after_enter");
    TestUtils.enterSettingsFirstLevelByName("显示");
    UiObject2 fontObj = device.findObject(By.text("字体大小")).getParent().findObject(By.res("android:id/summary"));
    String fontSize = fontObj.getText();
    Assert.assertEquals("期望是正常,而实际是" + fontSize, "正常", fontSize);
    sleep(SHORT_SLEEP);
    fontObj.clickAndWait(Until.newWindow(), LONG_WAIT);
    UiObject2 fontOpt = device.findObject(By.checked(true));
    String fontSize1 = fontOpt.getText();
    Assert.assertEquals("期望是正常,而实际是" + fontSize1, "正常", fontSize1);
    sleep(SHORT_SLEEP);
    UiObject2 hugeObj = device.findObject(By.text("超大"));
    hugeObj.clickAndWait(Until.newWindow(), LONG_WAIT);
    sleep(SHORT_SLEEP);
    UiObject2 fontObj1 = device.findObject(By.text("字体大小")).getParent().findObject(By.res("android:id/summary"));
    String fontSize2 = fontObj1.getText();
    Assert.assertEquals("期望是超大,而实际是" + fontSize2, "超大", fontSize2);
    sleep(SHORT_SLEEP);
    fontObj1.clickAndWait(Until.newWindow(), LONG_WAIT);
    UiObject2 normalObj = device.findObject(By.text("正常"));
    normalObj.click();
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
    //检查提示音和通知(T1)
    public void test021CheckTipsAndNotifFirstLevel() throws UiObjectNotFoundException {
        screenshotCap("after_enter");
        TestUtils.enterSettingsFirstLevelByName("提示音和通知");
        sleep(SHORT_SLEEP);
//        Pattern p = Pattern.compile("\\s");
        String[] tipAndNotfi = {"提示音和通知", "声音", "媒体音量", "通知音量", "免打扰", "默认通知铃声", "Pixie Dust", "其他提示音", "通知", "设备锁定时", "显示所有通知内容", "应用通知"};
        List<UiObject2> tipAndNotifList = device.findObjects(By.clazz("android.widget.TextView"));
        sleep(SHORT_SLEEP);
        for (int i = 0; i < tipAndNotifList.size(); i++) {
            Assert.assertEquals("期望是" + tipAndNotfi[i] + ",而实际是" + tipAndNotifList.get(i), tipAndNotfi[i], tipAndNotifList.get(i).getText());
            Log.v("myautotest", tipAndNotifList.get(i).getText());
        }
//        Iterator it = tipAndNotifList.iterator();
//        while(it.hasNext()){
//            Log.v("myautotest",it.next());
//        }
    }
项目:SimpleUILauncher    文件:AddWidgetTest.java   
private void performTest() throws Throwable {
    clearHomescreen();
    Launcher launcher = startLauncher();

    // Open widget tray and wait for load complete.
    final UiObject2 widgetContainer = openWidgetsTray();
    assertTrue(Wait.atMost(Condition.minChildCount(widgetContainer, 2), DEFAULT_UI_TIMEOUT));

    // Drag widget to homescreen
    UiObject2 widget = scrollAndFind(widgetContainer, By.clazz(WidgetCell.class)
            .hasDescendant(By.text(widgetInfo.getLabel(mTargetContext.getPackageManager()))));
    dragToWorkspace(widget);

    assertNotNull(launcher.getWorkspace().getFirstMatch(new ItemOperator() {
        @Override
        public boolean evaluate(ItemInfo info, View view) {
            return info instanceof LauncherAppWidgetInfo &&
                    ((LauncherAppWidgetInfo) info).providerName.equals(widgetInfo.provider);
        }
    }));
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test043CheckAPDefaultName(){
    if("P1".equals(Build.MODEL)) {
        device.findObject(By.text("更多")).clickAndWait(Until.newWindow(), 5000);
        screenshotCap("更多界面显示");
        device.findObject(By.text("网络共享与便携式热点")).clickAndWait(Until.newWindow(), 5000);
        device.findObject(By.text("WLAN 热点")).clickAndWait(Until.newWindow(), 5000);
        device.findObject(By.text("设置WLAN热点")).clickAndWait(Until.newWindow(), 5000);
        sleep(1000);
        UiObject2 WlanNameObj = device.findObject(By.text("SunmiP1"));
        screenshotCap("设置WLAN界面");
        Assert.assertNotNull("测试失败,默认名称不是SunmiP1", WlanNameObj);
    }
    else if ("V1".equals(Build.MODEL)){

    }
}
项目:FlickLauncher    文件:AllAppsIconToHomeTest.java   
private void performTest() throws Throwable {
    clearHomescreen();
    startLauncher();

    // Open all apps and wait for load complete.
    final UiObject2 appsContainer = openAllApps();
    assertTrue(Wait.atMost(Condition.minChildCount(appsContainer, 2), DEFAULT_UI_TIMEOUT));

    // Drag icon to homescreen.
    UiObject2 icon = scrollAndFind(appsContainer, By.text(mSettingsApp.getLabel().toString()));
    dragToWorkspace(icon);

    // Verify that the icon works on homescreen.
    mDevice.findObject(By.text(mSettingsApp.getLabel().toString())).click();
    assertTrue(mDevice.wait(Until.hasObject(By.pkg(
            mSettingsApp.getComponentName().getPackageName()).depth(0)), DEFAULT_UI_TIMEOUT));
}
项目:SunmiAuto    文件:SunmiAppStore_v3_3_15.java   
@Category(CategoryAppStoreTests_v3_3_15.class)
@Test
public void test011ClickHotSearchApp(){
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 searchObj = device.findObject(By.res("woyou.market:id/tv_search").text("搜索"));
    searchObj.click();
    TestUtils.screenshotCap("afterClickSearchBar");
    TestUtils.sleep(SHORT_SLEEP);
    int hotAppCount = device.findObject(By.res("woyou.market:id/grid_view")).getChildCount();
    if(hotAppCount != 0){
        String appName = device.findObject(By.res("woyou.market:id/grid_view")).findObject(By.res("woyou.market:id/tv_name")).getText();
        UiObject2 hotSearchObj = device.findObject(By.res("woyou.market:id/grid_view")).findObject(By.res("woyou.market:id/item_app"));
        hotSearchObj.clickAndWait(Until.newWindow(),LONG_WAIT);
        TestUtils.screenshotCap("clickHotsearchFirstOne");
        UiObject2 appDetailObj = device.findObject(By.res("woyou.market:id/tv_name"));
        String appDetailName = appDetailObj.getText();
        Assert.assertEquals(appName,appDetailName);
    }else{
        Assert.fail("没有任何热搜应用,需要确定是否确实不存在热搜应用");
    }
}
项目:SunmiAuto    文件:SunmiAppStore_v3_3_15.java   
@Category(CategoryAppStoreTests_v3_3_15.class)
    @Test
    public void test012ClearSearchBarButton(){
        TestUtils.screenshotCap("appStoreHome");
        UiObject2 searchObj = device.findObject(By.res("woyou.market:id/tv_search").text("搜索"));
        searchObj.click();
        TestUtils.screenshotCap("afterClickSearchBar");
        TestUtils.sleep(SHORT_SLEEP);
        UiObject2 searchObj1 = device.findObject(By.res("woyou.market:id/et_search").text("搜索").focused(true));
//        searchObj1.click();
        searchObj1.setText("DUDU");
        TestUtils.screenshotCap("inputSearchContentInterface");
        UiObject2 clearButton = device.findObject(By.res("woyou.market:id/iv_delete"));
        clearButton.click();
        TestUtils.screenshotCap("afterClickClearBtn");
        UiObject2 searchObj2 = device.findObject(By.res("woyou.market:id/et_search"));
        String textContent = searchObj2.getText();
        Assert.assertEquals("搜索",textContent);
    }
项目:SunmiAuto    文件:SunmiAppStore_v3_3_15.java   
@Category(CategoryAppStoreTests_v3_3_15.class)
@Test
public void test026FoldupAppDetail() throws UiObjectNotFoundException {
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 hotObj = device.findObject(By.res("woyou.market:id/tv_hot_all").text("全部"));
    hotObj.clickAndWait(Until.newWindow(), LONG_WAIT);
    TestUtils.screenshotCap("hotAllInterface");
    UiScrollable hotAllScroll = new UiScrollable(new UiSelector().resourceId("woyou.market:id/list_view"));
    UiObject fullAppObj = hotAllScroll.getChild(new UiSelector().className("android.widget.FrameLayout"));
    fullAppObj.clickAndWaitForNewWindow(LONG_WAIT);
    TestUtils.screenshotCap("enterAppDetail");
    UiObject2 foldupButton = device.findObject(By.res("woyou.market:id/iv_arrow"));
    foldupButton.clickAndWait(Until.newWindow(),LONG_WAIT);
    TestUtils.screenshotCap("foldUpAppDetail");
    UiScrollable hotAllScroll1 = new UiScrollable(new UiSelector().resourceId("woyou.market:id/list_view"));
    Assert.assertNotNull(hotAllScroll1);
}
项目:SimpleUILauncher    文件:AllAppsIconToHomeTest.java   
private void performTest() throws Throwable {
    clearHomescreen();
    startLauncher();

    // Open all apps and wait for load complete.
    final UiObject2 appsContainer = openAllApps();
    assertTrue(Wait.atMost(Condition.minChildCount(appsContainer, 2), DEFAULT_UI_TIMEOUT));

    // Drag icon to homescreen.
    UiObject2 icon = scrollAndFind(appsContainer, By.text(mSettingsApp.getLabel().toString()));
    dragToWorkspace(icon);

    // Verify that the icon works on homescreen.
    mDevice.findObject(By.text(mSettingsApp.getLabel().toString())).click();
    assertTrue(mDevice.wait(Until.hasObject(By.pkg(
            mSettingsApp.getComponentName().getPackageName()).depth(0)), DEFAULT_UI_TIMEOUT));
}
项目:UIAutomatorWD    文件:AlertController.java   
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;
}
项目:SunmiAuto    文件:SunmiAppStore.java   
@Test
public void test009SearchByTitle() throws UiObjectNotFoundException {
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 hotOne = device.findObject(By.res("woyou.market:id/linear_hot_view")).findObject(By.res("woyou.market:id/tv_name"));
    String targetAppName = hotOne.getText();
    UiObject2 searchObj = device.findObject(By.res("woyou.market:id/tv_search").text("搜索"));
    searchObj.click();
    TestUtils.screenshotCap("afterClickSearchBar");
    TestUtils.sleep(SHORT_SLEEP);
    UiObject2 searchObj1 = device.findObject(By.res("woyou.market:id/et_search").text("搜索").focused(true));
    searchObj1.click();
    searchObj1.setText(targetAppName);
    TestUtils.screenshotCap("inputSearchContent");
    UiScrollable appList = new UiScrollable(new UiSelector().resourceId("woyou.market:id/list_view"));
    UiObject appInfo = appList.getChildByInstance(new UiSelector().resourceId("woyou.market:id/app_view"),0);
    UiObject appNameObj = appInfo.getChild(new UiSelector().resourceId("woyou.market:id/tv_name"));
    Assert.assertEquals("搜索结果列表第一个应用不是"+targetAppName,targetAppName,appNameObj.getText());
}
项目:SunmiAuto    文件:SunmiAppStore.java   
@Test
public void test011ClickHotSearchApp(){
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 searchObj = device.findObject(By.res("woyou.market:id/tv_search").text("搜索"));
    searchObj.click();
    TestUtils.screenshotCap("afterClickSearchBar");
    TestUtils.sleep(SHORT_SLEEP);
    int hotAppCount = device.findObject(By.res("woyou.market:id/grid_view")).getChildCount();
    if(hotAppCount != 0){
        String appName = device.findObject(By.res("woyou.market:id/grid_view")).findObject(By.res("woyou.market:id/tv_name")).getText();
        UiObject2 hotSearchObj = device.findObject(By.res("woyou.market:id/grid_view")).findObject(By.res("woyou.market:id/item_app"));
        hotSearchObj.clickAndWait(Until.newWindow(),LONG_WAIT);
        TestUtils.screenshotCap("clickHotsearchFirstOne");
        UiObject2 appDetailObj = device.findObject(By.res("woyou.market:id/tv_name"));
        String appDetailName = appDetailObj.getText();
        Assert.assertEquals(appName,appDetailName);
    }else{
        Assert.fail("没有任何热搜应用,需要确定是否确实不存在热搜应用");
    }
}
项目:SunmiAuto    文件:SunmiAppStore.java   
@Test
public void test012ClearSearchBarButton(){
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 searchObj = device.findObject(By.res("woyou.market:id/tv_search").text("搜索"));
    searchObj.click();
    TestUtils.screenshotCap("afterClickSearchBar");
    TestUtils.sleep(SHORT_SLEEP);
    UiObject2 searchObj1 = device.findObject(By.res("woyou.market:id/et_search").text("搜索").focused(true));
    searchObj1.click();
    searchObj1.setText(SEARCH_APP);
    TestUtils.screenshotCap("inputSearchContentInterface");
    UiObject2 clearButton = device.findObject(By.res("woyou.market:id/iv_delete"));
    clearButton.click();
    TestUtils.screenshotCap("afterClickClearBtn");
    UiObject2 searchObj2 = device.findObject(By.res("woyou.market:id/et_search"));
    String textContent = searchObj2.getText();
    Assert.assertEquals("清除搜索框内容后,搜索框中不显示搜索","搜索",textContent);
}
项目:SunmiAuto    文件:SunmiAppStore.java   
@Test
public void test024CommentBeforeInstall() throws IOException, UiObjectNotFoundException {
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 hotObj = device.findObject(By.res("woyou.market:id/tv_hot_all").text("全部"));
    hotObj.clickAndWait(Until.newWindow(), LONG_WAIT);
    TestUtils.screenshotCap("hotAllInterface");
    UiScrollable hotAllScroll = new UiScrollable(new UiSelector().resourceId("woyou.market:id/list_view"));
    hotAllScroll.scrollIntoView(new UiSelector().resourceId("woyou.market:id/tv_install").text("安装"));
    TestUtils.screenshotCap("scrollInstallBtnInterface");
    UiObject2 installObj = device.findObject(By.res("woyou.market:id/tv_install").text("安装"));
    UiObject2 fullAppObj = installObj.getParent().getParent();
    fullAppObj.clickAndWait(Until.newWindow(),LONG_WAIT);
    TestUtils.screenshotCap("uninstalledAppDetail");
    UiObject2 commentObj = device.findObject(By.res("woyou.market:id/tv_install_comment_app"));
    commentObj.clickAndWait(Until.newWindow(),LONG_WAIT);
    TestUtils.screenshotCap("afterClickComment");
    UiObject2 rateObj = device.findObject(By.res("woyou.market:id/rating_bar"));
    Assert.assertNull(rateObj);
}
项目:SunmiAuto    文件:SunmiAppStore.java   
@Test
public void test025CommentAfterInstall() throws UiObjectNotFoundException {
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 hotObj = device.findObject(By.res("woyou.market:id/tv_hot_all").text("全部"));
    hotObj.clickAndWait(Until.newWindow(), LONG_WAIT);
    TestUtils.screenshotCap("hotAllInterface");
    UiScrollable hotAllScroll = new UiScrollable(new UiSelector().resourceId("woyou.market:id/list_view"));
    hotAllScroll.scrollIntoView(new UiSelector().resourceId("woyou.market:id/tv_install").text("打开"));
    UiObject2 installObj = device.findObject(By.res("woyou.market:id/tv_install").text("打开"));
    UiObject2 fullAppObj = installObj.getParent().getParent();
    fullAppObj.clickAndWait(Until.newWindow(),LONG_WAIT);
    TestUtils.screenshotCap("enterAppDetail");
    UiObject2 commentObj = device.findObject(By.res("woyou.market:id/tv_install_comment_app"));
    commentObj.clickAndWait(Until.newWindow(),LONG_WAIT);
    device.wait(Until.hasObject(By.res("woyou.market:id/rating_bar")),LONG_WAIT);
    TestUtils.screenshotCap("afterClickComment");
    UiObject2 rateObj = device.findObject(By.res("woyou.market:id/rating_bar"));
    Assert.assertNotNull(rateObj);
    device.pressBack();
}
项目:SunmiAuto    文件:SunmiAppStore.java   
@Test
public void test026FoldupAppDetail() throws UiObjectNotFoundException {
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 hotObj = device.findObject(By.res("woyou.market:id/tv_hot_all").text("全部"));
    hotObj.clickAndWait(Until.newWindow(), LONG_WAIT);
    TestUtils.screenshotCap("hotAllInterface");
    UiScrollable hotAllScroll = new UiScrollable(new UiSelector().resourceId("woyou.market:id/list_view"));
    UiObject fullAppObj = hotAllScroll.getChild(new UiSelector().resourceId("woyou.market:id/app_view"));
    fullAppObj.clickAndWaitForNewWindow(LONG_WAIT);
    TestUtils.screenshotCap("enterAppDetail");
    UiObject2 foldupButton = device.findObject(By.res("woyou.market:id/iv_arrow"));
    foldupButton.clickAndWait(Until.newWindow(),LONG_WAIT);
    TestUtils.screenshotCap("foldUpAppDetail");
    UiScrollable hotAllScroll1 = new UiScrollable(new UiSelector().resourceId("woyou.market:id/list_view"));
    Assert.assertNotNull(hotAllScroll1);
}
项目:SunmiAuto    文件:TestUtils.java   
public static void uiwatchSuite(){
    device.registerWatcher("crash", new UiWatcher() {
        @Override
        public boolean checkForCondition() {
            UiObject2 crashObj = device.findObject(By.textEndsWith("已停止运行。"));
            Log.v("myautotest","enterWatch");
            if(crashObj != null){
                sleep(SHORT_SLEEP);
                device.findObject(By.text("确定")).clickAndWait(Until.newWindow(),LONG_WAIT);
                return true;
            }
            return false;
        }
    });

}
项目:ChimpCheck    文件:ExampleInstrumentedTest.java   
@Test
public void clickTest(){
    List<UiObject2> objects = mDevice.findObjects(By.clickable(true));
    UiObject2 obj = objects.get(1);
    Log.d("TAG", obj.getResourceName());
    Resources r = getActivityInstance().getResources();
    Wrapper wr = helper(obj.getResourceName());
    int id = r.getIdentifier(wr.name, wr.defType, wr.defPackage);
    Log.d("TAG", Integer.toString(id));
    Espresso.onView(withId(id)).perform(click());

    objects = mDevice.findObjects(By.clickable(true));
    obj = objects.get(1);
    wr = helper(obj.getResourceName());
    id = r.getIdentifier(wr.name, wr.defType, wr.defPackage);
    Espresso.onView(allOf(withId(id), supportsInputMethods() )).perform(typeText("string to be typed"));

}
项目:SimpleUILauncher    文件:LauncherInstrumentationTestCase.java   
/**
 * Scrolls the {@param container} until it finds an object matching {@param condition}.
 * @return the matching object.
 */
protected UiObject2 scrollAndFind(UiObject2 container, BySelector condition) {
    do {
        UiObject2 widget = container.findObject(condition);
        if (widget != null) {
            return widget;
        }
    } while (container.scroll(Direction.DOWN, 1f));
    return container.findObject(condition);
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Category(CategorySettingsTests.class)
@Test
public void test002DataUsage() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("setting_interface");
        UiObject2 ethOps = device.findObject(By.text("流量使用情况"));
        ethOps.clickAndWait(Until.newWindow(), LONG_WAIT);
        screenshotCap("dataUsage_interface");
        UiObject2 dataUsageObj = device.findObject(By.text("流量使用情况").clazz("android.widget.TextView"));
        Assert.assertNotNull("未找到流量使用情况标识", dataUsageObj);
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Category(CategorySettingsTests.class)
@Test
public void test003OpenBT() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("after_enter");
        UiObject2 WlanObj = device.findObject(By.text("蓝牙"));
        WlanObj.click();
        sleep(SHORT_SLEEP);
        screenshotCap("after_click");
        UiObject2 BTButtonObj = device.findObject(By.res("com.android.settings:id/switch_widget"));
        sleep(SHORT_SLEEP);
        Assert.assertTrue("蓝牙开关默认不是打开状态", BTButtonObj.isChecked());
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Category(CategorySettingsTests.class)
@Test
public void test006CheckWLANStatus() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("setting_interface");
        UiObject2 wifiops = device.findObject(By.text("WLAN"));
        wifiops.clickAndWait(Until.newWindow(), LONG_WAIT);
        screenshotCap("wifi_interface");
        UiObject2 wifiButton = device.findObject(By.res("com.android.settings:id/switch_widget"));
        Assert.assertEquals("Wifi开关默认应该为打开状态", true, wifiButton.isChecked());
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Category(CategorySettingsTests.class)
@Test
public void test009CheckBTRenamePASS() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("after_enter");
        UiObject2 WlanObj = device.findObject(By.text("蓝牙"));
        WlanObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        sleep(SHORT_SLEEP);
        screenshotCap("after_click");
        UiObject2 moreOptBtn = device.findObject(By.desc("更多选项"));
        moreOptBtn.click();
        sleep(SHORT_SLEEP);
        UiObject2 renameObj = device.findObject(By.text("重命名此设备"));
        renameObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        sleep(SHORT_SLEEP);
        UiObject2 nameObj = device.findObject(By.focused(true));
        nameObj.clear();
        nameObj.setText("TESTV1");
        UiObject2 renameBtn = device.findObject(By.text("重命名"));
        renameBtn.clickAndWait(Until.newWindow(), LONG_WAIT);
        sleep(SHORT_SLEEP);
        UiObject2 moreOptBtn1 = device.findObject(By.desc("更多选项"));
        moreOptBtn1.click();
        sleep(SHORT_SLEEP);
        UiObject2 renameObj1 = device.findObject(By.text("重命名此设备"));
        renameObj1.clickAndWait(Until.newWindow(), LONG_WAIT);
        sleep(SHORT_SLEEP);
        UiObject2 nameObj1 = device.findObject(By.focused(true));
        String BTName = nameObj1.getText();
        Assert.assertEquals("蓝牙改名失败", "TESTV1", BTName);
        nameObj1.clear();
        if("V1".equals(Build.MODEL)){
            nameObj1.setText(V1_BT_NAME);
        }else if("P1".equals(Build.MODEL)){
            nameObj1.setText(P1_BT_NAME);
        }
        UiObject2 renameBtn1 = device.findObject(By.text("重命名"));
        renameBtn1.clickAndWait(Until.newWindow(), LONG_WAIT);
    }
}
项目:FlickLauncher    文件:Condition.java   
public static Condition minChildCount(final UiObject2 obj, final int childCount) {
    return new Condition() {
        @Override
        public boolean isTrue() {
            return obj.getChildCount() >= childCount;
        }
    };
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Category(CategorySettingsTests.class)
@Test
public void test011CheckAirPlaneStatus() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("after_enter");
        UiObject2 moreObj = device.findObject(By.text("更多"));
        moreObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        UiObject2 airplaneSwitch = device.findObject(By.text("飞行模式")).getParent().getParent().findObject(By.res("android:id/switchWidget"));
        Boolean airplaneOpen = airplaneSwitch.isChecked();
        Assert.assertFalse("飞行模式不是关闭状态", airplaneOpen);
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test013CheckIbeaconSetting() {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("after_enter");
        UiObject2 moreObj = device.findObject(By.text("更多"));
        moreObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        UiObject2 ibeaconObj = device.findObject(By.text("iBeacon"));
        ibeaconObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        UiObject2 ibeaconSetObj = device.findObject(By.res("com.sunmi.ibeacon:id/tv_setting").text("设置iBeacon"));
        ibeaconSetObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        device.pressBack();
        UiObject2 othersUUIDObj = device.findObject(By.text("其他"));
        othersUUIDObj.click();
        UiObject2 setUUIDObj = device.findObject(By.focused(true));
        setUUIDObj.setText("11111111-2222-3333-4444-012345678910");
        UiObject2 setMAJORObj = device.findObject(By.res("com.sunmi.ibeacon:id/et_major"));
        setMAJORObj.setText("12345");
        UiObject2 setMINORObj = device.findObject(By.res("com.sunmi.ibeacon:id/et_minor"));
        setMINORObj.setText("54321");
        UiObject2 confirmObj = device.findObject(By.res("com.sunmi.ibeacon:id/tv_confirm"));
        confirmObj.click();
        UiObject2 UUIDObj = device.findObject(By.res("com.sunmi.ibeacon:id/tv_uuid").text("11111111-2222-3333-4444-012345678910"));
        Assert.assertNotNull("UUID未设置成功", UUIDObj);
        UiObject2 MAJORObj = device.findObject(By.res("com.sunmi.ibeacon:id/tv_major").text("12345"));
        Assert.assertNotNull("MAJOR未设置成功", MAJORObj);
        UiObject2 MINORObj = device.findObject(By.res("com.sunmi.ibeacon:id/tv_minor").text("54321"));
        Assert.assertNotNull("MINOR未设置成功", MINORObj);
        ibeaconSetObj.clickAndWait(Until.newWindow(), LONG_WAIT);
        device.pressBack();
        UiObject2 wechatUUIDObj = device.findObject(By.text("微信"));
        wechatUUIDObj.click();
        UiObject2 confirmObj1 = device.findObject(By.res("com.sunmi.ibeacon:id/tv_confirm"));
        confirmObj1.clickAndWait(Until.newWindow(), LONG_WAIT);
    }
}
项目:UIAutomatorWD    文件:MUiDevice.java   
/**
 * Returns the first object to match the {@code selector} criteria.
 */
public UiObject2 findObject(Object selector) throws Exception {
    AccessibilityNodeInfo node;
    uiDevice.waitForIdle();
    node = ((NodeInfoList) selector).getNodeList().size() > 0 ? ((NodeInfoList) selector).getNodeList().get(0) : null;
    selector = By.clazz(node.getClassName().toString());
    if (node == null) {
        return null;
    }
    return doFindObject(selector, node);
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
//检查显示下亮度可用(T1)
public void test017CheckClickLightLevel() throws UiObjectNotFoundException {
    screenshotCap("after_enter");
    TestUtils.enterSettingsFirstLevelByName("显示");
    UiObject2 lightObj = device.findObject(By.text("亮度"));
    lightObj.click();
    sleep(SHORT_SLEEP);
    UiObject2 lightSeekBar = device.findObject(By.res("com.android.systemui:id/slider"));
    Assert.assertNotNull("未找到亮度的seekBar", lightSeekBar);
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
//检查隐藏底部导航条开关状态(T1)
public void test020CheckNavigateBarSwitch() throws UiObjectNotFoundException {
    screenshotCap("after_enter");
    TestUtils.enterSettingsFirstLevelByName("显示");
    UiObject2 hideBottomNavigateBarObj = device.findObject(By.text("隐藏底部导航条")).getParent().getParent().findObject(By.res("android:id/switchWidget"));
    Boolean switchStatus = hideBottomNavigateBarObj.isChecked();
    Assert.assertFalse("隐藏底部导航条开关默认为开", switchStatus);
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test022Search() throws UiObjectNotFoundException {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)){
        Log.v("myautotest1","233333333");
        UiObject2 searchBtnObj = device.findObject(By.res("com.android.settings:id/search"));
        searchBtnObj.clickAndWait(Until.newWindow(),LONG_WAIT);
        UiObject2 searchTextObj = device.findObject(By.focused(true));
        searchTextObj.setText("W");
        UiScrollable resultScroll = new UiScrollable(new UiSelector().resourceId("com.android.settings:id/list_results"));
        Boolean searched = resultScroll.scrollTextIntoView("WLAN");
        Assert.assertTrue("未搜索到要查找的WLAN",searched);
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test023CheckWifiStatus() throws UiObjectNotFoundException {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        screenshotCap("after_enter");
        device.findObject(By.text("WLAN")).clickAndWait(Until.newWindow(), 5000);
        screenshotCap("after_enter");
        UiObject2 WifiStatusObj = device.findObject(By.res("com.android.settings:id/switch_widget"));
        Assert.assertTrue("测试失败,WIFI开关默认不是开启状态", WifiStatusObj.isChecked());
    }

}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test027CheckWifiNotificationStatus(){
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        device.findObject(By.text("WLAN")).clickAndWait(Until.newWindow(), 5000);
        device.findObject(By.desc("更多选项")).click();
        sleep(1000);
        device.findObject(By.text("高级")).clickAndWait(Until.newWindow(), 5000);
        screenshotCap("after_enter");
        UiObject2 NoticeObj = device.findObject(By.res("android:id/switchWidget"));
        Assert.assertTrue("测试失败,网络通知默认为关闭", NoticeObj.isChecked());
    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test063CheckShowPasswordStatus() throws UiObjectNotFoundException {
    if("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL)) {
        UiScrollable SettingScoll = new UiScrollable(new UiSelector().resourceId("android:id/content"));
        SettingScoll.scrollTextIntoView("安全");
        device.findObject(By.text("安全")).clickAndWait(Until.newWindow(), 5000);
        UiScrollable SwitchScoll = new UiScrollable(new UiSelector().resourceId("android:id/list"));
        SwitchScoll.scrollTextIntoView("显示密码");
        UiObject2 SwitchObj = device.findObjects(By.res("android:id/switchWidget")).get(0);
        Assert.assertTrue("测试失败,显示密码默认不是打开", SwitchObj.isChecked());

    }
}
项目:SunmiAuto    文件:SunmiSettings.java   
@Test
public void test071Check24HFormatStatus() throws UiObjectNotFoundException {
    if ("V1".equals(Build.MODEL) || "P1".equals(Build.MODEL));
    UiScrollable SettingScroll = new UiScrollable(new UiSelector().resourceId("android:id/content"));
    SettingScroll.scrollTextIntoView("日期和时间");
    device.findObject(By.text("日期和时间")).clickAndWait(Until.newWindow(),5000);
    UiScrollable DataScroll = new UiScrollable(new UiSelector().resourceId("android:id/list"));
    DataScroll.scrollTextIntoView("使用24小时制");
    UiObject2 FormatObj = device.findObjects(By.res("android:id/switchWidget")).get(1);
    Assert.assertTrue("测试失败,使用24小时制开关默认不是打开状态",FormatObj.isChecked());
}
项目:SunmiAuto    文件:SunmiAppStore_v3_3_15.java   
@Category(CategoryAppStoreTests_v3_3_15.class)
@Test
public void test001OpenAppStore() {
    TestUtils.screenshotCap("appStoreHome");
    UiObject2 suggObj = device.findObject(By.res("woyou.market:id/fab_me"));
    Assert.assertNotNull("未找到用户入口,判断打开应用市场失败", suggObj);
}