我尝试从网站捕获一些动画并使用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)
这感觉就像一个非高效的黑客.那么有关如何使用startScreencast和screencastFrame正确的任何建议?
我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。但我不确定并在这一点上卡住了。