gpt4 book ai didi

c# - 使用 Expression Encoder 4 SDK 记录 Selenium 测试执行在构建服务器上失败

转载 作者:太空狗 更新时间:2023-10-29 20:38:45 26 4
gpt4 key购买 nike

我们每晚在我们的 TeamCity 构建服务器上运行 Selenium 测试。

我们有一些测试在夜间运行期间间歇性地失败。

失败测试的截图并没有真正给出答案,所以我想记录失败测试的执行。

我已经实现了以下内容来记录我要调查的测试的测试执行情况。

        ScreenCaptureJob = new ScreenCaptureJob
{
CaptureRectangle = Screen.PrimaryScreen.Bounds,
ShowFlashingBoundary = true,
OutputPath = outputPath
};

ScreenCaptureJob.Start();

Debug.WriteLine($"Status: {ScreenCaptureJob.Status}");

Test code...

ScreenCaptureJob.Stop();

如果测试失败,我会对捕获的视频进行编码并保存。当我在本地运行测试时,这工作正常。

但是,当我在构建服务器上运行它时,ScreenCaptureJob 的状态为 NotStarted。

没有临时文件写入光盘,因此当测试失败时没有任何内容可以编码。

        MediaItem mediaItem = new MediaItem(fileName);
Job job = new Job();
job.MediaItems.Add(mediaItem);
job.ApplyPreset(Presets.VC1HD720pVBR);
job.OutputDirectory = outputPath;
job.Encode();

当我尝试从临时文件创建新的 MediaItem 时出现异常。

TestCleanup method UITests.FailingTest.TestCleanup threw exception. Microsoft.Expression.Encoder.InvalidMediaFileException: Microsoft.Expression.Encoder.InvalidMediaFileException: File not found.

EE4 安装在构建服务器上,我已经用 EE4 程序本身测试了捕获。

有谁知道为什么 ScreenCaptureJob 无法在服务器上启动?

最佳答案

在 Windows Server 上运行测试需要您添加该功能

User Interfaces

Infrastructure > Desktop Experience

安装 Microsoft Expression Encoder 所需的缺失依赖项。

如果您已经执行此操作但不起作用,请阅读 this article ,它非常有帮助,并且有一个指向 GitHub 配置文件的链接,其中包含用于视频录制的代码。作者通过界面使用 ScreenCaptureJob,听起来不错。

关于c# - 使用 Expression Encoder 4 SDK 记录 Selenium 测试执行在构建服务器上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36334253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com