package test_one; import java.lang.*; import java.io.File; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiScrollable; import com.android.uiautomator.core.UiSelector; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.testrunner.UiAutomatorTestCase; import android.R.id; import android.R.string; import android.os.RemoteException; import com.android.uiautomator.core.UiWatcher; import com.android.uiautomator.core.UiObjectNotFoundException; @SuppressWarnings("deprecation") public class Test_ojb extends UiAutomatorTestCase{ public int startapp(String componentName){ StringBuffer app = new StringBuffer(); app.append("am start -n"); app.append(componentName); int ret = 1; try{ Process process = Runtime.getRuntime().exec(app.toString()); ret = process.waitFor(); }catch(Exception e){ e.printStackTrace(); System.out.println("startapp Exception!!! "); } return ret; } public void test_one_Test()throws UiObjectNotFoundException,RemoteException{ for(int j=0; j<10; j++){ if (UiDevice.getInstance().isScreenOn()) { System.out.println("screen OK!"); }else{ UiDevice.getInstance().wakeUp(); System.out.println("The screen is lit ! "); } UiDevice.getInstance().pressHome(); UiObject Unlocked = new UiObject(new UiSelector().resourceId("com.android.systemui:id/notification_stack_scroller")); assertTrue("Unlocked NG!",Unlocked.exists()); try { Unlocked.swipeUp(20); System.out.println("OK! The desktop unlocked successfully"); } catch (Exception e) { e.printStackTrace(); System.out.println("NG! Unlock failed!"); } UiObject launcher1 = new UiObject(new UiSelector().resourceId("com.android.launcher3:id/layout") .className("android.view.View") .packageName("com.android.launcher3")); UiObject launcher2 = launcher1.getChild(new UiSelector().index(0)); UiObject application = launcher2.getChild(new UiSelector().index(2) .className("android.widget.TextView") .packageName("com.android.launcher3")); assertTrue("application NG!",application.exists()); try{ application.clickAndWaitForNewWindow();//点击进入应用 System.out.println("application click ok!"); } catch (UiObjectNotFoundException e){ e.printStackTrace(); System.out.println("NG! Application click failed! "); UiDevice.getInstance().pressHome(); sleep(2000); application.clickAndWaitForNewWindow(); } UiObject View_1 = new UiObject(new UiSelector().resourceId("com.android.launcher3:id/apps_customize_pane_content") .className("android.view.View")); UiObject view_2 = View_1.getChild(new UiSelector().className("android.view.View").index(0)); UiObject view_3 = view_2.getChild(new UiSelector().className("android.view.View").index(2)); for(int i=0;i<view_3.getChildCount();i++){ //遍历桌面 try{ UiObject obj = view_3.getChild(new UiSelector().className("android.widget.TextView").index(i)); assertTrue("NG!"+i+"could not find it", obj.exists()); obj.click(); System.out.println(i+"start OK!"); sleep(5000); UiDevice.getInstance().pressBack(); if(view_3.waitForExists(10000)){ System.out.println("return!"); }else{ UiDevice.getInstance().pressBack(); } sleep(1000); }catch (UiObjectNotFoundException e) { e.printStackTrace(); System.out.println("NO:"+i+"_NG!"); File Screenshot = new File("/mnt/sdcard/"+"log_"+i+".png"); UiDevice.getInstance().takeScreenshot(Screenshot); UiDevice.getInstance().pressHome(); sleep(2000); application.clickAndWaitForNewWindow(); } } UiDevice.getInstance().pressHome(); sleep(1000); UiDevice.getInstance().sleep(); } } }
UiAutomator 代码记录 : 遍历桌面
最新推荐文章于 2024-05-20 10:11:28 发布