在各种百度之后,发现视频业务的自动化案例几乎木有(当然是根据我搜索的结果,如图童鞋有案例,方便的情况下欢迎拿来拍我),最近公司又要实行自动化实时视频流播放功能的自动化,几经思索,发现比较烧脑,特来发帖,请教各位童鞋对视频业务自动化的想法,我先抛出自己接到这个活的几点想法:
视频业务是否真的需要自动化:
模拟人工操作页面这点实现上木有问题,视频业务实现上的难点是脱离人工验证,怎么判断我的请求正确返回了,不同的取流 url 是否已经生效了,这个在人工测试根本不是事儿,而且一目了然,程序判断就显得实现代价比较大(目前想到的验证方式:1.抓取网络包,分析取流 url;2.取到的流下载的本地,让开发弄个帧分析程序,分析流的正确性,这两种的验证方式对测试环境的纯净性要求比较大,而且多任务并发也会有问题),从个人角度是不赞成视频业务自动化,但是视频业务作为目前产品的核心业务,还是有实行自动化的必要,并非追求自动化实现率,而是想作为可持续集成的一环,可测试版本的功能基线,避免每次提交版本的反复增量更新
既然还是要实行自动化,那么怎么样实现自动化:
方案一:通过 UI 自动化实行模拟人工测试,这点是第一个冒出的想法,但是 UI 不稳定行和可维护性让我比较担忧,暂时搁置
方案二:直接通过 rtsp 协议向不同服务器发起请求,这样可以实现几乎 100% 的自动化,虽然相对前端验证环节缺少了一环,还是比较倾向这个方案的
3.实现了自动化,那么如何验证 Test Case 通过与否,这块是整个方案中难点也是重点
实时视频流的测试结果也是实时生成,主要是卡在这里,这块除前文说到的网络抓包和帧分析想了好久也没想出比较好的验证方案,有业内人士还请指点一二