Athrun_学习笔记

 工具是固定的,人是变通的,若是感觉athrun框架有的功能实现效果不好,可以多想想是否可以用其它方法来实现呢?

1. 滑动引导图
SlideableElement sli = findElementById("my_slider",SlideableElement.class);
for (int i = 0; i<5; i++) {
sli.slide(ViewOperation.Direction.LEFT);
}
2. 当前截屏
captureScreenShot()

3. 查找元素
ViewGroupElement include = findElementById("include_checkbox", ViewGroupElement.class);
AbsListViewElement listView = findElementByIndex(0, AbsListView.class, AbsListViewElement.class);
TextViewElement findElementByText(String text)

4.获取当前activity,格式为:"org.athrun.android.app.TabOneActivity"
getCurrentActivityName();

关闭当前activity:

closeCurrentActivity(getCurrentActivityName());

5.获取设备。然后就可以操作设备,如下:
getDevice().pressMenu();//按下某个键
getDevice().setScreenOrientation(android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//设置屏幕方向
assertEquals("landscape", getDevice().getScreenOrientation());//获取屏幕方向return landscape or portrait
assertEquals(true, getDevice().isEmulator());//判断是否为模拟器
示例1: 
findElementByText("ListView").doClick();//通过文本找到一个元素,并点击

findElementById("id_name").doClick;// 通过控件id找到一个元素,并点击
AbsListViewElement listView = findElementById("my_listview",AbsListViewElement.class);//通过id找到一个listview
listView.scrollToNextScreen();//滚动这个listview到下一屏
ViewElement tmtsView = listView.getChildByIndex(35, ViewElement.class);//通过index找到第36个元素
tmtsView.doLongClick();//长按这个元素
findElementByText("Item One").doClick();//通过字本找到一个元素,并点击
assertEquals(true, waitForText("1 pressed!", 2000));//判断在2000毫秒内是否在当前页内显示出“1 pressed!”的文本

6. scrollTo()和 scrollBy() 

scrollTo()和scrollBy()都是View的public成员函数,使用这两个函数可以达到同样的目的,只是使用方式不同。 
public void scrollBy (int x, int y),将View的Content偏移(x,y)。x控制左右方向的偏移,y控制上下方向的偏移。例如当x>0,y=0时,向左移动x像素,当x<0,y=0时,向右移动x像素,而View的大小和位置不发生改变。如果Content超出了View的范围,则超出的部分会被挡住。 
public void scrollTo (int x, int y),将View的Content的位置移动到(x,y),而View的大小和位置不发生改变。如果Content超出了View的范围,则超出的部分会被挡住

例如:

scrollTo(050);//手指向上,内容向下滚动到50

scrollBy(0, -10); //向下滚动

scrollBy(010); //向上滚动

7.滑动引导图

SlideableElement sli = findElementById("my_slider1",  SlideableElement.class);   
        for (int i = 0; i < 3; i++) {  
            sli.slide(ViewOperation.Direction.LEFT); 
            getDevice().waitMoment(5); }  

8.调用drag()方法
private static final Instrumentation inst = null;
private  ViewOperation vo,vo1;

       vo1=vo.getInstance(inst);
       vo1.drag(470, 20, 200, 200, 20);

9.获取屏幕的宽度与高度

 int width=getDevice().getScreenWidth();
 int hight=getDevice().getScreenHeight();

10.得到 id在 R.java中的 id号

findElementById("iv_slide").getId();

11.实现对分支的覆盖

String s1=getCurrentActivityName();

System.out.println("s1 is "+s1);
   if(s1.equals("com.taobao.activities.SplashActivity")){
    getDevice().waitMoment(5);
   }
   else{    
    while(i<4){
           vo1.drag(width-10, 10, 100, 100, 10);
       getDevice().waitMoment(5);
       i++;
    }
   vo1.clickOnScreen(100, 100);
   getDevice().waitMoment(5);   
   }

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值