Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
BROWSER TESTING METHOD AND SYSTEM
Document Type and Number:
WIPO Patent Application WO/2012/075889
Kind Code:
A1
Abstract:
A browser testing method and system. The method comprises: entering a recording control page via a browser; upon receiving on the recording control page a recording command from a user, monitoring and recording testing information from the user for the browser; on the basis of the testing information, generating an automated test script file; and when regression testing is required for the browser, executing the automated test script file, completing the regression testing of the browser. Employment of the present invention satisfies easily and conveniently the needs of regression testing of the browser, and improves testing efficiency.

Inventors:
XU JIAHONG (CN)
FU MINGWEI (CN)
ZHU LVLIANG (CN)
Application Number:
PCT/CN2011/082844
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:
G06F11/36
Foreign References:
CN102004695A2011-04-06
CN1601483A2005-03-30
CN1744054A2006-03-08
Attorney, Agent or Firm:
SHENPAT INTELLECTUAL PROPERTY AGENCY (CN)
深圳市深佳知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种浏览器测试方法, 其特征在于, 包括:

通过浏览器进入录制控制页面;

在所述录制控制页面接收到用户的录制指令后,监听并记录用户对所述浏 览器的测试信息;

才艮据所述测试信息生成自动测试脚本文件;

在需要对所述浏览器进行回归测试时,运行所述自动测试脚本文件, 完成 对所述浏览器的回归测试。

2、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括: 在所述录制控制页面设置录制按鈕,以使用户通过点击所述录制按鈕发送 所述录制指令。

3、 如权利要求 2所述的方法, 其特征在于, 所述监听并记录用户对所述 浏览器的测试信息包括:

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

所述按键机器人记录用户输入的按键信息, 所述按键信息包括: 键值、 操 作时间;

所述按键机器人检查所述键值是否预先设置的停止监控按键的键值; 如果是, 则根据记录的所有按键信息生成测试信息;

如果否, 则返回所述按键机器人获取用户输入的按键信息的步骤。

4、 如权利要求 3所述的方法, 其特征在于,

所述根据记录的信息生成自动测试脚本文件包括:

在所述录制控制页面接收到用户的提交指令后,将所述测试信息上传给服 务器;

所述服务器将所述测试信息保存到指定文件, 生成自动测试脚本文件; 所述方法还包括:

在需要对所述浏览器进行回归测试时,从所述服务器上下载所述自动测试 脚本文件;

下载完成后, 执行所述运行所述自动测试脚本文件的操作。

5、 如权利要求 4所述的方法, 其特征在于, 所述方法还包括: 在所述录制控制页面设置提交按鈕,以使用户通过点击所述提交按鈕发送 所述提交指令。

6、 如权利要求 4所述的方法, 其特征在于, 所述将记录的测试信息上传 给服务器包括:

调用所述按键机器人;

所述按键机器人将所述测试信息上传给服务器。

7、 一种浏览器测试系统, 其特征在于, 包括:

录制控制单元, 用于通过浏览器进入录制控制页面;

指令接收单元, 用于在所述录制控制页面接收用户的录制指令; 监听单元, 用于在所述指令接收单元接收到用户的录制指令后,监听并记 录用户对所述浏览器的测试信息;

测试脚本生成单元, 用于根据所述测试信息生成自动测试脚本文件; 运行单元, 用于在需要对所述浏览器进行回归测试时,运行所述自动测试 脚本文件, 完成对所述浏览器的回归测试。

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

所述录制控制页面设置有录制按鈕,以使用户通过点击所述录制按鈕发送 所述录制指令。

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

所述指令接收单元, 还用于在所述录制控制页面接收用户的提交指令; 所述测试脚本生成单元,具体用于在所述指令接收单元接收到用户的提交 指令后,将记录的测试信息上传给服务器, 以使所述服务器将所述测试信息保 存到指定文件, 生成自动测试脚本文件;

所述系统还包括:

下载单元, 用于在需要对所述浏览器进行回归测试时,从所述服务器上下 载所述自动测试脚本文件, 并在下载完成后,通知所述运行单元执行所述运行 所述自动测试脚本文件的操作。

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

在所述录制控制页面设置有提交按鈕,以使用户通过点击所述提交按鈕发 送所述提交指令。

Description:
浏览器测试方法及系统

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

技术领域

本发明涉及浏览器技术领域, 更具体地说, 涉及一种浏览器测试方法及系 统。

背景技术

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

浏览器环境下,一般没有鼠标,遥控器的按键 输入是用户与系统的唯一交 互。 为此, 在进行浏览器测试时, 需要人工多次进行按键操作, 而且对于一个 问题只有在长时间才会出现的情况, 则回归测试、重现问题等过程也需要长时 间、 重复地按键操作。 因此, 这种方式不仅效率低, 而且操作不方便。

发明内容

