Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR AUTOMATED TESTING OF EMBEDDED BROWSER
Document Type and Number:
WIPO Patent Application WO/2012/075890
Kind Code:
A1
Abstract:
A method and a system for automated testing of an embedded browser. The method comprises: entering a test portal landing page via an embedded browser; upon receiving on the test portal landing page a test command from a user, asynchronously downloading an automated test script file from a server; when the download is completed, saving the automated test script file; executing the automated test script file, completing the testing of the embedded browser. Employment of the present invention allows for automatic key test of the embedded browser.

Inventors:
XU JIAHONG (CN)
FU MINGWEI (CN)
ZHU LVLIANG (CN)
Application Number:
PCT/CN2011/082846
Publication Date:
June 14, 2012
Filing Date:
November 24, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
IPANEL TV INC (CN)
XU JIAHONG (CN)
FU MINGWEI (CN)
ZHU LVLIANG (CN)
International Classes:
H04L12/26; H04L29/08
Foreign References:
CN102055623A2011-05-11
CN101894071A2010-11-24
CN1521996A2004-08-18
US20070006036A12007-01-04
Attorney, Agent or Firm:
SHENPAT INTELLECTUAL PROPERTY AGENCY (CN)
深圳市深佳知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种实现嵌入式浏览器自动测试的方法, 其特征在于, 包括: 通过嵌入式浏览器进入测试入口过渡页面;

在所述测试入口过渡页面接收到用户的测试指令后,通过异步方式从服务 器下载自动测试脚本文件;

下载完成后, 保存所述自动测试脚本文件;

运行所述自动测试脚本文件, 完成对所述嵌入式浏览器的测试。

2、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括:

在所述测试入口过渡页面中设置测试按鈕,以使用户通过点击所述测试按 鈕发送所述测试指令。

3、 如权利要求 1所述的方法, 其特征在于, 所述自动测试脚本文件为包 括按键事件的纯文本文件, 每个按键事件由三元组定义, 包括: 时间间隔、 类 型、 键值。

4、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括:

预先生成所述自动测试脚本文件,并将所述自动测试脚本文件上传给所述 服务器。

5、 如权利要求 1所述的方法, 其特征在于, 所述通过异步方式从服务器 下载自动测试脚本文件包括:

调用按键机器人, 所述按键机器人为 JavaScript对象;

所述按键机器人向服务器发送脚本文件下载请求;

所述按键机器人通过异步方式从服务器接收所述自动测试脚本文件。

6、 如权利要求 1至 5任一项所述的方法, 其特征在于, 所述方法还包括: 重复运行所述自动测试脚本文件, 直至达到设定的运行次数。

7、 如权利要求 1至 5任一项所述的方法, 其特征在于, 所述方法还包括: 设置终止按键;

在运行所述自动测试脚本文件之前,拦截除所述终止按键之外的外部用户 按键消息;

重复运行所述自动测试脚本文件, 直至接收到外部用户的终止按键的消 8、 一种实现嵌入式浏览器自动测试的系统, 其特征在于, 包括: 测试入口单元, 用于通过嵌入式浏览器进入测试入口过渡页面; 指令接收单元, 用于在所述测试入口过渡页面接收用户的测试指令; 下载单元, 用于在所述指令接收单元接收到用户的测试指令后,通过异步 方式从服务器下载自动测试脚本文件;

保存单元, 用于在下载完成后, 保存所述自动测试脚本文件;

运行单元, 用于运行所述自动测试脚本文件, 完成对所述嵌入式浏览器的 测试。

9、 如权利要求 8所述的系统, 其特征在于,

所述测试入口过渡页面中设置有测试按鈕,以使用户通过点击所述测试按 鈕发送所述测试指令。

10、 如权利要求 8或 9所述的系统, 其特征在于,

所述运行单元, 具体用于重复运行所述自动测试脚本文件;

所述系统还包括:

计数单元, 用于统计所述自动测试脚本文件的运行次数, 并在所述运行次 数达到设定的运行次数后, 通知所述运行单元停止运行所述自动测试脚本文 件。

11、 如权利要求 8或 9所述的系统, 其特征在于,

所述运行单元, 具体用于重复运行所述自动测试脚本文件;

所述系统还包括:

控制单元, 用于在所述运行单元运行所述自动测试脚本文件之前,拦截除 预先设置的终止按键之外的外部用户按键消息,并在接收到外部用户的所述终 止按键的消息后, 通知所述运行单元停止运行所述自动测试脚本文件。

Description:
实现嵌入式浏览器自动测试的方法及系统

