1.打开浏览器,打开百度实例

  

public void testBrowser() throws RemoteException, UiObjectNotFoundException{
//灭屏幕-亮屏幕--解锁
//灭屏
UiDevice.getInstance().sleep();
sleep(2000);
//判断是否亮屏
if(!UiDevice.getInstance().isScreenOn()){
//亮屏
UiDevice.getInstance().wakeUp();
}
//解锁
//UiDevice.getInstance().swipe(startX, startY, endX, endY, steps);
//点击home键
UiDevice.getInstance().pressHome();
//点击浏览器
UiObject uo=new UiObject(new UiSelector().text("浏览器"));
uo.click();
//点击浏览器输入框
UiObject uo1=new UiObject(new UiSelector().resourceId("com.android.browser:id/url"));
uo1.click();
UiDevice.getInstance().pressDelete(); //输入www.baidu.com UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_W);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_W);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_W);
//UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_DEL);//点
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_PERIOD);//点
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_I);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_D);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_U);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_PERIOD);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_C);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_O);
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_M);
sleep(1000);
//回车确认
UiDevice.getInstance().pressEnter();
sleep(1000);
//旋转屏幕
UiDevice.getInstance().setOrientationLeft();
//返回为正常状态
sleep(2000);
UiDevice.getInstance().setOrientationNatural();
//截图
File storePath=new File("/sdcard/testshili.png");
UiDevice.getInstance().takeScreenshot(storePath); }

2.一些实例:

//获取包名
        System.out.println(UiDevice.getInstance().getCurrentPackageName());
        //打开通知栏
        UiDevice.getInstance().openNotification();
        //打开快速设置
        UiDevice.getInstance().openQuickSettings();
        //获取xml布局文件 /data/local/tmp 存放位置
        UiDevice.getInstance().dumpWindowHierarchy("abc.xml");

    //[5,390][147,617]
        UiDevice.getInstance().click(140, 600);
        //20秒
        UiDevice.getInstance().waitForIdle(20000);

  //截图
      public void testJieTu(){
          File storePath=new File("/sdcard/test.png");
          UiDevice.getInstance().takeScreenshot(storePath);
      }

public void testKey() throws UiObjectNotFoundException{
        //小写字母
        UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A);
        //大写字母
        UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B,1);
        //点击固定点
        UiDevice.getInstance().click(200, 830);
        //获取屏幕高和宽
        int h=UiDevice.getInstance().getDisplayHeight();
        int w=UiDevice.getInstance().getDisplayWidth();
        UiDevice.getInstance().click(w/2, h/2);
        //获取登录对象
        UiObject uiobj=new UiObject(new UiSelector().resourceId("com.zhanglb.yijiebao:id/denglu"));
        //获取矩形坐标
        Rect r=uiobj.getBounds();
        int x0=r.left;
        int y0=r.top;
        int x1=r.right;
        int y1=r.bottom;
        //矩形坐标终点
        int centx=r.centerX();
        int centy=r.centerY();
        
        System.out.println("["+x0+":"+y0+"]");
        System.out.println("["+x1+":"+y1+"]");        
        
    }
    public void testDragAndSwipe(){
        //[5,390][147,617]
//        int startX, startY, endX, endY, steps;
//        startX=(147-5)/2+5;
//        startY=(617-390)/2+390;
//        endX=startX;
//        endY=startY+200;
//        steps=10;
//        //拖拽
//        UiDevice.getInstance().drag(startX, startY, endX, endY, steps);
//        sleep(2000);
//        //拖拽
//        UiDevice.getInstance().drag(startX, endY, endX, startY, steps);
        
//        //获取屏幕高和宽 滑动
//        int h=UiDevice.getInstance().getDisplayHeight();
//        int w=UiDevice.getInstance().getDisplayWidth();
//        UiDevice.getInstance().swipe(w-50, h/2, 50, h/2, 10);
        
        //矩形数组滑动
        Point p1=new Point();
        Point p2=new Point();
        Point p3=new Point();
        Point p4=new Point();
        
        p1.x=234;p1.y=345;
        p2.x=334;p2.y=535;
        p3.x=534;p3.y=345;
        p4.x=234;p4.y=145;
        
        Point[] pp={p1,p2,p3,p4};
        UiDevice.getInstance().swipe(pp, 50);
    
    }
    //旋转屏幕
    public void testXuanzhuan() throws RemoteException{
        //向左旋转
        UiDevice.getInstance().setOrientationLeft();
        sleep(2000);
        UiDevice.getInstance().setOrientationRight();
        //判断是否为正常方向
        if(UiDevice.getInstance().isNaturalOrientation()){
            UiDevice.getInstance().setOrientationLeft();
        }
        //判断是否为正常状态,0 0 ;1 90;2 108;3 270
        int a=UiDevice.getInstance().getDisplayRotation();
        if(a==Surface.ROTATION_0){
            
        }
    }