本发明实施例提供一种浏览器测试方法及系统 , 以筒单、方便地满足对浏 览器的回归测试需求, 提高测试效率。

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

一种浏览器测试方法, 包括:

通过浏览器进入录制控制页面;

在所述录制控制页面接收到用户的录制指令后 ,监听并记录用户对所述浏 览器的测试信息;

才艮据所述测试信息生成自动测试脚本文件;

在需要对所述浏览器进行回归测试时,运行所 述自动测试脚本文件, 完成 对所述浏览器的回归测试。

优选地, 所述方法还包括: 在所述录制控制页面设置录制按鈕,以使用户 通过点击所述录制按鈕发送 所述录制指令。

优选地, 所述监听并记录用户对所述浏览器的测试信息 包括:

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

所述按键机器人记录用户输入的按键信息, 所述按键信息包括: 键值、 操 作时间;

所述按键机器人检查所述键值是否预先设置的 停止监控按键的键值; 如果是, 则根据记录的所有按键信息生成测试信息;

如果否, 则返回所述按键机器人获取用户输入的按键信 息的步骤。

优选地, 所述根据记录的信息生成自动测试脚本文件包 括:

在所述录制控制页面接收到用户的提交指令后 ,将所述测试信息上传给服 务器;

所述服务器将所述测试信息保存到指定文件, 生成自动测试脚本文件; 相应地, 所述方法还包括:

在需要对所述浏览器进行回归测试时,从所述 服务器上下载所述自动测试 脚本文件;

下载完成后, 执行所述运行所述自动测试脚本文件的操作。

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

在所述录制控制页面设置提交按鈕,以使用户 通过点击所述提交按鈕发送 所述提交指令。

优选地, 所述将记录的测试信息上传给良务器包括:

调用所述按键机器人;

所述按键机器人将所述测试信息上传给服务器 。

一种浏览器测试系统, 包括:

录制控制单元, 用于通过浏览器进入录制控制页面;

指令接收单元, 用于在所述录制控制页面接收用户的录制指令 ; 监听单元, 用于在所述指令接收单元接收到用户的录制指 令后,监听并记 录用户对所述浏览器的测试信息;

测试脚本生成单元, 用于根据所述测试信息生成自动测试脚本文件 ; 运行单元, 用于在需要对所述浏览器进行回归测试时,运 行所述自动测试 脚本文件, 完成对所述浏览器的回归测试。

优选地, 所述录制控制页面设置有录制按鈕, 以使用户通过点击所述录制 按鈕发送所述录制指令。

优选地, 所述指令接收单元,还用于在所述录制控制页 面接收用户的提交 指令;

所述测试脚本生成单元,具体用于在所述指令 接收单元接收到用户的提交 指令后,将记录的测试信息上传给服务器, 以使所述服务器将所述测试信息保 存到指定文件, 生成自动测试脚本文件;

相应地, 所述系统还包括:

下载单元, 用于在需要对所述浏览器进行回归测试时,从 所述服务器上下 载所述自动测试脚本文件, 并在下载完成后,通知所述运行单元执行所述 运行 所述自动测试脚本文件的操作。

优选地,在所述录制控制页面设置有提交按鈕 , 以使用户通过点击所述提 交按鈕发送所述提交指令。

本发明实施例提供的浏览器测试方法及系统, 通过监听并记录用户对所述 嵌入式浏览器的测试信息,根据记录的信息生 成自动测试脚本文件; 在需要对 所述浏览器进行回归测试时,运行所述自动测 试脚本文件, 完成对所述浏览器 的回归测试,从而可以仅需一次手工测试操作 ,即可自动实现后续的回归测试, 不仅效率高, 而且操作方便。 另外, 利用预先建立的录制控制页面, 在所述录 制控制页面接收到用户的录制指令后进行录制 操作,从而可以使所述录制操作 不依赖于具体的应用页面, 不会产生对所述应用页面的影响。

附图说明

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

图 1是本发明实施例浏览器测试方法的流程图;

图 2是本发明实施例浏览器测试系统的一种结构 意图; 图 3是本发明实施例浏览器测试系统的另一种结 示意图。

具体实施方式

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

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

如图 1所示,是本发明实施例浏览器测试方法的流 图, 包括以下基本步 骤:

步骤 101 , 通过浏览器进入录制控制页面;

步骤 102, 在所述录制控制页面接收到用户的录制指令后 , 监听并记录用 户对所述浏览器的测试信息;

步骤 103 , 根据所述测试信息生成自动测试脚本文件;

步骤 104, 在需要对所述浏览器进行回归测试时, 运行所述自动测试脚本 文件, 完成对所述浏览器的回归测试。

在本发明实施例中, 所述自动测试脚本文件为包括按键事件的纯文 本文 件, 每个按键事件由三元组定义, 包括: 时间间隔、 类型、 键值。

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

