习惯性伸手党区 虚心请教一个问题,在测试 robotium 的时候需要有个清除 app 缓存的需求,大家是如何在 robotium 代码里调用清除缓存的逻辑的,另外,大家有啥好办法在不拿到源码的情况下清除缓存呢,谢谢~

testBlue · 2016年08月24日 · 最后由 testBlue 回复于 2016年08月25日 · 412 次阅读

是这样,我用 robotium 执行 test01 后,想在 tearDown 中执行清除 app 缓存的功能,方便在执行第二个用例的时候,重新再次执行一遍所有流程,但是问题来了,我清除缓存是用的 Runtime timeRuntime = Runtime.getRuntime();Process process = timeRuntime.exec(string);方法,但是,貌似 robotium 不支持开启新的进行,会报错误,大家有遇到过吗,或是除了这个方法还有其他比较好的办法吗~

共收到 8 条回复 时间 点赞

标题是不是应该简练些?

或许是权限问题,不确定,解决方案:1.换 root 的机器,app 提供清理缓存的功能 (一般 app 都会有)

—— 来自 TesterHome 官方 安卓客户端

拿 Context,getExternalFilesDir()、getExternalCacheDir()

第一,可以利用 adb 命令清除,你可以查一下,我不记得命令是哪个了。
第二,数据缓存存在 app 的 data/data/package/下面的几个文件夹,安卓也都有相应的代码的,这个可以问一下你们开发缓存到底存了哪些位置,像 xuxu 说的,有些也会存储在那里

#1 楼 @ansonwoo 下次注意。。。其实是看错了,看成内容栏了。。。

#3 楼 @xuxu 这个是个好方法,但是 robotium 中支持 Context 操作吗。。。没试过呢

#4 楼 @yaming116 adb 命令那个我知道,是 pm clear 的那个,但是这个需要新起进程去操作,我在 robotium 中新起进程就会报错误。。。不过直接找到路径清除还真是可以的,谢谢~

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