其他测试框架 【已解决】UiAutomator-结束当前运行 Activity,并清空应用数据

mike · 2014年08月29日 · 最后由 dadaren 回复于 2015年03月24日 · 1766 次阅读

如题,请教:在 UiAutomator 中,如何结束当前运行的 Activity,并清空应用缓存数据

共收到 6 条回复 时间 点赞
mike #1 · 2014年08月29日 Author

看来暂时只能 getUiDevice().pressHome();

mike #2 · 2014年08月29日 Author

参考了 android 清理应用程序缓存的方式,自己写个类,清理/data/data/com.xxx.xxx cache、databases、shared_prefs、cache 下的内容就可以了

adb shell am force-stop adb shell pm clean 自己查查吧

mike #3 · 2014年09月01日 Author

#3 楼 @vigossjjj
try
{
Runtime.getRuntime().exec("adb shell pm clear com.my.package");
}
catch(IOException ex)
{
ex.printStackTrace();
}
  这里不会抛任何异常,而且也不会清除 App 的数据。

  Andorid 的安全机制不允许一个 App 去删除另一个 App 的数据,所以这种方法可能不行

#4 楼 @xiang2743 你先搞清楚你用的是 uiautomator 还是 instrumentation?如果使用的是 uiautomator,和你说的原因没有关系,UIAutomator 实现机制和 Instrumentation 并不一样。。。。还有就是命令明显错了,没有 adb shell,因为运行在手机中。

Runtime.getRuntime().exec("adb shell pm clear com.my.package");后面再加一句 sleep 就可以了

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