我有一个很少权限的 Android 应用程序,并且明确没有 android.permission.INTERNET 权限。
从 ActivityInstrumentationTestCase2 我想启动一个服务器,它将接收要针对应用程序执行的测试命令。
使用 ServerSocket 将失败,因为 Android 将尝试在应用程序的上下文中创建套接字,而不是在仪器的上下文中。
这可以做到吗?
我为什么要这样做?
根据要求,这里有一些背景知识。
我在测试自动化框架Calabash-Android上工作
我们在仪器内部运行一个服务器,它接收命令并与应用程序交互。我们希望能够在不要求开发人员设置互联网权限的情况下测试应用程序。这是我们可以在不修改应用程序的情况下测试任何应用程序之前唯一缺少的部分。
架构的描述可以在这里找到:http: //blog.lesspainful.com/2012/03/07/Calabash-Android/