一种生成浏览器测试脚本的方法及装置制造方法及图纸

技术编号:10152844 阅读:101 留言:0更新日期:2014-06-30 19:21
本发明专利技术涉及浏览器技术领域,更具体地说,涉及一种生成浏览器测试脚本的方法及装置。所述方法包括下述步骤:脚本录制器检测浏览器与代理服务器之间的信息是否存在会话内容;当所述浏览器与所述代理服务器之间的信息存在会话内容时,所述脚本录制器监听所述浏览器的页面信息、并将所述浏览器与所述代理服务器之间的会话内容记录存储;所述脚本录制器根据监听到的所述浏览器的页面信息生成基于页面的函数语句,并根据所述的函数语句生成初级脚本;所述脚本录制器根据监听到的会话内容产生Http会话序列;所述脚本录制器对生成的初级脚本及监听的会话内容进行筛选,并判断会话序列是否可生成新的脚本语句。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及浏览器
,更具体地说,涉及一种生成浏览器测试脚本的方法及装置。所述方法包括下述步骤:脚本录制器检测浏览器与代理服务器之间的信息是否存在会话内容;当所述浏览器与所述代理服务器之间的信息存在会话内容时,所述脚本录制器监听所述浏览器的页面信息、并将所述浏览器与所述代理服务器之间的会话内容记录存储;所述脚本录制器根据监听到的所述浏览器的页面信息生成基于页面的函数语句,并根据所述的函数语句生成初级脚本;所述脚本录制器根据监听到的会话内容产生Http会话序列;所述脚本录制器对生成的初级脚本及监听的会话内容进行筛选,并判断会话序列是否可生成新的脚本语句。【专利说明】一种生成浏览器测试脚本的方法及装置
本专利技术涉及浏览器
,更具体地说,涉及一种生成浏览器测试脚本的方法及装置。
技术介绍
随着互联网技术的不断发展,浏览器成为了获取信息的重要工具。另一方面,随着消费电子、计算机、通信的一体化趋势,浏览器也随之出现。浏览器是通过解析网页程序代码来显示网页内容,然而目前,网站的后端架构千差万别,前端页面实现技术也多种多样,需要统一的标准录制脚本。WEB支持动态页面,导致浏览器通过超文本协议(Hypertext transfer protocol,HTTP)与服务器进行交互的数据存在差异。动态数据依靠人工判别工作量大,误判率高。而HTTP交互发出的数据是有浏览器解析,处理顺序不确定,发送返回内容不固定,需要多种技术配合才能达到网页级别录制效果,而市场上主流录制工具的脚本,大部分是采用基于HTTP请求头级别的,脚本繁琐参数化不易,以录制www.haol23.com为例,基于HTTP请求头级别的会产生37个函数,而基于网页级别的录制只会产生I个函数。基于网页级别录制脚本可读性好,逻辑结构清晰,参数化工作量少,定位问题方便。目前的测试工具有如下缺点,例如JMeter脚本输出格式为XML,不能进行扩展,无法支持动态页面,不方便定位问题。Performance Runer只能在HTTP层次模拟用户行为,不能在页面层次模拟用户行为,很难支持对动态页面的测试,测试人员工作量大。LoadRunner可以支持动态页面,支持HTTP页面级别的录制,但是属于商业软件,代码不公开,收费昂贵。因此,迫切需要一种技术方案解决测试人员要求录制过程要简单,需要高效,准确,易读易修改,易扩展的测试脚本。需要具有回放功能,提高脚本验证效率。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术的不足,提供一种生成浏览器测试脚本方法。本专利技术解决上述技术问题的技术方案如下:一种生成浏览器测试脚本方法,包括以下步骤:脚本录制器检测浏览器与代理服务器之间的信息是否存在会话内容;当所述浏览器与所述代理服务器之间的信息存在会话内容时,所述脚本录制器监听所述浏览器的页面信息、并将所述浏览器与所述代理服务器之间的会话内容记录存储;所述脚本录制器根据监听到的所述浏览器的页面信息生成基于页面的函数语句,并根据所述的函数语句生成初级脚本;所述脚本录制器根据监听到的会话内容产生Http会话序列;所述脚本录制器对生成的初级脚本及监听Http会话序列进行筛选,并判断Http会话序列是否可生成新的脚本语句,如果是,则添加新脚本语句,生成最终脚本,并将最终脚本保存,结束;如果否,则补充脚本语句,生成最终脚本,并将最终脚本保存,结束。进一步,所述脚本录制器根据监听到的所述浏览器的页面信息生成基于页面的函数语句,具体实现如下:所述页面信息包含浏览器页面解析的开端、浏览器基于完成页面解析的信息,新浏览器打开窗口信息,所述脚本录制器根据浏览器响应的请求头、返回头、返回数据包含的页面信息生成基于信息页面的函数语句;进一步,所述根据所述的函数语句生成初级脚本,具体实现如下:所述脚本录制器根据监听浏览器消息创建对应的模拟浏览器窗口 ;所述模拟浏览器窗口根据监听的浏览器信息,对所述浏览器的窗口内容、属性及New Window 事件、Before Navigate 事件和 Document Complete 事件进行源码解析;所述脚本录制器根据源码解析的结果生出基于HTML页面的初级脚本。进一步,所述的Before Navigate事件可以根据页面的单一框架或者多框架获取浏览器页面当前加载的URL。进一步,所述脚本录制器根据监听到的会话内容产生Http会话序列,具体实现如下:所述脚本录制器监听浏览器与服务器之间信息是否存在会话内容,当存在会话内容时,将所述浏览器与所述代理服务器之间的会话内容记录存储,并根据会话内容产生Http会话序列。进一步,所述脚本录制器对生成的初级脚本及Http会话序列进行筛选,具体实现如下:所述脚本录制器查找会话内容中所有的Get请求,筛选出为资源类型的请求,并且满足Referer字段为Before Navigate事件输出的URL的请求;根据解析Before Navigate事件输出的URL的网页源码与得到网页所有的资源类请求进行对比,如果在网页所有的资源类请求中存在该网页源码,则不操作;如果在网页所有的资源类请求中不存在该网页源码,则补充初级函数的EXTRARES参数;将Referer字段为Before Navigate事件输出的URL且不是资源类请求的请求包单独开启新的初级函数,开始下一轮新的匹配流程。进一步,一种生成浏览器测试脚本的装置,所述装置包括:浏览器,用于向代理服务器发送信息和接收代理服务器反馈的相关信息;代理服务器,用于接收浏览器反馈的相关信息的预读取、临时存储访问过的数据和写入的数据;录制器,通过监控所述浏览器与所述代理服务之间的会话内容,生成最终测试脚本。进一步,一种生成浏览器测试脚本的装置,所述脚本录制器具体包括:指令检测单元,用于检测浏览器与代理服务器之间是否存在会话内容,并将检测到的会话内容发送给监控单元;监控单元,用于在接收到指令检测单元发出的会话内容后,开始监听并记录浏览器与代理服务器的页面信息,将所述的页面信息发送给初级脚本生成单元,并将所述浏览器与所述代理服务器之间的会话内容记录存储到存储单元;初级脚本生成单元,用于将根据监听到的所述浏览器的页面信息生成基于页面的函数语句,并根据所述的函数语句生成初级脚本,将所述初级脚本发送给脚本判断单元。进一步,一种生成浏览器测试脚本的装置,所述脚本录制器具体还包括:序列生成单元,用于将存储单元存储的会话内容生成会话序列,并将所述会话序列发送给脚本判断单元;脚本判断单元,用于对生成的初级脚本及监听的Http会话序列进行筛选,并判断Http会话序列是否可生成新的脚本语句,如果是,则添加新脚本语句,生成最终脚本,并将最终脚本发送给存储单元;如果否,则补充脚本语句,生成最终脚本,并将最终脚本发送给存储单兀;存储单元,用于保存会话内容及存储最终脚本。本专利技术的有益效果是:提供一种基于HTTP页面级别的录制,支持动态页面,支持参数化,支持脚本扩展的方法。本专利技术所述的方法高效便捷、操作简单,录制过程简单,高效,准确,易读易修改,可生成易扩展的测试脚本,具有回放功能,提高脚本验证效率。【专利附图】【附图说明】图1为本专利技术生成浏览器操作的测试脚本方法的实现流程图;图2为本发本文档来自技高网
...

【技术保护点】
一种生成浏览器测试脚本的方法,其特征在于,所述方法包括下述步骤: 脚本录制器检测浏览器与代理服务器之间的信息是否存在会话内容; 当所述浏览器与所述代理服务器之间的信息存在会话内容时,所述脚本录制器监听所述浏览器的页面信息、并将所述浏览器与所述代理服务器之间的会话内容记录存储; 所述脚本录制器根据监听到的所述浏览器的页面信息生成基于页面的函数语句,并根据所述的函数语句生成初级脚本; 所述脚本录制器根据监听到的会话内容产生Http会话序列; 所述脚本录制器对生成的初级脚本及Http会话序列进行筛选,并判断Http会话序列是否可生成新的脚本语句,如果是,则添加新脚本语句,生成最终脚本,并将最终脚本保存,结束;如果否,则补充脚本语句,生成最终脚本,并将最终脚本保存,结束。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨光宇衣安平刘增刘玮
申请(专利权)人:烟台中科网络技术研究所
类型:发明
国别省市:山东;37

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

1