C#-Stopwatch

Stopwatch类位于System.Diagnostics命名空间,是用来度量程序运行时间,对于自动化测试来说,利用Elapsed属性,就可以度量完成测试用例所应用的时间,并添加到log信息里面。

Stopwatch提供了几个方法用以控制stopwatch对象。Start方法开始一个计时操作,stop方法停止计时。此时如果第二次使用start方法,将继续计时,最终计时的结果为两次计时的累加。为避免这种情况,在第二次计时时使用Reset方法将对象归零。使用IsRunning可以确定stopwatch的当前状态。

结束计时后,读取stopwatch的结果,stopwatch类提供了以下属性:

·         Elapsed:返回一个TimeSpan对象,表示时间间隔;

·         ElapsedMillinseconds:返回计时经过的微妙数;

·         ElapsedTicks:返回计时经过的计时器刻度(timer tick)数。计时器刻度时stopwatch对象可能的最小量度单位。计时器刻度时间的长度由特定的计算机和操作系统确定。

下面时StopwatchNlog结合的一段示例:

     Log.SetConfig();

 

            Log.Info("Info");

            Log.Warn("Warn");

            Log.Error("Error");

 

 

            Log.ChangleConfig();

 

            Stopwatch during = new Stopwatch();

            during.Start();

            string starttime = DateTime.Now.ToString();

            //logger.Info("Starttime" + ": " + starttime);

 

 

            Log.Info("Info");

            Log.Warn("Warn");

            Log.Error("Error");

 

            for (int i = 0; i < 4; i++)

            {

                Thread.Sleep(1000);

                Log.Info("Info");

                Log.Warn("Warn");

                Log.Error("Error");

            }

 

            Log.Info("Starttime" + ": " + starttime);

            Log.Info("EndTime" + ": " + DateTime.Now);

 

            during.Stop();

 

            Log.Info("During" + ": " + during.Elapsed.ToString());

            Log.Info("Warn: " + Log._warn_count);

            Log.Info("Error: " + Log._error_count);

 

 

你可能感兴趣的:(timer,String,测试)