一种非侵入式的Flash播放器自动化测试方法技术

技术编号:23343142 阅读:23 留言:0更新日期:2020-02-15 03:48
一种非侵入式的Flash播放器自动化测试方法,其特征在于:使用ExternalInterface类与JavaScript通信,从而达到对外开放函数和事件的目的,ExternalInterface类中有两个方法:call和addCallback,call可以让Flash调用js里的方法,addCallback则是用来注册Flash函数以供JavaScript调用。Flash按钮自动化点击的实现方法:使用图像匹配技术获取按钮中心点在当前屏幕中的坐标,然后对该坐标进行点击操作。本发明专利技术与已有技术相比,具有能支持当前主流的Flash版本、能用于线上版本的自动化验证、无需要注入任何第三方文件就能完成测试的优点。

A non-invasive automatic test method for Flash Player

【技术实现步骤摘要】
一种非侵入式的Flash播放器自动化测试方法
本专利技术涉及计算机领域,特别是播放器自动化测试技术。
技术介绍
Flash播放器仍然是当今主流的web播放器之一,特别是在线教育行业,Flash播放器相比于H5播放器有天然的视频防盗优势,深受大家喜爱。Flash播放器功能繁多,如果仅仅依靠人工测试,将难以保证测试质量及覆盖度,还会耗费大量测试时间,无法实现快速发版。Flash播放器自动化测试的传统方案是:向Flex工程注入SeleniumFlexAPI.swc(下载地址:http://sourceforge.net/projects/seleniumflexapi/),并重新编译打包,使Flash播放器内部的函数和事件可以开放给JavaScript(简称JS,下同)调用,以此来控制Flash播放器。该方案的缺点:1、SeleniumFlexAPI.swc已经很久没更新,似乎已不支持当前主流的Flash版本;2、因为测试用的Flash播放器版本要注入SeleniumFlexAPI.swc并重新编译,而线上版本不应注入该文件,导致测试和线上所用版本不一致,因此该方案只能用于上线前的测试,无法用于线上版本的自动化验证;3、不排除SeleniumFlexAPI.swc污染源码的可能性。
技术实现思路
本专利技术的专利技术目的在于提供一种能支持当前主流的Flash播放器版本、能用于线上版本的自动化验证、无需要注入任何第三方文件就能完成测试的非侵入式的Flash播放器自动化测试方法。r>本专利技术是这样实现的:使用ExternalInterface类与JS通信,从而达到对外开放函数和事件的目的,ExternalInterface类中有两个方法:call和addCallback,call可以让Flash播放器调用JS里的方法,addCallback则是用来注册Flash播放器函数以供JS调用,Flash播放器按钮自动化点击的实现方法:使用图像匹配技术获取按钮中心点在当前屏幕中的坐标,然后对该坐标进行点击操作,测试验证的基本原则:1、尽量使用Flash播放器的原生方法进行结果验证;2、验证函数时,使用Flash播放器的事件来复检;本专利技术与已有技术相比,具有1、可规避传统方案的三大缺点;2、极速测试,快速响应;3、避免播放器重复编译打包(已有方法是:测试用的播放器版本要注入SeleniumFlexAPI.swc并重新编译打包,而线上版本不应注入该文件,从而导致播放器需要重复编译打包)。具体实施方式使用ExternalInterface类与JS通信,从而达到对外开放函数和事件的目的,ExternalInterface类中有两个方法:call和addCallback,call可以让Flash播放器调用JS里面的方法(1、导入包(importflash.external.ExternalInterface;);2、使用ExternalInterface.call("JS函数名称",参数)进行调用,其返回的值就是JS函数所返回的值),addCallback则是用来注册Flash播放器函数以供JS调用(1、导入包(importflash.external.ExternalInterface;);2、在initApp中使用ExternalInterface.addCallback("用于JS调用的函数名",As中的函数名)进行注册下;3、JS中就可以用document.getElementById("Flas在Html中的ID").注册时设置的函数名(参数)进行调用),Flash播放器按钮自动化点击的实现方法:使用图像匹配技术获取按钮中心点在当前屏幕中的坐标,然后对该坐标进行点击操作,测试验证的基本原则:1、尽量使用Flash播放器的原生方法进行结果验证;2、验证函数时,使用Flash播放器的事件来复检;以测试播放按钮为例,当视频处于暂停状态时(需对暂停状态进行验证,思路可参考下面的内容),使用JS调用Flash播放器的函数来获取当前的播放进度x1;对屏幕进行截图获得图片a,使用图像匹配技术判断图a中是否存在播放按钮,若存在则获取播放按钮中心点的坐标,并点击该坐标;再次截图获得图片b,判断图b中是否存在暂停按钮,若存在则等待十秒,十秒后使用JS调用Flash播放器的函数来获取当前的播放进度x2;若x2-x1>1,且成功触发Flash的恢复播放事件,则认为播放成功,播放按钮有效。本文档来自技高网...

【技术保护点】
1.一种侵入式的Flash播放器自动化测试方法,其特征在于:/n使用ExternalInterface类与JavaScript通信,从而达到对外开放函数和事件的目的,ExternalInterface类中有两个方法:call和addCallback,call可以让Flash播放器调用js里的方法,addCallback则是用来注册Flash播放器函数以供JavaScript调用,Flash播放器按钮自动化点击的实现方法:使用图像匹配技术获取按钮中心点在当前屏幕中的坐标,然后对该坐标进行点击操作,/n测试验证的基本原则:/n1、尽量使用Flash播放器的原生方法进行结果验证;/n2、验证函数时,使用Flash播放器的事件来复检。/n

【技术特征摘要】
1.一种侵入式的Flash播放器自动化测试方法,其特征在于:
使用ExternalInterface类与JavaScript通信,从而达到对外开放函数和事件的目的,ExternalInterface类中有两个方法:call和addCallback,call可以让Flash播放器调用js里的方法,addCallback...

【专利技术属性】
技术研发人员:赖志能黄海亮梁瑛玮洪行健李长杰冷冬丁一
申请(专利权)人:广州易方信息科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1