如何在静态文件夹中生成MSTEST结果

时间:2011-12-08 23:16:51

标签: mstest coded-ui-tests

有没有办法控制MSTEST视频重新编码文件名的名称或带有测试名称的文件夹名称。它似乎每次都会生成不同的guid,因此很难将测试与相应的视频录制文件进行映射。

我能看到的唯一解决方案是读取TRX文件并将guid映射到测试名称。

有什么建议吗?

Mstest Result Structure

1 个答案:

答案 0 :(得分:1)

如果您不反对手工操作,那很容易。我遇到了同样的问题,需要它们可以预测,所以我可以通过电子邮件发送视频链接。最后,我的解决方案最终是手动编写功能代码。它有点牵扯,但并不太难。

首先,您需要安装Expression Encoder 4

然后,您需要将这些引用添加到您的项目中:

Microsoft.Expression.Encoder
Microsoft.Expression.Encoder.Api2
Microsoft.Expression.Encoder.Types
Microsoft.Expression.Encoder.Utilities

接下来,您需要添加以下包含语句:

using Microsoft.Expression.Encoder.Profiles;
using Microsoft.Expression.Encoder.ScreenCapture;

然后您可以使用[TestInitialize]和[TestCleanup]来定义正确的行为。这些方法将分别在每个测试的开始和结束时运行。这可以这样做:

    [TestInitialize]
    public void startVideoCapture()
    {
            screenCapJob.CaptureRectangle = RectangleSelectionUtilities.GetScreenRect(0);
            screenCapJob.CaptureMouseCursor = true;
            screenCapJob.ShowFlashingBoundary = false;

            screenCapJob.OutputScreenCaptureFileName = "path you want to save to";

            screenCapJob.Start();
    }

    [TestCleanup]
    public void stopVideoCapture()
    {
            screenCapJob.Stop();
    }

显然这段代码需要一些错误和边缘案例处理,但它应该让你开始。 您还应该知道Expression Encoder 4的免费版本将每个视频文件限制为10分钟,因此您可能需要制作一个计时器,以便在您达到10分钟时为您启动新视频。