gpt4 book ai didi

selenium - 录制 Protractor e2e 测试的视频

转载 作者:行者123 更新时间:2023-12-03 10:06:26 27 4
gpt4 key购买 nike

我使用 Protractor 和 gulp 来测试一个角度应用程序。

我正在寻找 record videos for my Protractor e2e tests 的方法这样我就可以将它们播放为 .mp4 或任何其他可以在 Windows 10 上打开的形式。

有没有人做到这一点?您能否建议一些有用的链接或代码?

最佳答案

有一个 npm 包允许您使用 ffmpeg 二进制文件记录 Protractor e2e 测试:https://www.npmjs.com/package/protractor-video-reporter

它还会为视频中的每个规范名称生成字幕,以便您快速了解正在运行的测试并查看哪个测试成功/失败。

您唯一需要做的就是在 protractor-config.js 文件中添加一个新的报告器。

您可以录制一个窗口或整个桌面。

使用 protractor-video-reporter 的 0.3.0 版,我还必须重写它的内部 jasmineStarted 函数才能重命名输出的视频名称和扩展名(因为我无法播放 .mov)

这是我在 Windows 10 上的当前配置:

...
onPrepare: () => {

...
//TODO remove function override to be able to change the single video containing all spec's name when PR merged
//TODO https://github.com/tomyam1/protractor-video-reporter/pull/18
VideoReporter.prototype.jasmineStarted = function() {
var self = this;
if (self.options.singleVideo) {
var videoPath = path.join(self.options.baseDirectory, 'protractor-specs.avi');

self._startScreencast(videoPath);

if (self.options.createSubtitles) {
self._subtitles = [];
self._jasmineStartTime = new Date();
}
}
};

jasmine.getEnv().addReporter(new VideoReporter({
baseDirectory: path.normalize(path.join(__dirname, '../testresults/videos/')),
createSubtitles: true,
singleVideo: true,
ffmpegCmd: path.normalize('./node_modules/ffmpeg-binaries/bin/ffmpeg.exe'),
ffmpegArgs: [
'-f', 'gdigrab',
'-framerate', '24',
'-video_size', 'wsxga',
'-i', 'desktop',
'-q:v','10',
]
}));

},
...

您可以使用 ffmegArgs 来满足您的需求。有些参数必须按照一定的顺序定义,否则,如果参数有错误,ffmpeg 将静默终止并且不会录制任何视频。发生这种情况时,如果在此包的 VideoReporter.js 文件中启用调试,则可以从 ffmpeg 进程输出错误消息:
(node_modules/protractor-video-reporter/lib/VideoReporter.js)
...
function VideoReporter(options) {

var self = this;

debug.enabled = true;
...

在 Mac OSX 上,捆绑的 ffmpeg 二进制文件似乎不包含 qttask 或 avfoundation,因此我不得不使用 brew 手动安装它:
brew install ffmpeg --with-libass --with-fontconfig

这是我当前的 Mac OSX 配置:
         jasmine.getEnv().addReporter(new VideoReporter({
baseDirectory: path.normalize(path.join(__dirname, '../testresults/videos/')),
createSubtitles: true,
singleVideo: true,
ffmpegCmd: path.normalize('/usr/local/bin/ffmpeg'),
ffmpegArgs: [
'-f', 'avfoundation',
'-i', '1',
'-pix_fmt','yuv420p',
'-r','24',
'-video_size', 'woxga',
'-q:v','10',
]
}));

快乐的 e2e 录制! :)

关于selenium - 录制 Protractor e2e 测试的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38860261/

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