根据Robotium doc,我们不能编写测试用例跨越两个应用程序,它说“测试项目被锁定到targetPackage。Android平台不允许超出该目标包。因此你需要2个测试项目,每个申请一个。“
目前我想做的就像猴子工具。我想在屏幕上随机触发操作以彻底触发应用程序的功能。在遍历过程中,程序流有时会退出应用程序,然后JUnit或Robotium失去对程序的控制。我想知道有什么方法可以将程序流程引导回应用程序吗?或者有什么方法可以同时控制多个应用程序?
谢谢!
答案 0 :(得分:1)
编写一个简单的应用程序可以轻松访问活动管理器,并且每2秒读取一次作为应用程序或其他应用程序中的外部服务活动的内容。
http://developer.android.com/reference/android/app/ActivityManager.html
基本上,检查ActivityManager.RecentTaskInfo()并检查它启动的Activity Component是否合适。然后,为了不影响普通用户,.isUserAMonkey()
返回一个true的布尔值。
如果活动不是您想要的,请写下:
else
startService(new Intent(this, TheService.class));
或
else
startActivity(new Intent(this, TheActivity.class));
答案 1 :(得分:1)
如果您愿意仅在Android 4.1及更高版本上进行测试,则可以使用新的UI Automator框架,该框架支持跨多个软件包进行测试。
一些信息:
https://plus.google.com/103712615773524578393/posts/dzqtF7BYyG4