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

文档序号:7768157阅读:461来源:国知局
专利名称:实现嵌入式浏览器自动测试的方法及系统的制作方法
技术领域
本发明涉及嵌入式浏览器技术领域,更具体地说,涉及一种实现嵌入式浏览器自 动测试的方法及系统。
背景技术
随着hternet普及率的迅猛增长,浏览器成为了获取信息的重要工具。另一方 面,随着消费电子、计算机、通信一体化的趋势,嵌入式浏览器也随之出现。嵌入式浏览器可 以广泛用于hternet-TV、iDVD、Web终端、数字电视机顶盒、掌上电脑等各种信息电器和便 携式网络终端中,在工业控制领域也有着广泛的应用前景。嵌入式浏览器环境下,一般没有鼠标,遥控器的按键输入是用户与系统的唯一交 互。为此,在进行浏览器测试时,需要人工多次进行按键操作,不仅费时,而且无法实现自动 测试。

发明内容
本发明实施例提供一种实现嵌入式浏览器自动测试的方法及系统,以实现对嵌入 式浏览器的自动按键测试。为此,本发明实施例提供如下技术方案一种实现嵌入式浏览器自动测试的方法,包括通过嵌入式浏览器进入测试入口过渡页面;在所述测试入口过渡页面接收到用户的测试指令后,通过异步方式从服务器下载 自动测试脚本文件;下载完成后,保存所述自动测试脚本文件;运行所述自动测试脚本文件,完成对所述嵌入式浏览器的测试。优选地,所述方法还包括在所述测试入口过渡页面中设置测试按钮,以使用户通过点击所述测试按钮发送 所述测试指令。优选地,所述自动测试脚本文件为包括按键事件的纯文本文件,每个按键事件由 三元组定义,包括时间间隔、类型、键值。优选地,所述方法还包括预先生成所述自动测试脚本文件,并将所述自动测试脚本文件上传给所述服务ο优选地,所述通过异步方式从服务器下载自动测试脚本文件包括调用按键机器人,所述按键机器人为JavMcript对象;所述按键机器人向服务器发送脚本文件下载请求;所述按键机器人通过异步方式从服务器接收所述自动测试脚本文件。优选地,所述方法还包括
重复运行所述自动测试脚本文件,直至达到设定的运行次数。优选地,所述方法还包括设置终止按键;在运行所述自动测试脚本文件之前,拦截除所述终止按键之外的外部用户按键消 息;重复运行所述自动测试脚本文件,直至接收到外部用户的终止按键的消息。一种实现嵌入式浏览器自动测试的系统,包括测试入口单元,用于通过嵌入式浏览器进入测试入口过渡页面;指令接收单元,用于在所述测试入口过渡页面接收用户的测试指令;下载单元,用于在所述指令接收单元接收到用户的测试指令后,通过异步方式从 服务器下载自动测试脚本文件;保存单元,用于在下载完成后,保存所述自动测试脚本文件;运行单元,用于运行所述自动测试脚本文件,完成对所述嵌入式浏览器的测试。优选地,所述测试入口过渡页面中设置有测试按钮,以使用户通过点击所述测试 按钮发送所述测试指令。优选地,所述运行单元,具体用于重复运行所述自动测试脚本文件;相应地,所述系统还包括计数单元,用于统计所述自动测试脚本文件的运行次数,并在所述运行次数达到 设定的运行次数后,通知所述运行单元停止运行所述自动测试脚本文件。优选地,所述运行单元,具体用于重复运行所述自动测试脚本文件,相应地,所述系统还包括控制单元,用于在所述运行单元运行所述自动测试脚本文件之前,拦截除预先设 置的终止按键之外的外部用户按键消息,并在接收到外部用户的所述终止按键的消息后, 通知所述运行单元停止运行所述自动测试脚本文件。本发明实施例提供的实现嵌入式浏览器自动测试的方法及系统,利用预先建立的 测试入口过渡页面,通过嵌入式浏览器进入测试入口过渡页面,在所述测试入口过渡页面 接收到用户的测试指令后,通过异步方式从服务器下载自动测试脚本文件,下载完成后,运 行所述自动测试脚本文件,完成对所述嵌入式浏览器的测试,并且可以使嵌入式浏览器测 试时所需的模拟按键不依赖于具体的应用页面,不会产生对所述应用页面的影响。


