首页 > 其他 > 详细

[转]自己动手修改Robotium代码(上)

时间:2014-09-19 11:30:45      阅读:197      评论:0      收藏:0      [点我收藏+]

Robotium作为Android自动化测试框架,还有许多不完善的地方,也不能满足测试人员的所有要求。那么,本文以四个实际中碰到的问题为例,介绍改动Robotium源码的过程。


public boolean waitForActivity(String name, int timeout){
   Activity currentActivity = activityUtils.getCurrentActivity(false);
   final long endTime = SystemClock.uptimeMillis() + timeout;

   while(SystemClock.uptimeMillis() < endTime){
       if(currentActivity != null && currentActivity.getClass().getSimpleName().equals(name)) {
           return true;
       }
       
       sleeper.sleep(MINISLEEP);
       currentActivity = activityUtils.getCurrentActivity(false);
   }
   return false;
}
 
currentActivity.getClass().getSimpleName().equals(name)。于是,我把getSimpleName()改为getName(),这样以后使用solo.waitForActivity函数时,传入Activity的全名就好。
public void assertViewShown(String message, View view, int timeout)
{
   asserter.assertViewShown(message, view, timeout);
}    

public void assertViewShown(String message, View view, int timeout)
{
   Assert.assertTrue(message, waiter.isViewShown(view, timeout));
}

public boolean isViewShown(View view, int timeout){
   if(view == null)
       return false;
   long endTime = SystemClock.uptimeMillis() + timeout;

   while (SystemClock.uptimeMillis() < endTime{
       if(view.isShown())
           return true;
       sleeper.sleep(MINISLEEP);
   }
   return false;
}

[转]自己动手修改Robotium代码(上)

原文:http://www.cnblogs.com/TestingOn/p/3980930.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!