2

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

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

谢谢!

4

2 回答 2

1

如果您只愿意在 Android 4.1 及更高版本上进行测试,则可以使用新的 UI Automator 框架,该框架支持跨多个包进行测试。

一些信息: https:
//plus.google.com/103712615773524578393/posts/dzqtF7BYyG4

于 2012-11-15T01:40:08.607 回答
1

编写一个简单的应用程序来访问活动管理器并每 2 秒读取一次在您的应用程序或其他应用程序中作为外部服务处于活动状态的内容是一件容易的事。

http://developer.android.com/reference/android/app/ActivityManager.html

基本上,检查 ActivityManager.RecentTaskInfo() 并检查它启动的 Activity 组件是否是你可以接受的。然后,为了不影响您的普通用户,.isUserAMonkey()返回一个布尔值 true。

如果 Activity 不是您想要的,请编写:

else
startService(new Intent(this, TheService.class));

或者

else 
startActivity(new Intent(this, TheActivity.class)); 
于 2012-11-14T20:35:13.247 回答