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

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;}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容