有没有办法控制MSTEST视频重新编码文件名的名称或带有测试名称的文件夹名称。它似乎每次都会生成不同的guid,因此很难将测试与相应的视频录制文件进行映射。
我能看到的唯一解决方案是读取TRX文件并将guid映射到测试名称。
有什么建议吗?
答案 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分钟时为您启动新视频。