Android UiAutomator 自动化测试一些代码实例---新手3的更多相关文章

  1. Android UiAutomator 自动化测试编译运行---新手2

    1.首先打开eclipse创建java项目

  2. Android UiAutomator 自动化测试环境搭建---新手1

    1.首先需要准备的工具有 1.java jdk 2. android开发工具 adt 3.ant 安装包(如果下载adt里面有) 2.首先安装java环境,jdk这个百度就可以了. 3.android ...

  3. 【转】Python + Android + Uiautomator自动化测试

    1.首先来介绍下UIAutomator工具 UIAutomator是Android官方推出的安卓应用界面自动化测试工具,是最理想的针对APK进行自动化功能回归测试的利器. 2.UIAutomator测 ...

  4. Android UIAutomator自动化测试

    描述:UiAutomator接口丰富易用,可以支持所有Android事件操作,事件操作不依赖于控件坐标,可以通过断言和截图验证正确性,非常适合做UI测试. UIAutomator不需要测试人员了解代码 ...

  5. 【项目实例】android开发游戏音效代码实例

    //音效的音量 int streamVolume; //定义SoundPool 对象 private SoundPool soundPool; //定义HASH表 private HashMap< ...

  6. Appium python自动化测试系列之Android UIAutomator终极定位(七)

    android uiautomator text定位 可能有人不知道为什么说android uiautomator是终极定位,而且android uiautomator和appium有什么关系呢?如果 ...

  7. 通过实例介绍Android App自动化测试框架--Unittest

    1.为什么需要使用框架实现自动化测试 作为测试工程师,可能在代码能力上相比开发工程师要弱一点,所以我们在写脚本的时候就会相对容易的碰到更多的问题,如果有一个成熟的框架供给我们使用的话,可以帮助我们避免 ...

  8. Android UiAutomator

    UiAutomator是一个做UI测试的自动化框架.<Android自动化测试框架>中已有详细介绍,这里就不再累赘了. 一.首先了解自动化测试流程 自动化需求分析 测试用例设计 自动化框架 ...

  9. UiAutomator自动化测试框架介绍

    UiAutomator自动化测试框架介绍 环境搭建 1         必要条件 1.1       JDK 1.2       SDK(API高于15) 1.3       Eclipse 2    ...

随机推荐

  1. Pie(求最小身高差,dp)

    Pie Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  2. JAVA基础 (二)反射 深入解析反射机制

    在谈论到反射这个问题时,你是否有例如以下疑问? 不管是在.NET还是Java中反射的原理和机制是一样的,理解了一种还有一种就能够迎刃而解,想要理解反射首先须要了解底层的一些概念和执行.理解了反射有助于 ...

  3. xcode UIImageView创建、图片加载、 音频文件播放、 延迟调用

    代码创建 /** 创建UIImageView */ UIImageView * imageView=[[UIImageView alloc]init]; /** 设置尺寸位置 */ imageView ...

  4. 不定高度实现垂直居中(兼容低版本ie)

    css实现垂直居中的方法比较多,但是每种方法的缺陷也很明显,我尝试对其中一种方法进行了改良 先看原方法: <div class="parent"> <div cl ...

  5. C# 想要程序文件移动 而数据保持相对位置

    如果用的数据库是access数据库 可以把数据库文件放到bin\debug下面,引用相对位置就可以了 如果程序中有上载文件,而程序需要使用到该文件,那么我们最好也是引用相对文件,我们只需要在数据表中的 ...

  6. Lua for Windows入门01

    由于项目紧急,我都没来得及研究lua的基本知识就直接持枪上阵了.在实施编写的过程中,却次发现编程语言如此之美,第一次. 随着Lua+for+Windows+5.1.4-45版本的完全安装,最后跳出了一 ...

  7. vim vimrc

    set nu set shiftwidth= set tabstop= set softtabstop= set autoindent set cindent set smartindent file ...

  8. mysql 正确的关闭方式

    ./bin/mysqladmin -uroot -p123456 -S /home/allen/var/mysql/mysql.sock shutdown

  9. Oracle经典书籍推荐

    转自:http://www.cnblogs.com/fjfzhkb/archive/2007/12/05/983381.html 很多网友询问如何选择入门书籍,学Oracle有什么好书,这里给出一些常 ...

  10. css如此强大你知道吗

    看个这个大神纯 CSS 绘制<辛普森一家>人物头像我惊呆了,css如此牛x <div id="wrap"> <div class="cont ...