本申请要求于 2010 年 12 月 8 日提交中国专利局、 申请号为 201010579068.1、 发明名称为"实现嵌入式浏览器自动测试的方 及系统 "的中 国专利申请的优先权, 其全部内容通过引用结合在本申请中。

技术领域

本发明涉及嵌入式浏览器技术领域, 更具体地说, 涉及一种实现嵌入式浏 览器自动测试的方法及系统。

背景技术

随着 Internet普及率的迅猛增长, 浏览器成为了获取信息的重要工具。 另 一方面, 随着消费电子、 计算机、 通信一体化的趋势, 嵌入式浏览器也随之出 现。 嵌入式浏览器可以广泛用于 Intemet-TV、 iDVD、 Web终端、 数字电视机 顶盒、掌上电脑等各种信息电器和便携式网络 终端中,在工业控制领域也有着 广泛的应用前景。

嵌入式浏览器环境下,一般没有鼠标,遥控器 的按键输入是用户与系统的 唯一交互。 为此, 在进行浏览器测试时, 需要人工多次进行按键操作, 不仅费 时, 而且无法实现自动测试。

发明内容

本发明实施例提供一种实现嵌入式浏览器自动 测试的方法及系统,以实现 对嵌入式浏览器的自动按键测试。

为此, 本发明实施例提供如下技术方案:

一种实现嵌入式浏览器自动测试的方法, 包括:

通过嵌入式浏览器进入测试入口过渡页面;

在所述测试入口过渡页面接收到用户的测试指 令后,通过异步方式从服务 器下载自动测试脚本文件;

下载完成后, 保存所述自动测试脚本文件;

运行所述自动测试脚本文件, 完成对所述嵌入式浏览器的测试。

优选地, 所述方法还包括:

在所述测试入口过渡页面中设置测试按鈕,以 使用户通过点击所述测试按 鈕发送所述测试指令。 优选地, 所述自动测试脚本文件为包括按键事件的纯文 本文件,每个按键 事件由三元组定义, 包括: 时间间隔、 类型、 键值。

优选地, 所述方法还包括:

预先生成所述自动测试脚本文件,并将所述自 动测试脚本文件上传给所述 服务器。

优选地, 所述通过异步方式从服务器下载自动测试脚本 文件包括: 调用按键机器人, 所述按键机器人为 JavaScript对象;

所述按键机器人向服务器发送脚本文件下载请 求;

所述按键机器人通过异步方式从服务器接收所 述自动测试脚本文件。 优选地, 所述方法还包括:

重复运行所述自动测试脚本文件, 直至达到设定的运行次数。

优选地, 所述方法还包括:

设置终止按键;

在运行所述自动测试脚本文件之前,拦截除所 述终止按键之外的外部用户 按键消息;

重复运行所述自动测试脚本文件, 直至接收到外部用户的终止按键的消 一种实现嵌入式浏览器自动测试的系统, 包括:

测试入口单元, 用于通过嵌入式浏览器进入测试入口过渡页面 ; 指令接收单元, 用于在所述测试入口过渡页面接收用户的测试 指令; 下载单元, 用于在所述指令接收单元接收到用户的测试指 令后,通过异步 方式从服务器下载自动测试脚本文件;

保存单元, 用于在下载完成后, 保存所述自动测试脚本文件;

运行单元, 用于运行所述自动测试脚本文件, 完成对所述嵌入式浏览器的 测试。

优选地, 所述测试入口过渡页面中设置有测试按鈕, 以使用户通过点击所 述测试按鈕发送所述测试指令。

优选地, 所述运行单元, 具体用于重复运行所述自动测试脚本文件; 相应地, 所述系统还包括: 计数单元, 用于统计所述自动测试脚本文件的运行次数, 并在所述运行次 数达到设定的运行次数后, 通知所述运行单元停止运行所述自动测试脚本 文 件。

优选地, 所述运行单元, 具体用于重复运行所述自动测试脚本文件, 相应地, 所述系统还包括:

控制单元, 用于在所述运行单元运行所述自动测试脚本文 件之前,拦截除 预先设置的终止按键之外的外部用户按键消息 ,并在接收到外部用户的所述终 止按键的消息后, 通知所述运行单元停止运行所述自动测试脚本 文件。

本发明实施例提供的实现嵌入式浏览器自动测 试的方法及系统,利用预先 建立的测试入口过渡页面,通过嵌入式浏览器 进入测试入口过渡页面,在所述 测试入口过渡页面接收到用户的测试指令后, 通过异步方式从服务器下载自动 测试脚本文件, 下载完成后, 运行所述自动测试脚本文件, 完成对所述嵌入式 浏览器的测试,并且可以使嵌入式浏览器测试 时所需的模拟按键不依赖于具体 的应用页面, 不会产生对所述应用页面的影响。

