一种浏览器的测试方法和系统的制作方法

文档序号:8395809阅读:263来源:国知局
一种浏览器的测试方法和系统的制作方法
【技术领域】
[0001]本申请涉及浏览器技术领域,特别是涉及一种浏览器的测试方法和系统。
【背景技术】
[0002]目前随着互联网普及率的迅猛增长,浏览器成了获取信息的重要工作。另一方面,随着消费电子、计算机、通信一体化的趋势,浏览器也随之出现。浏览器可以广泛用于网络电视、网络终端、数字电视机顶盒、掌上电脑等各种信息电器和便携式网络终端中,在工业控制领域也有着广泛的应用前景。
[0003]浏览器环境下,一般没有鼠标,遥控器的按键输入是用户与系统的唯一交互。为此,在进行浏览器测试时,需要人工多次进行按键操作,而且对于一个问题只有在长时间才会出现的情况,则回归测试、重现问题等过程也需要长时间、重复地按键操作。因此,这种方式不仅效率低,而且操作不方便。
[0004]现有一些浏览器测试方法在测试过程中可以模拟用户在浏览器中的大部分操作,故能省去大量的人工操作,提高测试效率,其目前支持的浏览器有IE、Firefox, Opera等,还不支持直接操作与chrome浏览器。也即,现有浏览器测试方法通常只能在IE内核的浏览器中使用,无法运用到其他非IE内核的浏览器中,更无法运用到带有IE内核的双核浏览器(如WebKit+Trident的双核浏览器)中。
[0005]总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够能够高效便捷地对双核浏览器进行测试。

【发明内容】

