Robotium 请教个问题,ROBOTIUM 希望每次都重新安装运行源 APK 和测试 APK,有成熟的架构可以实现么?

magicyang · 2015年04月10日 · 最后由 testBlue 回复于 2016年09月09日 · 2541 次阅读

是这样的,希望能够在每次执行测试 APK 的时候能够删掉原来的 APK。不想手动删了。。。
问题是这样的,知道 ADB 命令如何删除。就是如何将 ADB 命令和 ROBOTIUM 结合起来执行比较迷惑。
有大侠可以帮忙提供一些参考的意见么?
多谢!~

共收到 16 条回复 时间 点赞

直接在现有用例里面增加一步来调用 adb 删除 apk 的命令满足不了你的需要?

@chenhengjie123 我还处于土鳖的直接用 ECLIPSE 运行 JUNIT TEST 的阶段。
话说我执行测试 APK,不就得加载源 APK,这不是有依赖关系么。。。
我一时还没理顺。。。

其实这就是我最近一直头疼的东西。ROBOTIUM,APPIUM 只提供 UI 或者功能的 API。封完以后干么呢。
比如这个问题,我们应用有问题,有些功能验证必须删了 APK,重装才能自动化跑下去。ROBOTIUM 自己不能删,我就想知道有没有什么上层工具可以有类似运行 ADB 命令后,再执行 ROBOTIUM 用例的?信息量有些多,感觉相当的混乱中。麻烦诸位了!~SHELL 脚本写批处理,先删了,再运行?这样可行不?

#2 楼 @yangchengtest 其实我不建议你删除,删除可以做的,但是流程需要集成的话不像直接 adb shell 去启动那么简单了。所以我建议的是你去看看调用 api 直接去清空缓存会比较好。

@monkey 谢谢 MONKEY,我去试试清缓存。~真正打算把一套自己搭起来,才真正感到深坑无数啊~。哎,前两天打算 ECLIPSE 切 ANDROID STUDIO,结果测试源文件全变 CLASS,反编译还没编出来。。。。再次谢谢诸位的帮助!~

#5 楼 @yangchengtest 其实吧。这个是真的真谛。。就是你去做了,发现没有自己想的那么简单。很多事情都是这样的

appium 里面就有了这样的功能了. robotium 偏底层没有这功能. 你需要自己借助 adb 去搞下. 大部分情况不会有问题.

@monkey @seveniruby 两位大侠,对于 SharedPreference,删除本地文件重新进应用,数据还是放在缓存里的。除非重启机器,或者使用系统工具清数据,这里有没有什么清 SharedPreference 的好方法啊?

结合 chimpchat 写个工具,同来管理手机设备。还支持 shell,可以平台化。

可以的。在程序执行完后,调 adb shell uninstall 来卸载就好了

@xiaoxiao 恩,是的,直接外嵌一条 ADB 命令就 OK 了。~
如果需要清数据,ADB 也能搞定。

很早以前就有清空缓存解决方案了 tearDown finishOpenedActivities() 后删掉当前应用下的数据 java 流操作也可以

签名程序可以自己找一下 Re-sign 的然后做一下脚本重新签名顺带 ADB install,然后测试套代码可以用 SPOON。

Python 脚本可以解决这一切问题

pm clear package

robotium 不支持跨进程,用 adb 命令是不是会有问题

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