以 #开始的行为注释行;

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

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

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

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

所有按键事件的 type 均为 KEY, 该字段是为了后续扩展其他用户类型; value 为实际键值。 根据上述格式, 假设自动测试脚本文件保存在 http://server/key.txt中, 其内容如下:

#keyrobot

#versionl.O 0,KEY,270;

1000,KEY,271;

1000,KEY,272;

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

在本发明实施例中,通过预先建立的录制控制 页面使对浏览器测试信息的 监听及记录不依赖于应用页面, 不会产生对应用页面的影响。所述录制控制页 面可以是 html ( HyperText Mark-up Language, 超文本标 i己语言或超文本链接 标示语言 )格式的纯文本文件。 所述 html是目前网络上应用最为广泛的语言, 也是构成网 文档的主要语言。 html文本是由 HTML命令组成的描述性文本, html命令可以说明文字、 图形、 动画、 声音、 表格、 链接等。 html 的结构包 括头部 (Head )、 主体(Body ) 两大部分, 其中头部描述浏览器所需的信息, 而主体则包含所要说明的具体内容。

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

具体地, 可以在所述录制控制页面中设置录制按鈕, 以使用户通过点击所 述录制按鈕发送所述录制指令。

在本发明实施例中, 进一步引入了按键机器人的概念, 所述按键机器人为 JavaScript对象。 在所述录制控制页面, 通过调用按键机器人, 完成一系列操 作。 同样, 可以通过 JavaScript控制所述按键机器人的行为。 比如, H殳所述录制控制页面为 b.html, 内容如下: <html>

<head>

<script>

