欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 自动化测试经验分享 深入UiScrollable

程序员文章站 2023-11-26 18:02:22
uiscrollable is a uicollection and provides support for searching for items in a scrol...

uiscrollable is a uicollection and provides support for searching for items in a scrollable user interface (ui) elements. this class can be used with horizontally or vertically scrollable controls.

uiscrollable是一个uicollection(这东西还没搞懂),我们可以使用它,在可滑动的页面(水平滑动或上下滑动都可以)上查找我们想要的控件(item)。

例1:下面的这个scrollclickobject方法就是使用uiscrollable,来自动选择我们想要点击的那个控件。

复制代码 代码如下:

public void scrollclickobject(string targetclassname,string targetname) throws uiobjectnotfoundexception {
    uiscrollable collectionobject = new uiscrollable(new uiselector().scrollable(true));
    if(collectionobject.exists()) {
        uiobject scrollableobject = collectionobject.getchildbytext(new uiselector().classname(targetclassname), targetname);
        scrollableobject.clickandwaitfornewwindow();
    } else {
        uiobject targetobject = new uiobject(new uiselector().classname(targetclassname).text(targetname));
        targetobject.clickandwaitfornewwindow();
    }
}

首先定义一个uiscrollable对象,识别这个对象的唯一条件就是,屏幕上有可滑动的控件。(这里有一个问题,就是如果屏幕上同时存在2个可滑动的控件,就会报错了)

然后我们判断这个可滑动对象是否存在

•存在,则使用getchildbytext方法,获取我们想要点击的那个控件,然后点击它
•不存在,则说明页面不可滑动,也就是所有控件均已显示在界面上。那我们就可以直接使用uiobject获取控件并操作它。