如何编写跨越2个应用程序的Android测试用例

时间:2012-11-14 20:12:33

标签: android robotium android-testing

根据Robotium doc,我们不能编写测试用例跨越两个应用程序,它说“测试项目被锁定到targetPackage。Android平台不允许超出该目标包。因此你需要2个测试项目,每个申请一个。“

目前我想做的就像猴子工具。我想在屏幕上随机触发操作以彻底触发应用程序的功能。在遍历过程中,程序流有时会退出应用程序,然后JUnit或Robotium失去对程序的控制。我想知道有什么方法可以将程序流程引导回应用程序吗?或者有什么方法可以同时控制多个应用程序?

谢谢!

2 个答案:

答案 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