附图说明

为了更清楚地说明本发明实施的技术方案,下 面将对实施例中所需要使用 的附图作筒单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的一些实 施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其他的附图。

图 1是本发明实施例实现嵌入式浏览器自动测试 方法的流程图; 图 2是本发明实施例实现嵌入式浏览器自动测试 系统的一种结构示意 图;

图 3 是本发明实施例实现嵌入式浏览器自动测试的 系统的另一种结构示 意图;

图 4是本发明实施例实现嵌入式浏览器自动测试 系统的另一种结构示 意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实 施例中的技术方案,下面将 结合本发明实施例中的附图,对本发明实施例 中的技术方案进行清楚、 完整地 描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施 例。 基于本发明中的实施例, 本领域普通技术人员所获得的所有其他实施例 , 都应当属于本发明保护的范围。

在本发明实施例中, 通过预先建立的测试入口过渡页面,使嵌入式 浏览器 测试时所需的模拟按键不依赖于应用页面, 不会产生对应用页面的影响。

如图 1所示,是本发明实现嵌入式浏览器自动测试 方法的流程图, 包括 以下基本步骤:

步骤 101 , 通过嵌入式浏览器进入测试入口过渡页面;

步骤 102, 在所述测试入口过渡页面接收到用户的测试指 令后, 通过异步 方式从服务器下载自动测试脚本文件;

步骤 103 , 下载完成后, 保存所述自动测试脚本文件;

步骤 104,运行所述自动测试脚本文件,完成对所述 入式浏览器的测试。 在本发明实施例中, 所述自动测试脚本文件为包括按键事件的纯文 本文 件, 每个按键事件由三元组定义, 包括: 时间间隔、 类型、 键值。

比如, 设置所述自动测试脚本文件的格式如下:

以 #开始的行为注释行;

第一行为 #keyrobot, 用于识别脚本文件;

第二行为 # vers i 0 nN.M, N.M 为实际版本号, 用于后续升级;

每一行代表一次按键事件, 所述按键事件由三元组定义, 格式为 time,type,value, 其中:

第一个按键事件的 time 为 0, 其他按键事件的 time 为该按键事件与上 一次按键事件的时间差, 单位为 ms;

所有按键事件的 type 均为 KEY, 该字段是为了后续扩展其他用户类型; value 为实际键值。

根据上述格式, 假设自动测试脚本文件保存在 http://serverZkey.txt中, 其内容如下:

#keyrobot

#versionl.O 0,KEY,270;

1000,KEY,271; 1000,KEY,272;

当然, 本发明实施例并不限定所述自动测试脚本文件 的具体格式, 只要其 能够包含需要测试的按键事件即可。 而且, 在对嵌入式浏览器不同的测试中, 还可以对所述自动测试脚本文件进行扩展, 以模拟除按键之外的浏览器行为, 比如将其中的定义为 OPENURL功能。

在具体应用中, 所述自动测试脚本的生成方式可以有多种, 比如: 人工手 写方式生成, 或者通过其他脚本语言生成(例如根据 log 生成)等。

在本发明实施例中,利用从服务器上下载的自 动测试脚本文件实现对嵌入 式浏览器的自动测试, 而且,通过预先建立的测试入口过渡页面使嵌 入式浏览 器测试时所需的模拟按键不依赖于应用页面, 不会产生对应用页面的影响。

所述测试入口过渡页面可以是 html ( HyperText Mark-up Language , 超文 本标记语言或超文本链接标示语言 )格式的纯文本文件。 所述 html是目前网 络上应用最为广泛的语言, 也是构成网页文档的主要语言。 html 文本是由 HTML命令组成的描述性文本, html命令可以说明文字、 图形、 动画、 声音、 表格、 链接等。 html的结构包括头部(Head )、 主体(Body )两大部分, 其中 头部描述浏览器所需的信息, 而主体则包含所要说明的具体内容。

由于 JavaScript是一种广泛用于客户端 Web开发的脚本语言,能够实现大 部分的面向对象的功能, 按面向对象的方式操作 html 页面的对象 (如 document, window等等)。 为此, 在本发明实施例中, 可以利用 JavaScript给 所述测试入口过渡页面添加动态功能, 比如响应用户的各种操作。