为了更清楚地说明本发明实施的技术方案,下面将对实施例中所需要使用的附图 作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普 通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例实现嵌入式浏览器自动测试的方法的流程图;图2是本发明实施例实现嵌入式浏览器自动测试的系统的一种结构示意图;图3是本发明实施例实现嵌入式浏览器自动测试的系统的另一种结构示意图;图4是本发明实施例实现嵌入式浏览器自动测试的系统的另一种结构示意图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例中的技术方案,下面将结合本 发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述 的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领 域普通技术人员所获得的所有其他实施例,都应当属于本发明保护的范围。在本发明实施例中,通过预先建立的测试入口过渡页面,使嵌入式浏览器测试时 所需的模拟按键不依赖于应用页面,不会产生对应用页面的影响。如图1所示,是本发明实现嵌入式浏览器自动测试的方法的流程图,包括以下基 本步骤步骤101,通过嵌入式浏览器进入测试入口过渡页面;步骤102,在所述测试入口过渡页面接收到用户的测试指令后,通过异步方式从服 务器下载自动测试脚本文件;步骤103,下载完成后,保存所述自动测试脚本文件;步骤104,运行所述自动测试脚本文件,完成对所述嵌入式浏览器的测试。在本发明实施例中,所述自动测试脚本文件为包括按键事件的纯文本文件,每个 按键事件由三元组定义,包括时间间隔、类型、键值。比如,设置所述自动测试脚本文件的格式如下以#开始的行为注释行;第一行为ftkeyrobot,用于识别脚本文件;第二行为iiversionN. Μ, N. M为实际版本号,用于后续升级;每一行代表一次按键事件,所述按键事件由三元组定义,格式为time,type, value,其中第一个按键事件的time为0,其他按键事件的time为该按键事件与上一次按键事 件的时间差,单位为ms;所有按键事件的type均为KEY,该字段是为了后续扩展其他用户类型;value为实际键值。根据上述格式,假设自动测试脚本文件保存在http://server/key. txt中,其内 容如下#keyrobot#versionl. 00, KEY, 270 ;1000, KEY, 271 ;1000, KEY, 272 ;当然,本发明实施例并不限定所述自动测试脚本文件的具体格式,只要其能够包 含需要测试的按键事件即可。而且,在对嵌入式浏览器不同的测试中,还可以对所述自动测 试脚本文件进行扩展,以模拟除按键之外的浏览器行为,比如将其中的定义为0PENURL功 能。在具体应用中,所述自动测试脚本的生成方式可以有多种,比如人工手写方式生 成,或者通过其他脚本语言生成(例如根据log生成)等。
在本发明实施例中,利用从服务器上下载的自动测试脚本文件实现对嵌入式浏览 器的自动测试,而且,通过预先建立的测试入口过渡页面使嵌入式浏览器测试时所需的模 拟按键不依赖于应用页面,不会产生对应用页面的影响。所述测试入口过渡页面可以是html (HyperiText Mark-up Language,超文本标记 语言或超文本链接标示语言)格式的纯文本文件。所述html是目前网络上应用最为广泛 的语言,也是构成网页文档的主要语言。html文本是由HTML命令组成的描述性文本,html 命令可以说明文字、图形、动画、声音、表格、链接等。html的结构包括头部(Head)、主体 (Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。由于Javakript是一种广泛用于客户端Web开发的脚本语言,能够实现大部分的 面向对象的功能,按面向对象的方式操作html页面的对象(如document、window等等)。 为此,在本发明实施例中,可以利用Jav必cript给所述测试入口过渡页面添加动态功能, 比如响应用户的各种操作。具体地,可以在所述测试入口过渡页面中可以设置测试按钮,以使用户通过点击 所述测试按钮发送所述测试指令。在本发明实施例中,进一步引入了按键机器人的概念,所述按键机器人为 Jav必cript对象。在测试入口过渡页面通过调用按键机器人,完成一系列操作。因此,可以 通过JavMcript控制所述按键机器人的行为。比如,假设所述测试入口过渡页面为a. html,内容如下<html><head>〈script〉function openCBKO {if (KeyRobot. status == 1) {KeyRobot. run(IRKEY_RED);}else if (KeyRobot. status = = 2) {debug_string('下载失败');}else if (KeyRobot. status = = 3) {debug_string('文件格式有误');}else{//可以定义更多的状态值,对应不同的实际情况}}function onClickTest () {KeyRobot. open (‘ http://server/key.txt',openCBK);
}
</script)</head>
<body><hl>a. html</hl>〈inputtype = ' button'onclick = ‘onClickTest ();'value =' test' /></body></html>用户点击a. html中的'test'按钮,页面响应onclick事件,执行onClickTest () 函数,所述onClickTest ()函数执行以下操作调用KeyRobot. open,所述KeyRobot. open为所述按键机器人执行下载操作,具体 包括所述按键机器人可以通过一个下载模块向服务器发送脚本文件下载请求,在该请求 中包含需要下载的自动测试脚本文件路径及名称,如上所示为http://server/key. txt ; 下载模块接收所述服务器发送的自动测试脚本文件;在所述自动测试脚本文件接收完成 后,所述下载模块回调通知所述按键机器人文件接收完毕。所述按键机器人收到通知后,保 存所述自动测试脚本文件,并将自身的当前状态改变为“ 1 ”。需要说明的是,在本发明实施例中,可以采用http方式从服务器下载自动测试 脚本文件,当然,如果所述嵌入式浏览器支持其他协议,也可以采用相应的下载方式,比如 ftp (File Transfer Protocol,文件传输协议)方式。所述测试入口过渡页面执行openCBKO函数,所述openCBK()函数执行以下操 作检测所述按键机器人的状态即KeyRobot. status,如果所述KeyRobot. status为 1,则调用KeyRobot. run,所述KeyRobot. run为所述按键机器人执行按键测试操作,具体地 可以按照所述自动测试脚本文件的内容执行相应的操作,比如可以包括以下过程(1)拦截外部用户按键消息,也就是说,禁止响应用户的按键操作;(2)解析自动测试脚本文件,取下一个按键事件的消息时间间隔及键值;(3)检查当前时间与上一次按键事件发送时间的间隔;如果间隔大于脚本中下一 按键事件的消息时间间隔,则发送模拟按键;否则等待时间到达;重复上述步骤( 至G),直至自动测试脚本文件所有模拟事件都发送完毕。当然,为了满足不同测试环境的应用需求,比如对某个或多个按键操作的测试需 要重复多次。为此,在本发明实施例中,可以通过设定所述自动测试脚本文件的运行次数来 实现;另外,还可以通过设置特殊按键的方式来实现,比如,将键“A”作为终止键,这样,在 上述步骤(1)中就需要拦截除按键“A”之外的用户按键消息。在需要停止测试时,用户只 需按下遥控器上的按键“A”,即可终止测试过程。可见,本发明实施例实现嵌入式浏览器自动测试的方法,利用预先建立的测试入 口过渡页面,在通过嵌入式浏览器进入测试入口过渡页面后,在所述测试入口过渡页面接收到用户的测试指令后,通过异步方式从服务器下载自动测试脚本文件,下载完成后,运行 所述自动测试脚本文件,完成对所述嵌入式浏览器的测试。在本发明实施例中,所述自动测 试脚本文件与需要测试的应用页面独立,从而可以使嵌入式浏览器测试时所需的模拟按键 不依赖于具体的应用页面,不会产生对所述应用页面的影响,并且可以利用一个自动测试 脚本文件测试多个应用、以及实现各种组合的按键测试,满足不同的应用需求。另外,由于 所述自动测试脚本文件独立于需要测试的应用页面,因此扩展方便,可根据应用需要方便 地进行适应性修改。相应地,本发明实施例还提供了一种实现嵌入式浏览器自动测试的系统,如图2 所示,是该系统的一种结构示意图。在该实施例中,所述系统200包括测试入口单元201,用于通过嵌入式浏览器进入测试入口过渡页面;指令接收单元202,用于在所述测试入口过渡页面接收用户的测试指令;下载单元203,用于在所述指令接收单元接收到用户的测试指令后,通过异步方式 从服务器下载自动测试脚本文件;保存单元204,用于在下载完成后,保存所述自动测试脚本文件;运行单元205,用于运行所述自动测试脚本文件,完成对所述嵌入式浏览器的测试。在本发明实施例中,所述测试入口过渡页面可以是html格式的纯文本文件,而 且,所述测试入口过渡页面中还可以设置有测试按钮,以使用户通过点击所述测试按钮发 送所述测试指令。所述自动测试脚本文件为包括按键事件的纯文本文件,每个按键事件由三元组定 义,包括时间间隔、类型、键值。在具体应用中,所述自动测试脚本的生成方式可以有多种, 比如人工手写方式生成,或者通过其他脚本语言生成(例如根据log生成)等,具体可参 照前面的描述。在本发明实施例中,所述下载单元203、保存单元204和所述运行单元205具体可 以通过调用JavMcript对象的方式实现相应的功能,具体可参照前面的描述。本发明实施例提供的实现嵌入式浏览器自动测试的系统,利用预先建立的测试入 口过渡页面,在通过嵌入式浏览器进入测试入口过渡页面后,在所述测试入口过渡页面接 收到用户的测试指令后,通过异步方式从服务器下载自动测试脚本文件,下载完成后,运行 所述自动测试脚本文件,完成对所述嵌入式浏览器的测试,从而可以使嵌入式浏览器测试 时所需的模拟按键不依赖于具体的应用页面,不会产生对所述应用页面的影响。在嵌入式浏览器的测试中,有时可能会需要对某个或多个按键操作进行多次重复 测试,为了满足这种应用需求。为此,在本发明实施例中,可以通过设定所述自动测试脚本 文件的运行次数来实现;另外,还可以通过设置特殊按键的方式来实现,比如,将键“A”作 为终止键,这样,在上述步骤(1)中就需要拦截除按键“A”之外的用户按键消息。在需要停 止测试时,用户只需按下遥控器上的按键“A”,即可终止测试过程。如图3所示,是本发明实施例实现嵌入式浏览器自动测试的系统的另一种结构示 意图。与图2所示实施例的区别在于在该实施例中,所述运行单元205用于重复运行所述自动测试脚本文件。而且,该实施例嵌入式浏览器测试系统300还包括计数单元301,用于统计所述自动测试脚本文件的运行次数,并在所述运行次数达 到设定的运行次数后,通知所述运行单元停止运行所述自动测试脚本文件。如图4所示,是本发明实施例实现嵌入式浏览器自动测试的系统的另一种结构示 意图。同样,在该实施例中,所述运行单元205用于重复运行所述自动测试脚本文件。另 外,该实施例嵌入式浏览器测试系统400还包括控制单元401,用于在所述运行单元运行所述自动测试脚本文件之前,拦截除预 先设置的终止按键之外的外部用户按键消息,并在接收到外部用户的所述终止按键的消息 后,通知所述运行单元停止运行所述自动测试脚本文件。可见,利用图3和图4所示实施例,无需修改自动测试脚本文件,即可方便地满足 对嵌入式浏览器按键操作进行重复测试的需求。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明实 施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方 案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软 件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算 机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例 的某些部分所述的方法。以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的 技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和 润饰,都应落在本发明的保护范围内。
权利要求
1.一种实现嵌入式浏览器自动测试的方法,其特征在于,包括 通过嵌入式浏览器进入测试入口过渡页面;在所述测试入口过渡页面接收到用户的测试指令后,通过异步方式从服务器下载自动 测试脚本文件;下载完成后,保存所述自动测试脚本文件; 运行所述自动测试脚本文件,完成对所述嵌入式浏览器的测试。
2.如权利要求1所述的方法,其特征在于,所述方法还包括在所述测试入口过渡页面中设置测试按钮,以使用户通过点击所述测试按钮发送所述 测试指令。
3.如权利要求1所述的方法,其特征在于,所述自动测试脚本文件为包括按键事件的 纯文本文件,每个按键事件由三元组定义,包括时间间隔、类型、键值。
4.如权利要求1所述的方法,其特征在于,所述方法还包括预先生成所述自动测试脚本文件,并将所述自动测试脚本文件上传给所述服务器。
5.如权利要求1所述的方法,其特征在于,所述通过异步方式从服务器下载自动测试 脚本文件包括调用按键机器人,所述按键机器人为JavMcript对象;所述按键机器人向服务器发送脚本文件下载请求;所述按键机器人通过异步方式从服务器接收所述自动测试脚本文件。
6.如权利要求1至5任一项所述的方法,其特征在于,所述方法还包括 重复运行所述自动测试脚本文件,直至达到设定的运行次数。
7.如权利要求1至5任一项所述的方法,其特征在于,所述方法还包括 设置终止按键;在运行所述自动测试脚本文件之前,拦截除所述终止按键之外的外部用户按键消息; 重复运行所述自动测试脚本文件,直至接收到外部用户的终止按键的消息。
8.一种实现嵌入式浏览器自动测试的系统,其特征在于,包括 测试入口单元,用于通过嵌入式浏览器进入测试入口过渡页面;指令接收单元,用于在所述测试入口过渡页面接收用户的测试指令; 下载单元,用于在所述指令接收单元接收到用户的测试指令后,通过异步方式从服务 器下载自动测试脚本文件;保存单元,用于在下载完成后,保存所述自动测试脚本文件;运行单元,用于运行所述自动测试脚本文件,完成对所述嵌入式浏览器的测试。
9.如权利要求8所述的系统,其特征在于,所述测试入口过渡页面中设置有测试按钮,以使用户通过点击所述测试按钮发送所述 测试指令。
10.如权利要求8或9所述的系统,其特征在于,所述运行单元,具体用于重复运行所述自动测试脚本文件; 所述系统还包括计数单元,用于统计所述自动测试脚本文件的运行次数,并在所述运行次数达到设定 的运行次数后,通知所述运行单元停止运行所述自动测试脚本文件。
11.如权利要求8或9所述的系统,其特征在于, 所述运行单元,具体用于重复运行所述自动测试脚本文件, 所述系统还包括控制单元,用于在所述运行单元运行所述自动测试脚本文件之前,拦截除预先设置的 终止按键之外的外部用户按键消息,并在接收到外部用户的所述终止按键的消息后,通知 所述运行单元停止运行所述自动测试脚本文件。
全文摘要
本发明涉及嵌入式浏览器技术领域,公开了一种实现嵌入式浏览器自动测试的方法及系统,所述方法包括通过嵌入式浏览器进入测试入口过渡页面;在所述测试入口过渡页面接收到用户的测试指令后,通过异步方式从服务器下载自动测试脚本文件;下载完成后,保存所述自动测试脚本文件;运行所述自动测试脚本文件,完成对所述嵌入式浏览器的测试。利用本发明,可以实现对嵌入式浏览器的自动按键测试。
文档编号H04L12/26GK102055623SQ201010579068
公开日2011年5月11日 申请日期2010年12月8日 优先权日2010年12月8日
发明者付明伟, 徐佳宏, 朱吕亮 申请人:深圳市茁壮网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1