function postCBK(){

if(KeyRobot.status == 10){

debug—string ('上传成功 '); else if (Key Robot, status == 11){

debug—string ('上传失败 '); else{

debug—string ('其他状态 ')

funciton onClickRecord() {

KeyRobot.record(IRKEY_RED);

function onClickPost(){

KeyRobot .name: ' example

KeyRobot.post(

'http:/server/robot.php',

postCBK);

</script>

</head>

<body> <hl>b.html</hl>

<input

type='button'

onclick: OnClickRecord ();'

value='record' />

<input

type='button'

onclick: OnClickPost ();'

value='post' />

</body>

</html>

用户点击 b.html中的' record '按钮, 页面响应 onclick事件, 执行

onClickRecord ()函数, 所述 onClickRecord ()函数执行以下操作:

调用 KeyRobot.record, 所述 KeyRobot.record为所述按键机器人执行录制 操作, 具体包括:

所述按键机器人记录用户输入的按键信息, 所述按键信息包括: 键值、操 作时间;

检查当前按键的键值是否为预先设置的停止监 控按键的键值;

如果不是, 则重复上述过程;

如果是,则所述按键机器人停止监控系统按键 ,并根据记录的所有按键信 息生成测试信息。

需要说明的是, 上述步骤 103中所述的根据所述测试信息生成自动测试脚 本文件, 可以是在浏览器本地生成, 也可以是将所述测试信息上传给服务器, 在服务器侧生成。

比如,对于安装在终端设备上的浏览器,通常 终端设备上具有本地文件系 统功能, 因此, 可以在本地生成所述自动测试脚本文件, 并保存在本地。

而对于嵌入式浏览器, 通常用于 Internet-TV、 iDVD、 Web终端、 数字电视 机顶盒、 掌上电脑等各种信息电器和便携式网络终端中 , 在这些设备中, 没有 本地文件系统。 在这种情况下, 可以将所述测试信息上传给服务器, 在服务器 侧生成, 并保存在服务器上。 具体地, 可以通过以下过程来实现: 在所述录制 控制页面接收到用户的提交指令后,将所述测 试信息上传给服务器; 所述服务 器将所述测试信息保存到指定文件, 生成自动测试脚本文件。

同样,将记录的测试信息上传给服务器也可以 通过调用所述按键机器人来 完成。

相应地, 上述步骤 104中所述的在需要对所述浏览器进行回归测试 时,运 行所述自动测试脚本文件具体可以通过以下过 程来实现:在需要对所述浏览器 进行回归测试时, 从所述服务器上下载所述自动测试脚本文件; 下载完成后, 运行所述自动测试脚本文件。

同样, 为了方便用户的操作, 可以在所述录制控制页面设置提交按鈕, 以 使用户通过点击所述提交按鈕发送所述提交指 令。

假设服务器动态脚本文件在 http:/server/robot.php, 使用的脚本语言为 php。 所述 php是一种用来制作动态网页的服务器端脚本语 言,可以在 Windows NT 以及 ^艮多不同的 Unix版本中执行。

4叚设 http:/server/robot.php的内容^口下:

<?php

if(isset($_REQUEST[ 'name' ])

&& isset($_REQUEST['record,])){

$fp = fopen($_REQUEST['name'].".txt", "wb");

fwrite($fp, $_REQUEST[ 'record']);

fclose($fp);

?>

参照前面的录制控制页面 b.html, 用户点击 b.html中的' post '按鈕, 页面 响应 onclick事件,执行 onClickPostO函数,所述 onClickPostO函数执行以下操 作:

按键机器人将所述测试信息上传到 http:/server/robot.php;

服务器响应 post, 将接收到的测试信息保存到指定文件 http:/server/robot.php。

可见, 本发明实施例提供的浏览器测试方法,监听并 记录用户对所述嵌入 式浏览器的测试信息,根据记录的信息生成自 动测试脚本文件; 在需要对所述 浏览器进行回归测试时,运行所述自动测试脚 本文件, 完成对所述浏览器的回 归测试, 从而可以仅需一次手工测试操作, 即可自动实现后续的回归测试, 不 仅效率高, 而且操作方便。 另外, 本发明实施例提供的浏览器测试方法, 利用 预先建立的录制控制页面,在所述录制控制页 面接收到用户的录制指令后进行 录制操作,从而可以使所述录制操作不依赖于 具体的应用页面, 不会产生对所 述应用页面的影响。

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

在该实施例中, 所述浏览器测试系统 200包括:

录制控制单元 201 , 用于通过浏览器进入录制控制页面;

指令接收单元 202, 用于在所述录制控制页面接收用户的录制指令 ; 监听单元 203 , 用于在所述指令接收单元 302接收到用户的录制指令后, 监听并记录用户对所述浏览器的测试信息;

测试脚本生成单元 204, 用于根据所述测试信息生成自动测试脚本文件 ; 运行单元 205 , 用于在需要对所述浏览器进行回归测试时, 运行所述自动 测试脚本文件, 完成对所述浏览器的回归测试。

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

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

在本发明实施例中, 所述监听单元 203、 测试脚本生成单元 204和所述运 行单元 205具体可以通过调用 JavaScript对象的方式实现其相应的功能, 具体 可参照前面的描述。 需要说明的是, 在本发明实施例中, 所述测试脚本生成单元 204是在浏览 器本地生成所述测试脚本文件。

本发明实施例提供的浏览器测试系统,通过监 听并记录用户对所述嵌入式 浏览器的测试信息,根据所述测试信息生成自 动测试脚本文件; 在需要对所述 浏览器进行回归测试时,运行所述自动测试脚 本文件, 完成对所述浏览器的回 归测试, 从而可以仅需一次手工测试操作, 即可自动实现后续的回归测试, 不 仅效率高, 而且操作方便。

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

与图 2所示实施例不同的是, 在该实施例中, 所述测试脚本文件是在服务 器侧生成。 相应地, 该实施例的浏览器测试系统 300包括:

录制控制单元 301 , 用于通过浏览器进入录制控制页面;

指令接收单元 302, 用于在所述录制控制页面接收用户的录制指令 , 以及 接收用户的提交指令;

监听单元 303 , 用于在所述指令接收单元 302接收到用户的录制指令后, 监听并记录用户对所述浏览器的测试信息;

测试脚本生成单元 304, 用于在所述指令接收单元 302接收到用户的提交 指令后,将记录的测试信息上传给服务器, 以使所述服务器将所述测试信息保 存到指定文件, 生成自动测试脚本文件;

下载单元 306, 用于在需要对所述浏览器进行回归测试时, 从所述服务器 上下载所述自动测试脚本文件, 并在下载完成后,通知所述运行单元 305执行 所述运行所述自动测试脚本文件的操作;

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

同样, 所述下载单元 306具体也可以通过调用 JavaScript对象的方式实现 其相应的功能, 具体可参照前面的描述。

另夕卜, 所述录制控制页面中还可以设置有提交按鈕, 以使用户通过点击所 述提交按鈕发送所述提交指令。

本发明实施例提供的浏览器测试系统,通过监 听并记录用户对所述嵌入式 浏览器的测试信息,将所述测试信息上传给服 务器, 以使所述服务器根据所述 测试信息生成自动测试脚本文件; 在需要对所述浏览器进行回归测试时,从所 述服务器下载所述自动测试脚本文件, 下载完成后运行所述自动测试脚本文 件, 完成对所述浏览器的回归测试, 从而可以仅需一次手工测试操作, 即可自 动实现后续的回归测试, 不仅效率高, 而且尤其是对于嵌入式浏览器的测试, 实现筒单、 操作方便。

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

本发明可用于众多通用或专用的计算系统环境 或配置中。例如: 个人计算 机、 服务器计算机、 手持设备或便携式设备、 平板型设备、 多处理器系统、 基 于微处理器的系统、 置顶盒、 可编程的消费电子设备、 网络 PC、 小型计算机、 大型计算机、 包括以上任何系统或设备的分布式计算环境等 等。

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