【发布时间】:2011-04-22 06:13:56
【问题描述】:
我有一个 GUI 应用程序,它需要一段时间来加载它的所有插件,然后才能供用户使用。
我想编写一个 C# 程序来测量此应用程序启动所用的时间。我认为 Process.WaitForInputIdle() 方法可以解决问题,但事实并非如此。进程一启动就退出。
我现在拥有的是这样的:
DateTime startTime = DateTime.Now;
Process myAppUnderTest = Process.Start("C:\\Program Files\\My App\app_under_test.ext");
myAppUnderTest.WaitForInputIdle(); //Wait until the application is idle.
DateTime endTime = DateTime.Now;
int elapsedTimeInSecs = endTime.Subtract(startTime).Seconds;
Console.WriteLine("Start up time (sec): {0}", elapsedTimeInSecs);
如何获得我想要的启动时间?
【问题讨论】:
-
首先,您可以使用 StopWatch 类 msdn.microsoft.com/en-us/library/… 而不是 DateTime。至于开始时间,是否允许更改测试应用的代码?
-
没有。我无法更改要测试的应用程序的代码。但如果可以的话,你有什么建议?
标签: c# .net performance-testing