UiAutomator UiScrollabel

概要
    UiScrollable类介绍
    快速滚动
    获取列表子元素
    获取设置最大滚动次数常量值
    滚动区域校准常量设置与获取
    向前与向后滚动
    滚动到某个对象
    设置滚动方向

UiScrollable类说明
1.UiScrollable是UiCollection的子类
2.UiScrollable专门处理滚动事件,提供
各种滚动方法。
3. 向前滚动
向后滚动
快速滚动
滚动到某个对象
设置滚动方向
设置滚动次数

快速滚动
快速滚动API

代码演示:

//快速滚动demo
    public void tesFling() throws UiObjectNotFoundException{
        //获取到父类对象
        UiScrollable uis = new UiScrollable(new UiSelector()
        .className("android.widget.ListView"));
        //快速向下滚动一次
        //uis.flingBackward();
        //快速向上滚动一次
        //uis.flingForward();
        /*快速滚动到开始位置,默认的步长是5
         * maxSwipes 滚动的次数
         * 注:flingToBeginning,可以自动判断是否到达顶部,
         * 到达后程序自动停止
         * */
        //快速滚动到最底部
        flingToBeginning(int maxSwipes);自定义扫动次数以步长为5快速滑动到开启
        //快速滚动到顶部
        //uis.flingForward(int maxSwipes);
}

获取列表子元素
获取列表子元素API

演示代码

    /**
     * 获取列表子元素
     * @throws UiObjectNotFoundException 
     * */
    //通过text找
    public void testGetChild() throws UiObjectNotFoundException{
        UiScrollable uis = new UiScrollable(new UiSelector()
        .className("android.widget.ListView"));
        //子元素对象
        UiSelector childPattern = new UiSelector().className
        ("android.widget.TextView");
        //筛选条件 通过text值筛选
        String text ="妇科在线";
        /**
         * childPattern 类型是UiSelectour
         * text 子元素 text值
         * allowScrollSearch 是否滚动,true或false
         * 
         * 不添加 allowScrollSearch参数 默认是滚动
         * */
        UiObject childByText = uis.getChildByText(childPattern, text, true);

        //通过子类下标找子类 但,此功能不具备滚动功能也就是只能找当前页面的
        //uis.getChildByInstance(childPattern, 5);

        //测试是否找到 点击
        childByText.click();
    }

获取与设置最大滚动次数常量值
获取与设置最大滚动次数常量值API

代码演示

/*
     * 获取与设置最大滚动次数常量值
     * */
    public void testSwipCount() throws UiObjectNotFoundException{
        UiScrollable uis = new UiScrollable(new UiSelector().
                className("android.widget.ListView"));
        //要查找的子类对象
        UiSelector childPattern =new UiSelector().className
                ("android.widget.LinearLayout");
        UiObject ob = uis.getChildByInstance(childPattern, 9);
        //设置最大滚动次数,默认是30
        uis.setMaxSearchSwipes(60);
        //滚动到需要找到对象的地方
        //boolean scrollIntoView = uis.scrollIntoView(ob);
        //获取最大滚动次数
        System.out.println(uis.getMaxSearchSwipes());
        //测试点击
        ob.click();

    }
ps:如何结束脚本进程
    1.adb shell ps | find "uiautomator"
    2.adb shell kill 进程号

滑动区域校准常量设置与获取
滑动区域校准常量设置与获取API

代码演示

/*
     * 滑动区域校准常量设置与获取
     * DeadZoon(盲区) 不滑动的区域
     * */

    public void testDeadZoon() throws UiObjectNotFoundException{
        UiScrollable uis = new UiScrollable(new UiSelector().
                className("android.widget.ListView"));
        double  sdz= uis.
                getSwipeDeadZonePercentage();
        System.out.println("不滑动区域的百分比:"+sdz);
        /**
         * 设置不滑动区域的大小百分比
         * */
        uis.setSwipeDeadZonePercentage(0.50);
        //测试 向上滑动
        uis.scrollForward();
    }

向前与向后滚动
向前与向后滚动API

设置滚动方向
设置滚动方向API

引用别人的写的笔记
http://www.51testing.com/html/75/534775-863836.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值