如何将HTML5视频元素伪造为错误以测试错误处理

shr*_*ans 5 javascript error-handling html5 html5-video

我目前正在开发HTML5视频播放器,并连接了错误事件侦听器,但是到目前为止,还没有错误。

有没有办法伪造/模拟错误,以测试它是否正常工作?

也许我可以调用将其强制出错的方法?

小智 4

没有方法可以从浏览器内模拟错误。您必须设置环境本身来模拟错误(包括error事件abort):

  • 创建两个有错误的文件:一个有容器错误(截断文件大小),另一个有编码错误(十六进制编辑文件并覆盖部分数据)
  • 另外使用指向不存在文件的 URL
  • 设置一个可以终止文件服务或关闭测试站点的服务器脚本
  • 设置可以禁用网络接口的脚本

然后针对每个场景运行特定测试以查看代码的行为方式。

可以调度自定义事件,但问题是它不会阻止浏览器加载文件,这意味着您仍然可以获得加载事件等,这会发生冲突。

可以abort通过在视频播放时更改视频源来生成事件 - 这可能是您需要处理的事情(如果您允许交换同一媒体元素的源),因为在这种情况下从技术上来说这不是一个错误。