具体地, 可以在所述测试入口过渡页面中可以设置测试 按鈕, 以使用户通 过点击所述测试按鈕发送所述测试指令。

在本发明实施例中, 进一步引入了按键机器人的概念, 所述按键机器人为

JavaScript对象。 在测试入口过渡页面通过调用按键机器人, 完成一系列操作。 因此, 可以通过 JavaScript控制所述按键机器人的行为。

比如, 假设所述测试入口过渡页面为 a.html, 内容如下: <html>

<head>

<script>

function openCBK(){

if(KeyRobot.status == 1){

KeyRobot.run(IRKEY_RED); else if (Key Robot, status == 2){

debug—string ('下载失败 '); else if (Key Robot, status == 3){

debug—string ('文件格式有误 '); else{

〃 可以定义更多的状态值, 对应不同的实际情况 function onClickTestO {

KeyRobot.open(

'http:〃 server/key .txt', openCBK);

</script>

</head>

<body>

<hl>a.html</hl>

<input type='button' onclick: OnClickTest ();' value='test' />

</body>

</html>

用户点击 a.html中的' test'按鈕,页面响应 onclick事件,执行 onClickTestO 函数, 所述 onClickTestO 函数执行以下操作:

调用 KeyRobot.open, 所述 KeyRobot.open为所述按键机器人执行下载操 作, 具体包括: 所述按键机器人可以通过一个下载模块向服务 器发送脚本文件 下载请求,在该请求中包含需要下载的自动测 试脚本文件路径及名称,如上所 示为 http://server/key.txt; 下载模块接收所述服务器发送的自动测试脚本 文件; 在所述自动测试脚本文件接收完成后,所述下 载模块回调通知所述按键机器人 文件接收完毕。 所述按键机器人收到通知后, 保存所述自动测试脚本文件, 并 将自身的当前状态改变为 "Γ 。

需要说明的是, 在本发明实施例中, 可以采用 http方式从服务器下载自动 测试脚本文件, 当然, 如果所述嵌入式浏览器支持其他协议, 也可以采用相应 的下载方式, 比如 ftp ( File Transfer Protocol , 文件传输协议)方式。

所述测试入口过渡页面执行 openCBK() 函数, 所述 openCBK()函数执行 以下操作:

检测所述按键机器人的状态即 KeyRobot.status , 如果所述 KeyRobot.status 为 1 , 则调用 KeyRobot.run , 所述 KeyRobot.run为所述按键机器人执行按键测试 操作, 具体地可以按照所述自动测试脚本文件的内容 执行相应的操作, 比如可 以包括以下过程:

( 1 )拦截外部用户按键消息, 也就是说, 禁止响应用户的按键操作; ( 2 ) 解析自动测试脚本文件,取下一个按键事件的 消息时间间隔及键值; ( 3 ) 检查当前时间与上一次按键事件发送时间的间 隔; 如果间隔大于脚 本中下一按键事件的消息时间间隔, 则发送模拟按键; 否则等待时间到达; 重复上述步骤(2 ) 至(4 ) , 直至自动测试脚本文件所有模拟事件都发 送完毕。

当然, 为了满足不同测试环境的应用需求, 比如对某个或多个按键操作的 测试需要重复多次。 为此, 在本发明实施例中, 可以通过设定所述自动测试脚 本文件的运行次数来实现; 另外, 还可以通过设置特殊按键的方式来实现, 比 如, 将键 "A"作为终止键, 这样, 在上述步骤( 1 )中就需要拉截除按键 "A" 之外的用户按键消息。在需要停止测试时,用 户只需按下遥控器上的按键" A" , 即可终止测试过程。

可见, 本发明实施例实现嵌入式浏览器自动测试的方 法, 利用预先建立的 测试入口过渡页面,在通过嵌入式浏览器进入 测试入口过渡页面后,在所述测 试入口过渡页面接收到用户的测试指令后,通 过异步方式从服务器下载自动测 试脚本文件, 下载完成后, 运行所述自动测试脚本文件, 完成对所述嵌入式浏 览器的测试。在本发明实施例中, 所述自动测试脚本文件与需要测试的应用页 面独立,从而可以使嵌入式浏览器测试时所需 的模拟按键不依赖于具体的应用 页面, 不会产生对所述应用页面的影响, 并且可以利用一个自动测试脚本文件 测试多个应用、 以及实现各种组合的按键测试, 满足不同的应用需求。 另夕卜, 由于所述自动测试脚本文件独立于需要测试的 应用页面, 因此扩展方便, 可根 据应用需要方便地进行适应性修改。

相应地, 本发明实施例还提供了一种实现嵌入式浏览器 自动测试的系统, 如图 2所示, 是该系统的一种结构示意图。

在该实施例中, 所述系统 200包括:

测试入口单元 201 , 用于通过嵌入式浏览器进入测试入口过渡页面 ; 指令接收单元 202, 用于在所述测试入口过渡页面接收用户的测试 指令; 下载单元 203 , 用于在所述指令接收单元接收到用户的测试指 令后, 通过 异步方式从服务器下载自动测试脚本文件;

保存单元 204, 用于在下载完成后, 保存所述自动测试脚本文件; 运行单元 205 , 用于运行所述自动测试脚本文件, 完成对所述嵌入式浏览 器的测试。

在本发明实施例中, 所述测试入口过渡页面可以是 html格式的纯文本文 件, 而且, 所述测试入口过渡页面中还可以设置有测试按 鈕, 以使用户通过点 击所述测试按鈕发送所述测试指令。

所述自动测试脚本文件为包括按键事件的纯文 本文件,每个按键事件由三 元组定义, 包括: 时间间隔、 类型、 键值。 在具体应用中, 所述自动测试脚本 的生成方式可以有多种, 比如: 人工手写方式生成, 或者通过其他脚本语言生 成(例如根据 log 生成)等, 具体可参照前面的描述。

在本发明实施例中,所述下载单元 203、保存单元 204和所述运行单元 205 具体可以通过调用 JavaScript对象的方式实现相应的功能, 具体可参照前面的 描述。

本发明实施例提供的实现嵌入式浏览器自动测 试的系统,利用预先建立的 测试入口过渡页面,在通过嵌入式浏览器进入 测试入口过渡页面后,在所述测 试入口过渡页面接收到用户的测试指令后,通 过异步方式从服务器下载自动测 试脚本文件, 下载完成后, 运行所述自动测试脚本文件, 完成对所述嵌入式浏 览器的测试,从而可以使嵌入式浏览器测试时 所需的模拟按键不依赖于具体的 应用页面, 不会产生对所述应用页面的影响。

在嵌入式浏览器的测试中,有时可能会需要对 某个或多个按键操作进行多 次重复测试, 为了满足这种应用需求。 为此, 在本发明实施例中, 可以通过设 定所述自动测试脚本文件的运行次数来实现; 另外,还可以通过设置特殊按键 的方式来实现, 比如, 将键 "A" 作为终止键, 这样, 在上述步骤(1 ) 中就 需要拦截除按键 "A" 之外的用户按键消息。 在需要停止测试时, 用户只需按 下遥控器上的按键 "A" , 即可终止测试过程。

如图 3所示,是本发明实施例实现嵌入式浏览器自 测试的系统的另一种 结构示意图。

与图 2所示实施例的区别在于: 在该实施例中, 所述运行单元 205用于重 复运行所述自动测试脚本文件。 而且, 该实施例嵌入式浏览器测试系统 300 还包括:

计数单元 301 , 用于统计所述自动测试脚本文件的运行次数, 并在所述运 行次数达到设定的运行次数后,通知所述运行 单元停止运行所述自动测试脚本 文件。

如图 4所示,是本发明实施例实现嵌入式浏览器自 测试的系统的另一种 结构示意图。

同样,在该实施例中, 所述运行单元 205用于重复运行所述自动测试脚本 文件。 另外, 该实施例嵌入式浏览器测试系统 400还包括:

控制单元 401 , 用于在所述运行单元运行所述自动测试脚本文 件之前, 拦 截除预先设置的终止按键之外的外部用户按键 消息,并在接收到外部用户的所 述终止按键的消息后, 通知所述运行单元停止运行所述自动测试脚本 文件。

可见, 利用图 3和图 4所示实施例, 无需^ ίι爹改自动测试脚本文件, 即可方 便地满足对嵌入式浏览器按键操作进行重复测 试的需求。

通过以上的实施方式的描述可知,本领域的技 术人员可以清楚地了解到本 发明实施例可借助软件加必需的通用硬件平台 的方式来实现。 基于这样的理 品的形式体现出来,该计算机软件产品可以存 储在存储介质中,如 ROM/RAM、 磁碟、 光盘等, 包括若干指令用以使得一台计算机设备(可以 是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例或者 实施例的某些部分所述 的方法。

以上公开的仅为本发明的优选实施方式,但本 发明并非局限于此,任何本 领域的技术人员能思之的没有创造性的变化, 以及在不脱离本发明原理前提下 所作的若干改进和润饰, 都应落在本发明的保护范围内。