观心静

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  422 随笔 :: 0 文章 :: 86 评论 :: 139万 阅读
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();
		 }
	 }
}



            
posted on   观心静  阅读(653)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示