在使用基于Instrumentation测试框架如robotium时,Test run failed: Instrumentation run failed due to 'Process crashed.'这个报错估计大多数人都遇到过,Android的应用是以Linux进程的概念在运行的,而Instrumentation与被测应用运行在同一个进程中,当被测应用的进程在Instrumentation本身退出前被关闭了,则会抛出Test run failed: Instrumentation run failed due to 'Process crashed.'这样的错误。
测试过程中引起这种情况的主要有两大类:
一、被测工程或测试工程本身代码运行异常导致
这类比较好办,首先手动运行被测的应用,没问题的话就可以排除了。然后看看运行时的错误日志,检查下测试工程的配置之类,一般就可以很快定位到。
二、被测应用的主Activity在调用onDestory()方法时有调用如android.os.Process.killProcess(android.os.Process.myPid())或System.exit(0)这种退出进程的方法
这种情况应该是大多数导致Test run failed: Instrumentation run failed due to 'Process crashe