UiAutomator 代码记录 : 遍历桌面

来源:互联网 发布:兰州交大网络教育学院 编辑:程序博客网 时间:2024/05/21 12:48
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(); } }}


 
原创粉丝点击