小编t_i*_*_io的帖子

无头镀铬捕捉屏幕视频或动画

我尝试从网站捕获一些动画并使用ffmpeg将它们拼接在一起.据我所知,文档startScreencast是要走的路.

如果我明白这一点,我就可以开始截屏了

await Page.startScreencast({format: 'png', everyNthFrame: 1});

用它来听每个传入的帧

Page.screencastFrame(image =>{
  const {data, metadata} = image;
  console.log(metadata);
});
Run Code Online (Sandbox Code Playgroud)

但它永远不会打印出来.所以我认为它没有被调用.

我用这样的东西归档了我的目标:

let counter = 0;
while(counter < 500){
  await Page.startScreencast({format: 'png', everyNthFrame: 1});
  const {data, metadata} = await Page.screencastFrame();
  console.log(metadata);
  counter += 1;
}
Run Code Online (Sandbox Code Playgroud)

这感觉就像一个非高效的黑客.那么有关如何使用startScreencastscreencastFrame正确的任何建议?

video google-chrome ffmpeg headless screen-capture

8
推荐指数
1
解决办法
6834
查看次数

如何在测试中覆盖 django CACHE 设置

django.core.cache.backends.dummy.DummyCache在我的测试中使用,但是,有一个测试需要实际缓存,所以我想覆盖这个特定测试的 CACHE 设置。我想测试在使用cache_page url 配置的 url 中调用DRF视图。

在我的测试归档此我用的是@override_settings这样的:@override_settings(CACHES={'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}})。如果我只运行这个测试,这很好用。但是现在其他一些测试失败了。在Django 文档中

我发现一个警告说:

更改缓存设置是可能的,但如果您使用使用缓存的内部组件,例如 django.contrib.sessions,则有点棘手。例如,您必须在使用缓存会话并覆盖 CACHES 的测试中重新初始化会话后端。

所以我假设我必须以某种方式重新初始化中间件堆栈或 urlconf。但我不确定并在这一点上卡住了。

testing django settings caching unit-testing

7
推荐指数
0
解决办法
1739
查看次数