我试图使一个android应用程序,处理CSV文件的基本数据和输出处理过的数据在一个易于扫描/可读的格式。我很难找到一个无头测试过程,通过它我可以运行个人通常通过单击UI组件执行的所有后台进程,而无需实际触摸UI组件或模拟器。我可以处理最后的验证,但我不确定如何在没有GUI的情况下处理自动化过程。我不希望测试与GUI交互。
我首先想到的是简单地使用JAR文件而不是Android代码,因为我最初的目标是在没有可视Android组件的情况下测试处理过程。但实际上,Android就像一个包装器,所以它不会真正测试用户流:所以我不能直接去掉Android部分。我正在探索的另一种方法是以与使用服务器相同的方式使用安装了应用程序的模拟器——这样我就可以直接运行方法,而无需实际单击按钮。但即便如此,我还是觉得自己在胡说八道。我希望我把这个问题提得很好。
我熟悉UI Automator和Espresso,不幸的是,它们不是我想要的,因为必须在应用程序代码内部编写测试代码,而且需要UI组件。
是否有更好的方法来做这件事?
你看过谷歌的活动测试/服务测试链接吗?您可以针对您的应用程序编写JUnit测试。如果你想测试一个用户场景,你可以设计你的测试用例,以相同的顺序调用所有的函数。
- 确保在交互之间引入一些等待时间以模拟真实用户
https://developer.android.com/tools/testing/activity_testing.html
https://developer.android.com/tools/testing/service_testing.html