从该应用程序外部的特定Android应用程序上运行Espresso测试

时间:2015-03-23 18:07:44

标签: android unit-testing android-espresso

我想写一个Espresso测试,我可以从该应用程序外部的应用程序上运行。我对Android没有多少经验,但据我所知,UI测试通常是从应该测试的应用程序项目内部编写和执行的。例如,根据Android Studio中的文件浏览器,我正在开发的测试应用程序的java文件存储在com.package.example.name中,UI测试的java文件存储在com.package.example中。 name(androidTest)。

我想为我没有项目文件的应用程序(应用程序A)开发UI测试。因为我没有应用程序A的项目,所以我无法像往常一样从同一项目内部开发应用程序A的测试。因此,我必须以某种方式从外部创建和运行它。

我最初的想法是从头开始创建一个测试应用程序(应用程序B)并添加一个按钮,当按下时,将打开应用程序A.我将从应用程序B内部开发一个Espresso测试,让它按下该按钮启动应用程序A,然后通过Android SDK工具中包含的uiautomatorviewer.bat查看应用程序A的UI元素的R.ids来开发其他Espresso指令。

至少对我而言,这似乎在理论上可以正常工作,所以我推进了这个计划。但是,当UI测试按下Application B中的按钮并启动应用程序A时,测试无法找到继续测试的活动。没有明确抛出错误; Logcat打印消息,如“ W / RootViewPicker:当前没有活动恢复 - 等待:2000ms,一个出现”,重复,其中2000ms随着时间的推移而增加。

从历史上看,在跨活动更改运行Espresso测试时,我没有遇到任何问题。我认为这个问题与正在启动的活动存在于Espresso测试所依据的项目之外的事实有关。

如果有人知道如何在应用程序之外的项目中成功运行Espresso测试,我将非常感谢您提供的任何建议。我想我走在正确的轨道上,但我不确定。谢谢!

0 个答案:

没有答案