Robotium Robotium 专题 (五):Robotium 升级到 5.1 后的一些改进

风吹麦浪 · 2014年12月16日 · 最后由 风吹麦浪 回复于 2016年11月28日 · 2859 次阅读

最近事情有点多,不过觉得都是在瞎忙,昨天才抽空研究了下 Robotium5.1,其实现在 Robotium 已经更新到了 5.2.1,只是还没去细看,这里就先简单说下 5.1 更新的一些内容吧,知道的就当是复习下,不知道的就了解下吧,后续会再把 5.2.1 的更新内容写出来的!

新增类:
com.robotium.solo.Solo.Config: 静态类,用于对 Robotium 做一些初始化设置,包括默认超时时间、截图文件类型和保存路径、是否滚屏等。示例用法如下:

public void setUp() throws Exception {
    Config config = new Config();
    config.screenshotFileType = ScreenshotFileType.PNG; // 截图类型
    config.screenshotSavePath = Environment.getExternalStorageDirectory() + "/Robotium/"; // 截图路径
    config.shouldScroll = false; //是否滚屏
    solo = new Solo(getInstrumentation(), config); // 新的构造方法
    getActivity();
}

新增方法:
新增 Solo 构造函数 - 和 Config 有关的构造函数

getConfig()  // 返回Robotium的Config类

getWebElements() // 返回当前WebView中所有展现的Web元素

getWebElements(By by) // 返回当前WebView中所有展现的符合条件(By)的Web元素

pressSoftKeyboardNextButton() // 点击软键盘的下一步按钮

pressSoftKeyboardSearchButton() // 点击软键盘的搜索按钮

waitForEmptyActivityStack(int timeout) // 等待直到Activity栈为空

setNavigationDrawer(int status) // 设置NavigationDrawer的状态

改进点:
改进所有可点击的方法 - 改进了一些异常情况下的行为
改进了 waitForDialogToOpen 和 waitForDialogToClose 方法 - 现在可以识别所有的对话框了
改进内部视图处理类
改进 TakeScreenshot 方法 - 支持 GLSurfaceViews(OpenGL ES 3.0)

前几天用 Robotium5.2.1 写个 Case,发现以前用的 import 方法怎么都会报错,
后来看了下 Robotium 官方的代码,做了下修改,这里也简单说一下:
老方法:import com.jayway.android.robotium.solo.Solo;
新方法:import com.robotium.solo.Solo;
也有可能以前一直都是用的 import com.robotium.solo.Solo; 只是我在参考网上例子的时候一直都写的是 import com.jayway.android.robotium.solo.Solo;在这里做个标记,防止以后再搞错!
大家多向@monkey学习,不断自我改进,加油!

共收到 8 条回复 时间 点赞

waitForDialogToOpen 在页面切换的时候 有个坑... 如果页面跳转有 “请稍候...” 类似的加载提示. 这个方法也是识别的.

向你学习~写的很不错啊~继续加油~~~

robotium 还不是完全面向对象的. 我更喜欢 Cafe

#1 楼 @uncle_mm 写个 while 循环,判断有请稍后这个控件的时候 sleep 几秒就可以了

@monkey config.shouldScroll = false; //是否滚屏
请问 上面这个配置是什么意思?

#3 楼 @seveniruby cafe 存在很严重的问题,封装的太详细了,不适合所有人,如果想要深入,会郁闷,修改的源代码太多了。

自定义截图路径后,查看,没有图片。但是使用默认路径,就是有的。请问,是不能自定义吗?

恒温 [该话题已被删除] 中提及了此贴 09月08日 18:41

#7 楼 @ping_sky 可以自定义

恒温 《Robotium 专题》 合集 中提及了此贴 12月02日 18:24
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册