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 代码记录 : 遍历桌面的更多相关文章

  1. uiautomator 代码记录 :BT接收测试

    package rom; import java.lang.*; import java.util.Random; import java.io.File; import com.android.ui ...

  2. uiautomator 代码记录 : BT发送测试

    package rom; import java.lang.*; import java.util.Random; import java.io.File; import com.android.ui ...

  3. uiautomator 代码记录 : 随机发送短信

    package sms_test; import java.lang.*; import java.util.Random; import javax.microedition.khronos.egl ...

  4. UiAutomator 代码记录: 随机创建新联系人

    package lecturer; import java.lang.*; import java.nio.Buffer; import java.util.Random; import java.i ...

  5. MVVM 代码记录

      一.XML <Page x:Class="MVVM.MainPage" xmlns="http://schemas.microsoft.com/winfx/20 ...

  6. sqlserver 脚本 多条记录遍历

    临时表方式实现多条记录遍历 declare @oper_cart_item_id bigint; declare @oper_cart_id bigint; declare @the_last_cha ...

  7. 记录远程桌面登录者的IP和MAC

    WINDOWS 2003 远程桌面不能记录登陆IP真是件头痛的事,本方法可以记录登陆者IP,具体的操作步骤如下: 1.建立一个存放日志的目录,如C盘下建立一个RDP的目录“C:/RDP”. 2.然后在 ...

  8. Echarts基于动态数据初步使用 及问题 代码记录.

    ECHARTS 插件 基本的动态数据展示(横向图) 下载 echarts.commn.min.js文件 在页面中进行引用, 并为Echarts图形准备一个div盒子 <!-- 引入插件 --&g ...

  9. PAT甲级训练刷题代码记录

    刷题链接:https://www.patest.cn/contests/pat-a-practise 1001 #include <iostream> #include <stdio ...

随机推荐

  1. Sqoop 介绍、安装及环境配置

    一.Sqoop Sqoop介绍 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.oracle...)间进行数据的传递,可以将一个关系型数据库中的数据导进到Ha ...

  2. 蒲公英 Bug 管理云

    官网访问地址:https://www.tracup.com/ 优势地方: ①免费使用 现在免费,今后也一直免费. ②无需部署 网站采用云端部署,这也就意味着无需开发者自己搭建.部署,注册一个蒲公英账号 ...

  3. Kafka使用log.retention.hours改变消息端的消息保存时间

    数据存储的最大时间超过这个时间会根据log.cleanup.policy设置的策略处理数据,也就是消费端能够多久去消费数据log.retention.bytes和log.retention.hours ...

  4. newifi mini将led指示灯引出当gpio使用

    之前买了个newifi mini的路由器,CPU是mt7620a的,有7个led指示灯.现在想要把控制led灯的gpio引出来,方便其他驱动或应用的开发. 一.硬件部分 1.联想路由 现在想要把USB ...

  5. CRC8校验

    static u8 crccheck(u8* p,u8 len) //CRC校验,返回CRC检验值 { u8 bit0,cbit,i,j,byte,temp; temp = ; ; j < le ...

  6. System Generator 参数优化

    System Generator 参数优化 通过命令行调试参数 然后编译,查看资源消耗.

  7. excel技巧--批量生成工资条

    要想生成如上图的工资条,快速的方法如下: 1.在工资表右侧建立一升序数字列,完成后再复制该列,重复粘贴一次在该列底部.2.对该表排序:“开始”-->“排序和筛选”-->自定义排序.在对话框 ...

  8. 在本机将本机的ip和mac绑定

    cmd命令框中输入arp -s ip mac即可绑定 解除绑定:arp -d ip

  9. 【Zabbix3.0】之入门到精通

    https://www.cnblogs.com/clsn/p/7885990.html 饿了么技术债 http://server.51cto.com/sOS-555999.htm

  10. sass之为什么要使用预处理器

    使用预处理器主要目的就是编写出可读性更好.更易于维护的css. 以sass为例,sass中提供了@import可以在sass文件中导入其他sass文件,或在选择器中按需导入所需要的某个属性样式: @i ...