移动测试基础 robotium 文字 / 图像检查点 求解

张伟 · 2014年05月07日 · 最后由 Monkey 回复于 2014年05月08日 · 1697 次阅读

robotium,一个操作完成后,在当前屏幕,可以插入文本和图像检查点么,失败自动截图

看 API 好像,wait 和 search 可以实现查找文本,
boolean waitForView ( Class viewClass [, int timeout, boolean scroll])

boolean searchText (String text [, int minimumNumberOfMatches, boolean scroll, boolean onlyVisible])

1.请教下 在 robotium 中 怎么校验一个操作是否满足 预期 ,是否可以举个例子

共收到 6 条回复 时间 点赞

抛个砖头。。没用过 robotium,不过我猜想应该在代码或脚本中是这样用吧。我来误人子弟了..

//10秒钟内MainActivity界面没跳转出来时执行截图方法
boolean waitXXView = waitForView(MainActivity.class [, 10 , true]);
if(!waitXXView)
{
screenshot();  //截图
quit();
}

你举的两个 api 是可以的,然后其实 robotium,也就是 android junit 一般验证这样几个。

  1. 环境,比如网络环境,电量等
  2. 预期,比如跳转到什么 activity 等
  3. 跳转之后的具体 view 验证,可参考 ViewAssert 下面的 static 方法
  4. 验证一些 button 或者 view 的 text 显示,那么获取到之后 gettext()即可。

然后截图的话,你就直接用截图的方法,问题不大的。

#1 楼 @anikikun 谢谢,学习了!

#2 楼 @monkey 谢谢,学习了!

“写个布尔变量,在 teardown 根据这个变量判断是否截图吗?也许还有更好的方法” 昨天在微博上回复的,忘了跟楼了。

其实楼上各位给出的都对,但 robotium 本身就有个方法:
waitForCondition(Condition condition, int timeout)
Condition 本身就是一个 robotium 提供的类,里面只有一个待实现的接口,你把这两个条件都加进去就实现了你的需要。

另:个人觉得 monkey 的方法其实更好

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册