1.问题背景

最近博主在写移动应用测试课程的大作业,由于被测试的应用“青年论坛”就是当前Android Studio打开的工程项目“青年论坛”。所以每次运行测试用例,“青年论坛”工程项目总是会先被编译运行,再进行测试。但另博主懊恼的是尽管测试用例中并未有任何退出当前APP并返回到主界面的代码,但是每次测试用例一运行完,“青年论坛”APP就会被自动退出并返回到手机的主界面,这给博主我带来了极大的困扰,因为博主写了一组测试用例,上下线接的测试用例导致后者测试用例要基于前者测试用例的界面操作的,然而Android Studio的这一机制每个测试用例一运行完,“青年论坛”APP就会被自动退出并返回到手机的主界面让博主的一组测试用例几乎无法正常运行。

2.解决步骤

博主参考了网上其他的UI Automator启动APP的代码和一些UI Automator入门视频,发现视频演示都没有博主出现的问题。

博主我便展开了对这个问题的研究:
首先,博主当前Android Studio打开的工程项目是“青年论坛”,那么博主的测试用例中的应用“青年论坛”可以不设置为“青年论坛”,换一个其他的应用,如“微信”。果不其然,把测试用例换成“微信”后,Android Studio的这一机制每个测试用例一运行完,“青年论坛”APP就会被自动退出并返回到手机的主界面消失了!

3.结论

当使用Android Studio中使用UI Automator写测试用例对应用进行测试时,如果被测试的应用就是当前Android Studio打开的工程项目,那么极有可能触发Android Studio的这一机制每个测试用例一运行完,“青年论坛”APP就会被自动退出并返回到手机的主界面

4.解决方案

我们可以在Android Studio新建一个空的项目或者Hello World项目,这样Android Studio打开的项目就不是我们要测试的项目,就不会触发Android Studio的这一机制每个测试用例一运行完,“青年论坛”APP就会被自动退出并返回到手机的主界面