运行待测程序的基本思想:
通过某种方式(进程, 线程),从测试套间程序中运行待测程序(AUT:Application Under Test),以便于实现两个程序之间的通信。
要使用反射技术通过UI来测试Windows窗体,必须要在测试套间所在的进程内创建一个单独的线程来运行被测程序。如果不这么做,而是通过利用进程Process.Start()的方法:
string exePath = "..//..//..//AUT//bin//Debug//AUT.exe";
System.Diagnostics.Process.Start(exePath);
会有一定的问题产生,因为:
这种方法虽然可以把程序运行起来,但是测试套间不能直接和被测程序进行通信,因为测试程序和被测程序运行在不同的进程中。要让测试程序能够与被测程序进行通信,诀窍就是要在测试程序中为被测程序产生一个单独的线程。这样,测试程序与被测程序就能运行在同一个进程里,从而可以相互通信。