[0006]本申请所要解决的技术问题是提供一种浏览器的测试方法和系统,能够高效便捷地对双核、多核等浏览器进行测试。
[0007]为了解决上述问题,本申请公开了一种浏览器的测试方法,所述浏览器至少包括第一内核和第二内核,包括:
[0008]加载当前浏览器页面;
[0009]识别当前浏览器页面的内核;
[0010]依据当前浏览器页面的内核,获取相应的文档对象;
[0011]依据当前浏览器页面的文档对象模拟用户的操作。
[0012]优选的,所述识别当前浏览器页面的内核的步骤,包括:
[0013]采用查找标题的方式得到当前浏览器窗口的句柄;
[0014]依据当前浏览器窗口的句柄获取当前浏览器窗口相对屏幕的左上角坐标,进而得到当前浏览器页面的句柄;
[0015]依据当前浏览器页面的句柄类名,识别当前浏览器页面的内核。
[0016]优选的,所述识别当前浏览器页面的内核的步骤,包括:
[0017]采用查找标题的方式得到当前浏览器窗口的句柄;
[0018]依据当前浏览器窗口的句柄获取当前浏览器窗口的进程;
[0019]枚举当前浏览器窗口的进程的子进程;
[0020]依据当前浏览器窗口的进程的子进程的类属性,识别当前浏览器页面的内核。
[0021]优选的,所述依据当前浏览器页面的内核,获取相应的文档对象的步骤,包括:
[0022]如果当前浏览器页面的内核为第一内核,则使用IHTMLDocument2接口获取相应的文件对象;如果当前浏览器页面的内核为第二内核,则依据相应内核服务器的专用通道获取相应的文件对象。
[0023]优选的,还包括:
[0024]在加载当前浏览器页面前,创建第二内核服务器的专用通道,并依据该专用通道启动浏览器;
[0025]所述专用通道包括相应的通信端口 ;
[0026]所述依据相应内核服务器的专用通道获取相应的文件对象的步骤包括:
[0027]向所述相应内核服务器的专用通道的通信端口发送获取文件对象的获取指令;
[0028]接收所述相应内核服务器的专用通道的通信端口返回的文档对象。
[0029]优选的,所述方法还包括:
[0030]在浏览器启动后,如果监控到当前浏览器页面的标签发生了切换,则向接收器发送一条http数据,该条http数据中携带有最新标签的ID ;
[0031]接收器在接收到该条http数据时,发送消息通知;
[0032]所述依据相应内核服务器的专用通道获取相应的文件对象的步骤还包括:
[0033]在接收到该消息通知时,通过解析该条http数据获得最新标签的ID ;
[0034]向所述相应内核服务器的专用通道的通信端口发送切换标签ID的文档对象的切换指令,该切换指令中携带有最新标签的ID ;
[0035]接收所述相应内核服务器的专用通道的通信端口返回的最新标签的文档对象。
[0036]优选的,所述加载当前浏览器页面的步骤,包括:
[0037]采用第一子线程加载当前浏览器页面,并延迟判断当前浏览器页面是否一直处于加载中,若是,则关闭当前浏览器页面及相应的子线程,并采用第二子线程进行后续浏览器页面的加载。
[0038]另一方面,本申请还公开了一种浏览器的测试系统,所述浏览器至少包括第一内核和第二内核,包括:
[0039]页面加载装置,用于加载当前浏览器页面;
[0040]内核识别装置,用于识别当前浏览器页面的内核;
[0041]对象获取装置,用于依据当前浏览器页面的内核,获取相应的文档对象;及
[0042]测试装置,用于依据当前浏览器页面的文档对象模拟用户的操作。
[0043]优选的,所述内核识别装置包括:
[0044]第一窗口句柄获取模块,用于采用查找标题的方式得到当前浏览器窗口的句柄;
[0045]页面句柄获取模块,用于依据当前浏览器窗口的句柄获取当前浏览器窗口相对屏幕的左上角坐标,进而得到当前浏览器页面的句柄;及
[0046]第一识别模块,用于依据当前浏览器页面的句柄类名,识别当前浏览器页面的内核。
[0047]优选的,所述内核识别装置包括:
[0048]第二窗口句柄获取模块,用于采用查找标题的方式得到当前浏览器窗口的句柄;
[0049]进程获取模块,用于依据当前浏览器窗口的句柄获取当前浏览器窗口的进程;
[0050]子进程枚举模块,用于枚举当前浏览器窗口的进程的子进程;
[0051]第二识别模块,用于依据当前浏览器窗口的进程的子进程的类属性,识别当前浏览器页面的内核。
[0052]优选的,所述对象获取装置包括:
[0053]第一对象获取模块,用于在当前浏览器页面的内核为第一内核时,使用IHTMLDocument2接口获取相应的文件对象;及
[0054]第二对象获取模块,用于在当前浏览器页面的内核为第二内核时,依据相应内核服务器的专用通道获取相应的文件对象。
[0055]优选的,还包括:
[0056]浏览器启动装置,用于在加载当前浏览器页面前,创建第二内核服务器的专用通道,并依据该专用通道启动浏览器;
[0057]所述专用通道包括相应的通信端口 ;
[0058]所述第二对象获取模块包括:
[0059]获取指令发送子模块,用于向所述相应内核服务器的专用通道的通信端口发送获取文档对象的获取指令;
[0060]文档对象接收子模块,用于接收所述相应内核服务器的专用通道的通信端口返回的文档对象。
[0061]优选的,所述系统还包括:
[0062]监控装置,用于在浏览器启动后,监控当前浏览器页面的标签的切换;
[0063]发送装置,用于在监控到当前浏览器页面的标签发生了切换时,向接收器发送一条http数据,该条http数据中携带有最新标签的ID ;
[0064]接收器,用于在接收到该条http数据时,向解析子模块发送消息通知;
[0065]所述第二对象获取模块还包括:
[0066]解析子模块,用于在接收到该消息通知时,通过解析该条http数据获得最新标签的ID ;
[0067]切换指令发送子模块,用于向所述相应内核服务器的专用通道的通信端口发送切换标签ID的文档对象的切换指令,该切换指令中携带有最新标签的ID ;
[0068]最新文档对象接收子模块,用于接收所述相应内核服务器的专用通道的通信端口返回的最新标签的文档对象。
[0069]优选的,所述页面加载装置包括:
[0070]子线程判断模块,用于采用第一子线程加载当前浏览器页面;
[0071]回传判断模块,用于延迟判断当前浏览器页面是否一直处于加载中;
[0072]关闭模块,用于在延迟判断当前浏览器页面是否一直处于加载中时,关闭当前浏览器页面及相应的子线程,并采用第二子线程进行后续浏览器页面的加载。
[0073]与现有技术相比,本申请具有以下优点:
[0074]本申请可用于至少包括第一内核的第二内核的双核或多核浏览器,用于通过识别来获取不同内核的文档对象,利用文档对象模拟用户操作,实现双核或多核浏览器
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1