本技术涉及互联网,具体而言,涉及一种弹幕渲染测试方法、装置及系统。
背景技术:
1、随着移动互联网的普及以及资费的降低,短视频以及直播等业务获得了空前的发展,游戏直播、户外直播、赛事直播等直播场景得到了广泛的运用。为了提高视频和直播的互动性,往往会在视频和直播画面上以弹幕的形式进行实时的互动和评论,可以通过检测弹幕的渲染效果确保弹幕可以在各种不同网络负载的直播间中都能正常显示。
2、在现有技术中,技术人员可以通过直播后台模拟数据的方法检测弹幕的渲染效果,但由于是在生产环境中进行测试,容易出现配置出错而导致测试数据发送给实际用户的情况,影响用户的使用体验。或者,技术人员可以通过拦截并修改浏览器中缓存的处理弹幕的代码(比如javascript代码)来伪造弹幕测试渲染效果,但线上代码通常经过压缩处理,修改的难度较大,并且,如果原站的版本更新,修改过的代码有可能失效,需要重新对其修改,工程量较大。且上述方法均需要技术人员参与测试,人力成本较大。
技术实现思路
1、为了至少克服现有技术中的上述不足,本技术的目的在于提供一种弹幕渲染测试方法、装置及系统。
2、第一方面,本技术实施例提供一种弹幕渲染测试方法,应用于通信连接的测试机、代理服务器及弹幕服务器,所述方法包括:
3、所述代理服务器监听所述测试机向所述弹幕服务器发送的握手请求,基于所述握手请求获取所述测试机与所述弹幕服务器的握手信息;
4、所述代理服务器拦截所述弹幕服务器发送的第一弹幕数据,基于所述第一弹幕数据和所述握手信息构造第二弹幕数据,并将所述第二弹幕数据发送至所述测试机;
5、所述测试机接收所述代理服务器发送的第二弹幕数据,监测所述第二弹幕数据的显示效果,基于所述显示效果评估所述测试机上直播界面对弹幕的渲染效果。
6、在一种可能的实现方式中,所述代理服务器监听所述测试机向所述弹幕服务器发送的握手请求,基于所述握手请求获取所述测试机与所述弹幕服务器的握手信息的步骤,包括:
7、所述代理服务器获取所述测试机发送的握手请求,并将所述握手请求转发至所述弹幕服务器;
8、所述代理服务器对所述握手请求进行解析处理,提取得到所述测试机与所述弹幕服务器的握手信息。
9、在一种可能的实现方式中,所述代理服务器拦截所述弹幕服务器发送的第一弹幕数据,基于所述第一弹幕数据和所述握手信息构造第二弹幕数据,并将所述第二弹幕数据发送至所述测试机的步骤,包括:
10、所述代理服务器拦截所述弹幕服务器向所述测试机发送的弹幕数据包,并基于所述弹幕数据包逆向获取弹幕协议;
11、基于所述弹幕协议及所述握手信息构造第二弹幕数据,并将所述第二弹幕数据发送至所述测试机。
12、在一种可能的实现方式中,所述代理服务器拦截所述弹幕服务器向所述测试机发送的弹幕数据包,并基于所述弹幕数据包逆向获取弹幕协议的步骤,包括:
13、所述代理服务器抓取所述弹幕数据包,并对所述弹幕数据包进行分析,得到协议信息;
14、基于所述协议信息模拟弹幕请求,并将所述弹幕请求发送至所述测试机,检测所述测试机是否正确响应所述弹幕请求;
15、若所述测试机未正确响应所述弹幕请求,对所述协议信息进行修改,并回到所述基于所述协议信息模拟弹幕请求,并将所述弹幕请求发送至所述测试机,检测所述测试机是否正确响应所述弹幕请求的步骤;
16、若所述测试机正确响应所述弹幕请求,将所述测试机正确响应所述弹幕请求时的协议信息作为所述弹幕协议。
17、在一种可能的实现方式中,所述代理服务器监听所述测试机向所述弹幕服务器发送的握手请求,基于所述握手请求获取所述测试机与所述弹幕服务器的握手信息的步骤之前,所述方法还包括构造测试环境的步骤,所述步骤包括:
18、配置所述测试机的测试环境,并将弹幕数据通道指向所述代理服务器;
19、开启所述代理服务器的代理服务,并配置测试弹幕的数据,所述测试弹幕的数据包括测试弹幕发送速度、文本及预设时间内发送的所述测试弹幕数量。
20、在一种可能的实现方式中,所述配置所述测试机的测试环境,并将弹幕数据通道指向所述代理服务器的步骤,包括:
21、所述测试机安装由所述代理服务器生成的证书,并修改本地的配置域名解析文件,将弹幕数据通道的域名从所述弹幕服务器的主机地址替换成所述代理服务器的主机地址。
22、在一种可能的实现方式中,所述测试机接收所述代理服务器发送的第二弹幕数据,监测所述第二弹幕数据的显示效果,基于所述显示效果评估所述测试机上直播界面对弹幕的渲染效果的步骤包括:
23、所述测试机接收所述代理服务器发送的第二弹幕数据,统计预设时间内收到的弹幕的数量,并监测所述直播界面在显示所述第二弹幕数据时的显示效果,基于统计数量和显示效果评估所述所述测试机上直播界面对弹幕的渲染效果。
24、第二方面,本技术实施例还提供一种弹幕渲染测试方法,应用于代理服务器,所述代理服务器与测试机及弹幕服务器通信连接,所述方法包括:
25、监听所述测试机向所述弹幕服务器发送的握手请求,基于所述握手请求获取所述测试机与所述弹幕服务器的握手信息;
26、拦截所述弹幕服务器发送的第一弹幕数据,基于所述弹幕数据和所述握手信息构造第二弹幕数据,并将所述第二弹幕数据发送至所述测试机,由所述测试机接收所述代理服务器发送的第二弹幕数据,监测所述第二弹幕数据的显示效果,并基于所述显示效果评估所述测试机上直播界面对弹幕的渲染效果。
27、第三方面,本技术实施例还提供一种弹幕渲染测试装置,所述装置包括:
28、监听模块,用于监听测试机向弹幕服务器发送的握手请求,基于所述握手请求获取所述测试机与所述弹幕服务器的握手信息;
29、弹幕构造模块,用于拦截所述弹幕服务器发送的第一弹幕数据,基于所述弹幕数据和所述握手信息构造第二弹幕数据,并将所述第二弹幕数据发送至所述测试机,由所述测试机接收代理服务器发送的第二弹幕数据,监测所述第二弹幕数据的显示效果,并基于所述显示效果评估所述测试机上直播界面对弹幕的渲染效果。
30、第四方面,本技术实施例还提供一种弹幕服务器性能测试系统,所述系统包括通讯连接的测试机及代理服务器。
31、所述代理服务器用于监听所述测试机向所述弹幕服务器发送的握手请求,基于所述握手请求获取所述测试机与所述弹幕服务器的握手信息,并用于拦截所述弹幕服务器发送的第一弹幕数据,基于所述弹幕数据和所述握手信息构造第二弹幕数据,并将所述第二弹幕数据发送至所述测试机。
32、所述测试机用于接收所述代理服务器发送的第二弹幕数据,监测所述第二弹幕数据的显示效果,基于所述显示效果评估所述测试机上直播界面对弹幕的渲染效果。
33、基于上述任意一个方面,本技术实施例提供的弹幕渲染测试方法、装置及系统,通过监测测试机对代理服务器伪造的第二弹幕数据的显示效果,来评估测试机上直播界面对弹幕的渲染效果,其中,在代理服务器伪造各种参数的第二弹幕数据的过程中,无需侵入和修改原站的代码即可模拟各种场景的弹幕流,获得更真实的测试结果,可以减少测试工程量。测试机可以独立检测直播界面对弹幕的渲染效果,不影响其他线上用户和弹幕服务器的负载。此外,上述实现测试过程可以由程序自动进行测试,减少人力成本。