最近事情有点多,不过觉得都是在瞎忙,昨天才抽空研究了下 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学习,不断自我改进,加油!


↙↙↙阅读原文可查看相关链接,并与作者交流