Robotium如何向下拖动屏幕

今天在做手机自动化测试的时候,遇到了如下的问题:如图一所示,打开众筹网的App后便进入到这个页面,页面上图带一个轮播图,下面是项目列表。而我要测试的功能是搜索,这个搜索框架要向下拖动屏幕才能显示出来,如图二所示。

                    Robotium如何向下拖动屏幕

图一,带轮播广告

Robotium如何向下拖动屏幕

 图二,显示搜索框

那么问题来了,怎么用Robotium向下拖动屏幕呢?我在网上查找了一下,可以有如下几个方法实现:

1,Solo.scrollUp();

2,Solo.swipe();

3.Solo.drag();

可是我在这个页面上试了很多遍,尝试更改了各个参数,以及各种可能影响结果的情况,就是不起作用。这不科学啊?

问题分析:

1,这几个拖动是针对listview的,这里面的项目列表都是卡片式的,应该是没有问题的

2,难道是这个页面和其他的页面不同?这个页面就多了一个如图一,红线框起来的轮播图,其他的也没有什么啊?难道这个的原因!!

3,先切换到其他的分类试一下,如果其他的分类没有问题,就肯定是这个轮播图的原因。

解决问题:

首先,我将页面切换到“全部”分类下,然后再尝试着以上提到的三种方法。

其次,如果还有问题,则不是这个轮播图的问题。

结果代码一运行,三种方法都可以使用,原来还真是这个轮播图的问题,害的我在方法上尝试了几个小时,看来努力的方向很重要,如果方向错了,再多的付出也是白搭。

代码示例:

public void searchobj(String proname)

    {

       

        solo.clickOnText("全部");

        solo.sleep(1000);

        solo.scrollUp();//方法1

        //方法2

        //PointF p1=new PointF(145F,500F),p2=p1,p3=new PointF(145F,700F),p4=p3;

        //solo.swipe(p1, p2, p3, p4);

        //方法3

        //solo.drag(145, 145, 500, 700, 10);

        solo.sleep(3000);              

        solo.clickOnText("搜索全站");

        solo.sleep(1000);

        EditText searchedit=solo.getEditText(0);

        solo.enterText(searchedit, proname);

        solo.sleep(1000);

        solo.pressSoftKeyboardSearchButton();

        solo.sleep(3000);

       

    }

posted @ 2014-12-11 16:51  潜龙9527  阅读(200)  评论(0编辑  收藏  举报