一种网页测试方法、设备及系统的制作方法

文档序号:6489739阅读:167来源:国知局
一种网页测试方法、设备及系统的制作方法
【专利摘要】本发明公开一种网页测试方法、设备及系统,该方法包括:网页测试服务器接收客户端发送的待测试网页、待测试网页的URL、从待测试网页中提取出的页面可操作元素以及待测试网页的页面逻辑描述信息,将待测试网页的URL和页面可操作元素添加到页面元素库中;网页测试服务器根据待测试网页的页面逻辑描述信息和页面元素库,生成图形用户界面;接收选择网页URL内页面可操作元素的指令,根据该指令,通过图形用户界面,从页面素库中选取相应的网页URL内页面可操作元素,按照页面逻辑描述信息生成测试脚本;网页测试服务器将生成的测试脚本和待测试网页发送给测试机进行网页测试,利用图形化的测试方案测试网页逻辑,降低网页逻辑测试的门槛。
【专利说明】一种网页测试方法、设备及系统
【技术领域】
[0001]本发明涉及互联网【技术领域】,特别是涉及一种网页测试方法、设备及系统。
【背景技术】
[0002]随着互联网技术的飞速发展,人们的生活与互联网的关系日益紧密,网页浏览器作为网页访问工具,其重要性不言而喻,在这种情况下,网页测试的重要性就日益突出。
[0003]网页测试主要测试网页对不同浏览器的兼容性以及网页逻辑的正确性,现有的网页测试是通过由测试人员编写测试代码进行测试。然而,这种编码测试方案存在的不足之处在于:1、使用门槛高,测试功能靠专业人员编写代码实现,测试脚本仅编码开发人员可读,普通用户无法参与测试;2、在敏捷开发中,需求变更频繁,代码同步变更复杂;3、若只修改页面逻辑中的一部分,在网页测试时,却需要测试人员测试全部测试脚本,增加测试的时间成本和人力成本。
[0004]因此,亟需一种网页测试方案能够解决上述问题。

【发明内容】

[0005]本发明的目的在于提供一种网页测试方法、设备及系统,用以解决现有的网页测试方案实现复杂的问题,实现了网页测试的自动化和图形化。
[0006]为此,本发明实施例采用如下技术方案:
本发明实施例提供一种网页测试方法,所述方法包括:
网页测试服务器接收客户端发送的待测试网页、所述待测试网页的URL、从所述待测试网页中提取出的页面可操作元素,以及待测试网页的页面逻辑描述信息,并将所述待测试网页的URL和页面可操作元素添加到页面元素库中;
所述网页测试服务器根据所述待测试网页的页面逻辑描述信息和所述页面元素库,生成图形用户界面;接收选择网页URL内页面可操作元素的指令,根据该指令,通过所述图形用户界面,从所述页面素库中选取相应的网页URL内页面可操作元素,按照所述页面逻辑描述信息生成测试脚本;
所述网页测试服务器将生成的测试脚本和所述待测试网页发送给测试机进行网页测试。
[0007]本发明实施例还提供一种网页测试服务器,包括:
第一接收模块,用于接收客户端发送的待测试网页、所述待测试网页的URL、从所述待测试网页中提取出的页面可操作元素,以及待测试网页的页面逻辑描述信息;
第一存储模块,用于将所述第一接收模块接收的待测试网页的URL和页面可操作元素添加到页面元素库中;
测试脚本生成模块,用于根据所述第一接收模块接收的待测试网页的页面逻辑描述信息和所述第一存储模块存储的页面元素库,生成图形用户界面,并在接收选择网页URL内页面可操作元素的指令后,根据该指令,通过所述图形用户界面,从所述页面素库中选取相应的网页URL内页面可操作元素,按照所述页面逻辑描述信息生成测试脚本;
第一发送模块,用于将所述测试脚本生成模块生成的测试脚本和所述第一接收模块接收的待测试网页发送给测试机进行网页测试。
[0008]本发明实施例还提供一种网页测试系统,包括:客户端、测试机以及如权利要求7-12任一项所述的网页测试服务器。
[0009]与现有技术相比,本发明的实施例具有如下优点:
本发明实施例根据HTML页面逻辑关系,生成通过用户界面显示的测试脚本,以测试所述HTML页面的逻辑关系,实现了利用图形化的测试方案测试网页逻辑,降低了网页逻辑测试的门槛,若对网页逻辑进行部分修改,不但能够简化测试流程,而且能够对未修改的网页逻辑实现自动测试。
【专利附图】

【附图说明】
[0010]图1为本发明实施例提供的网页测试系统架构示意图;
图2为本发明实施例提供的网页逻辑测试流程示意图;
图3为本发明实施例提供的网页兼容性测试流程示意图;
图4为本发明实施例提供的利用图形化时间轴脚本工具制作测试脚本的示意图;
图5为本发明实施例提供的网页测试服务器结构示意图。
【具体实施方式】
[0011]为了降低了网页测试的门槛,本发明实施例提供了一种网页测试方案,网页测试服务器采用图形可视化技术在图形用户界面制作测试脚本,并交由测试机自动执行,使得不具备程序开发能力的人员也可进行网页逻辑测试,在部分网页逻辑调整的情形下,未做调整的网页逻辑测试可以由测试机自动执行,实现了逻辑测试简单化和自动化,节约了时间成本和人力成本。
[0012]下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0013]如图1所示,本发明实施例提供的网页测试方法,应用于包括客户端11、网页测试服务器12和测试机13的网页测试系统。客户端11用于向网页测试服务器12提交待测试网页,在本发明实施例中,待测试网页为HTMUHyperText Markup Language,超文本标记语言)页面;网页测试服务器12可提供可视化图形界面给测试人员,以使测试人员在可视化图形界面上生成用于测试网页逻辑的测试脚本,并将测试脚本提交给测试机13进行网页逻辑测试;测试机13用于执行测试脚本,并反馈执行结果给网页测试服务器12。
[0014]以下以图1所示的网页测试系统架构为例,结合图2详细说明网页测试流程,如图所示,该流程包括:
步骤201,客户端11将待测试网页(即待测试的HTML页面文件)、待测试网页的URL(Uniform/Universal Resource Locator,统一资源定位)和从该待测试网页中提取出的页面可操作元素以及待测试网页的页面逻辑描述信息,发送给网页测试服务器12。[0015]网页开发人员可在客户端11上开发HTML页面,HTML页面中可包括HTML页面框架和可操作元素对应的功能代码(该功能代码用于定义相应可操作元素的执行逻辑)。HTML页面框架包括页面显示内容、页面可操作元素(例如,按钮、链接等)的定义,但不包括可操作元素对应的功能代码。例如,HTML页面框架可包括:页面框架头、页面导航栏、菜单栏、要显示的页面内容(文字和/或图片)等部分,以及各部分在页面内的布局等。
[0016]具体的,可通过以下方式对页面可操作元素进行定义:对页面可操作元素(例如,按钮、链接等)增加固定前缀,规则化、语义化定义可操作的元素的名称。即,利用DOM(Document Object Model,文件物件模型)标准化标记HTML-Class。例如,定义“注册”页面的注册按钮的编码为:
[注册page]
〈input type = “button,,value = “注册,’ class= “auto-BtnRegister,,/>
从待测试网页中提取出的页面可操作元素的具体实现可以是:客户端11在HTML页面框架尾部加入上报js (javaScript)代码,客户端11通过执行该js代码遍历该网页的DOM节点,取出其中符合前缀规则的可操作元素的名称,并上报到网页测试服务器12。
[0017]上报待测试网页的URL的具体实现可以是:客户端11通过后台服务自动上报网页URL,具体的,在web项目的入口文件加入上报程序,通过自动执行上报程序向网页测试服务器12上报网页URL。
[0018]在本步骤中,客户端11可以开发完成一个HTML页面后,就发送给网页测试服务器12,也可以是多个或全部HTML页面开发完成之后,一并发送给网页测试服务器12。
[0019]进一步的,客户端11还可将待测页面逻辑描述信息发送给测试服务器11。待测页面逻辑描述信息用于描述各HTML页面之间的逻辑关系,可以从用图形户界面读取。
[0020]步骤202,网页测试服务器12接收到客户端11发送的信息后,将页面可操作元素以及网页URL添加到页面元素库中。
[0021]具体的,网页测试服务器12将接收到的页面可操作元素以及待测试网页的URL添加到页面元素库中。页面元素库为本发明实施例新设置,网页测试服务器12根据客户端11所上报的信息,实时对页面元素库进行更新。
[0022]步骤203,网页测试服务器12在接收到生成测试脚本的指令后,根据页面元素库和待测试网页的页面逻辑描述信息,生成测试脚本。
[0023]具体的,网页测试服务器12可提供图形用户界面,其中包含可供网页测试人员提交生成测试脚本的指令的入口(如生成测试脚本按钮)。网页测试服务器12在接收到生成测试脚本的指令后,提供图形用户界面,供网页测试人员生成测试脚本。例如,在图形用户界面上显示页面元素库及其内容,供网页测试人员进行选择,以及在图形用户界面上显示测试脚本制作窗口,在该测试脚本制作窗口中显示有时间轴,网页测试人员根据待测试网页的页面逻辑描述信息,利用图形化时间轴脚本工具,从图形用户界面上显示的页面元素库中选择相应的网页URL内的页面可操作元素,将选中的页面可操作元素拖拽到测试脚本制作窗口中,并根据待测试网页的页面逻辑描述信息的逻辑顺序排列在时间轴上。网页测试服务器12利用jQuery UI网页用户界面代码库,利用图形化时间轴脚本工具,按照待测试网页的页面逻辑描述信息中的时间顺序,生成测试脚本,测试脚本的数据结构通过json_encode函数生成字符串进行存储。
[0024]步骤204,网页测试服务器12将生成的测试脚本以及从客户端11接收到的HTML页面发送给测试机13。
[0025]步骤205,测试机13根据测试脚本调用相关HTML页面,得到执行结果,并向网页测试服务器12反馈执行结果。
[0026]具体的,测试机13在执行测试脚本过程中,可在其网页浏览器上显示执行结果,并对浏览器显示页面进行截屏。测试脚本的执行结果是一系列HTML页面截屏的集合,集合中的HTML页面截屏按照测试脚本的时间顺序排列。测试机13可周期执行测试脚本。
[0027]具体的,测试机13可使用webdriver驱动浏览器的点击动作,并在HTML页面截屏中高亮标注当前操作的元素。当前操作元素是指,HTML页面中即将被操作的可操作元素,包括:按钮、链接等。例如,页面逻辑为:在“首页”页面点击“国内新闻”链接,页面跳转到“国内新闻”页面,根据该页面逻辑生成测试脚本,测试机13执行该测试脚本(即,在浏览器上显示“首页”页面,webdriver驱动点击“国内新闻”链接,显示“国内新闻”页面)时,得到的执行结果为:“首页”页面截屏和“国内新闻”页面截屏,其中,在“首页”页面上,“国内新闻”链接被高亮显示(“国内新闻”链接即为当前操作的元素)。
[0028]步骤206,网页测试服务器12存储测试机13反馈的执行结果。
[0029]具体的,网页测试服务器12接收测试机13发送的执行结果,并将执行结果存储于数据库中。优选的,网页测试服务器12可以以测试机标识为索引进行存储,便于执行结果数据的更新和查找。
[0030]优选的,网页测试服务器12在数据库中存储测试机13反馈的执行结果时,使用页面对比算法,识别执行结果集合中相邻两个HTML页面的变化(能够识别出动态网页页面的局部变化),记录HTML页面变化区域的像素点坐标范围,并高亮显示HTML页面变化区域的像素点坐标范围。例如,在“账户信息”页面中点击“余额查询”按钮后,页面不进行跳转,在当前页面中显示当前账户的余额,页面对比算法则可以识别该页面内容的变化(账户余额替代了原页面显示的内容),记录变化区域的像素点坐标范围,并高亮显示账户余额(该页面的变化区域)。
[0031]在网页测试服务器12获得执行结果之后,客户端11可以向网页测试服务器12发送查看指令,以查看测试机13的执行结果。
[0032]具体的,客户端11发送的查看指令中携带有测试机标识,网页测试服务器12从查看指令中提取测试机标识,并根据测试机标识从数据库中调取相应测试机的执行结果,利用图形化时间轴脚本工具,对测试脚本的执行结果(相应的测试机13反馈的一系列HTML页面截屏的集合),按照测试脚本的时间顺序进行播放。
[0033]优选的,网页测试服务器12可采用以下方式显示测试脚本的执行结果:网页测试服务器12在使用页面对比算法,识别执行结果中相邻两个HTML页面变化情况的过程中,在执行结果中,选择出HTML页面内容变化最大的两个相邻HTML页面,进行优先显示,并高亮显示其中HTML页面变化区域的像素点坐标范围。例如,页面逻辑设计为每天只允许进行10次投票,对于10次/天之内的正常投票,会在当前页面显示投票结果,对于连续投票的操作,在当前页面上动态显示不同的投票结果统计,两次页面显示内容的区别仅在于统计结果不同;当用户在一天之中进行投票的次数大于10时,会在当前页面显示操作错误提示,即,第10次投票后网页显示投票结果,第11次投票后网页显示操作错误。网页测试服务器12在存储测试脚本的执行结果时,优先显示第10次投票后的投票结果显示页面和第11次投票后提示操作错误的页面,以便更迅速有效地发现网页逻辑中的问题。
[0034]可以看出,网页测试服务器12通过上述方式,利用图形化时间轴脚本工具,在图形用户界面播放测试脚本的执行结果,不但可以使网页测试人员直观看到测试脚本中的每一阶段的执行情况,还可以根据需要查看页面逻辑中某个阶段的执行结果。此外,还能够帮助网页开发人员还原Bug (缺陷)发生的过程和场景,降低网页逻辑测试的门槛。
[0035]需要说明的是,网页测试服务器12也可以直接将测试机13反馈的执行结果发送给客户端11,网页测试人员可以在客户端11上进行查看。
[0036]在本发明的另一实施例中,客户端11可通过不同的步骤,向网页测试服务器12发送待测试网页、待测试网页的URL、页面可操作元素以及待测试网页的页面逻辑描述信息。比如,待测试网页的页面逻辑描述信息可以在步骤201之后,由客户端11单独向网页测试服务器12发送。
[0037]在本发明的另一实施例中,网页测试服务器12也可以在生成测试脚本之后,网页功能代码开发完成之前,将测试脚本发送给测试机13。当页面功能代码开发完成之后,网页测试服务器12在接收到执行测试脚本的指令后,将HTML页面发送给测试机13。
[0038]通过以上描述可以看出,通过网页测试服务器在图形用户界面制作测试脚本,并由测试机自动执行,使得不具备程序开发能力的人员也可进行页面逻辑测试,在部分页面逻辑调整的情形下,未做调整的页面逻辑可以由测试机自动完成,实现了逻辑测试简单化和自动化,节约了时间成本和人力成本。
[0039]此外,本发明实施例还提供了 一种网页兼容性测试方案。
[0040]虽然现在也有一些网页测试工具可以通过用户界面测试网页对不同浏览器的兼容性,例如,browsershots和browserlab,针对URL的静态页面,进行在线测试,以测试网页在各种浏览器下呈现出来的效果。但是,上述传统的网页兼容性测试需要在网页开发完成之后进行,若发现兼容性问题,则在修改HTML页面框架的过程中,可能会导致网页逻辑的改变,因而增大了修复成本,而且,传统的网页兼容性测试只能针对不支持动态刷新功能的网页,具有局限性。
[0041]本发明实施例提供的网页测试方案,可以应用于如图1所示的系统,其中,测试机13至少为2个,且各测试机13上安装的网页浏览器各不相同。如图3所示,具体包括以下步骤:
步骤301,网页测试服务器12将HTML页面框架发送给各测试机13。
[0042]具体的,客户端11将待测试网页发送给网页测试服务器12之后,网页测试服务器12可以将HTML页面中的HTML页面框架发送给各测试机13。优选的,客户端11也可以将HTML页面框架和定义可操作元素的执行逻辑的操作分别进行,客户端11向网页测试服务器12发送HTML页面框架后,再由网页测试服务器12将该HTML页面框架发送给各测试机13。
[0043]步骤302,各测试机13在各自安装的浏览器上显示HTML页面框架,将显示的HTML页面框架截屏,并反馈给网页测试服务器12。
[0044]具体的,各测试机13使用webdriver驱动浏览器对显示的HTML页面框架进行截屏。
[0045]步骤303,网页测试服务器12将各测试机反馈的HTML页面框架截屏发送给客户端11。
[0046]具体的,网页测试服务器12将各测试机反馈的HTML页面框架截屏发送给客户端11,以使网页开发者通过客户端11查看HTML页面框架在各测试机13的浏览器上的显示结果,从而评判HTML页面框架对各浏览器的兼容性,例如,通过判断HTML页面框架截屏中应该显示的内容是否正常显示和/或显示的内容是否正确。当发现HTML页面框架在某个浏览器上显示不正常时,客户端11即可对HTML页面框架进行调整和修改。
[0047]在HTML页面框架开发完成之后随即进行HTML页面框架对各浏览器兼容性测试,可以在网页开发早期发现Bug,相对与传统的在整个网页设计全部完成之后(网页逻辑测试完成之后)进行兼容性测试方案,将发现Bug的时间提前,降低修复成本。而且,针对HTML页面框架测试兼容性,不但支持URL静态网页,而且支持具有动态刷新功能(同一 URL页面内容刷新)的网页,扩大了网页对浏览器兼容性测试的覆盖面。
[0048]需要说明的是,步骤301-303也可以在网页逻辑测试完成之后(步骤206之后)进行。
[0049]为了将用户访问网页的操作作为修改网页逻辑的重要参考因素,本发明实施例中,网页测试服务器12还具有抽样采集功能,在产品运营期间,网页测试服务器12能够按照预设条件,收集不同客户端11的运行轨迹(对HTML网页的操作步骤),以还原用户使用过程,作为修改网页逻辑的重要参考因素。
[0050]为更清楚的描述 本发明的上述实施例,下面以测试注册-投票流程相关的网页为例,详细说明网页测试的具体实现过程。
[0051]用于测试注册-投票网页的测试机为3个,测试机(IDl)上安装有win7操作系统和firefox浏览器、测试机(ID2)上安装有winXP操作系统和ie6浏览器、测试机(ID3)上安装有Iinux操作系统和chrome浏览器。
[0052]注册-投票流程主要涉及首页页面、注册页面和投票信息列表页面,需要实现的页面逻辑为:首页页面显示注册登陆按钮和注册按钮,当注册按钮被触发时,跳转至注册页面,当注册页面中的注册信息填写完成且注册按钮被触发时,跳转至投票信息列表页面,投票信息列表页面显示候选信息以及与候选信息相应的投票按钮,当投票按钮被触发时,在当前页面内,在显示候选信息的区域显示投票结果。
[0053]客户端11开发首页页面、注册页面和投票信息列表页面的3个HTML页面框架,定义3个HTML页面框架中的按钮,定义语句如下所示:
[首页page]
〈input type = “button,,value = “登录,,class= “auto-BtnLogin,,/>
〈input type = “button,,value = “注册,’ class= “auto-BtnRegister,,/>
[注册page]
〈input type = “button,,value = “注册,’ class= “auto-BtnRegister,,/>
[投票信息列表page]〈input type = “button” value = “投票” class= “auto-BtnVote”/>
客户端11将开发完成的HTML页面框架发送给网页测试服务器12,并向网页测试服务器12发送上述3个页面框架的URL和从3个网页中提取出的所定义的按钮,网页测试服务器12将3个页面框架的URL和定义的按钮添加到页面元素库中。
[0054]网页测试服务器12将3个HTML页面框架分别发送给3个测试机13,每个测试机13在各自的操作系统以及浏览器上显示这3个HTML页面框架,并将显示的HTML页面截屏,通过网页测试服务器12反馈给客户端11,由网页测试人员通过客户端11识别各页面在不同浏览器上的显示情况,从而判定HTML页面框架对各浏览器的兼容性。
[0055]在完成兼容性测试之后,客户端11将页面逻辑描述信息发送给网页测试服务器12,网页测试人员在图形化时间轴脚本工具的用户界面上,从页面元素库中选择相应的网页URL内的按钮,按照页面逻辑描述信息的时间顺序进行排列。参见图4所示,为利用图形化时间轴脚本工具制作测试脚本的示意图,例如,网页测试人员在图形化时间轴脚本工具的用户界面上,从页面元素库中,利用鼠标从页面元素库中选择登首页页面内的录按钮和注册按钮、选择注册页面内的注册按钮以及选择投票信息列表页面内的投票按钮,拖拽到时间轴上,从而生成注册-投票测试脚本,并分别发送给3个测试机13。
[0056]当各页面的页面功能代码开发完成之后,网页测试人员在图形化用户界面上点击执行测试脚本的按钮,网页测试服务器12在接收到执行测试脚本的指令后,将HTML页面发送给各测试机13,各测试机13周期执行注册-投票测试脚本,并分别将一系列HTML页面截屏的集合(注册-投票测试脚本执行结果)反馈给网页测试服务器12,由网页测试服务器12进行存储。例如,HTML页面截屏的集合包括:首页页面、注册页面、投票信息列表页面(显示候选信息)和投票信息列表页面(显示投票结果)。在首页页面的截屏上,注册按钮被高亮显示;在注册页面上的截屏上,注册按钮被高亮显示;在显示候选信息的投票信息列表页面上,投票按钮被高亮显示。
[0057] 如果网页测试人员想要查看ie6浏览器的注册-投票测试脚本执行结果,则向网页测试服务器12发送查看指令(例如,在图形化用户界面上点击查看执行结果按钮),查看指令中携带有测试机标识ID2 (例如,进一步点击测试机标识为ID2的按钮),网页测试服务器12根据查看指令中的测试机标识ID2,调取相应的注册-投票测试脚本的执行结果,利用图形化时间轴脚本工具进行播放。例如,按照预设的时间间隔,顺序播放测试机标识为ID2的HTML页面截屏集合中的各页面截屏,其中,在显示投票结果的投票信息列表页面中,显示投票结果的区域被自动高亮显示。
[0058]基于相同的构思,本发明实施例还提供一种网页测试服务器,如图5所示,该网页测试服务器包括:
第一接收模块51,用于接收客户端发送的待测试网页、待测试网页的URL、从待测试网页中提取出的页面可操作元素,以及待测试网页的页面逻辑描述信息。
[0059]第一存储模块52,用于将第一接收模块51接收的待测试网页的URL和页面可操作元素添加到页面元素库中。
[0060]测试脚本生成模块53,用于根据第一接收模块51接收的待测试网页的页面逻辑描述信息和第一存储模块52存储的页面元素库,生成图形用户界面,并接收选择网页URL内页面可操作元素的指令后,根据该指令,通过所述图形用户界面,从所述页面素库中选取相应的网页URL内页面可操作元素,按照页面逻辑描述信息生成测试脚本。
[0061]第一发送模块54,用于将测试脚本生成模块53生成的测试脚本和第一接收模块51接收的待测试网页发送给测试机进行网页测试。
[0062]优选的,该网页测试服务器还包括:
第二接收模块55,用于接收测试机反馈的执行结果。
[0063]第二存储模块56,用于根据测试机标识存储第二接收模块55接收到的测试机反馈的执行结果。
[0064]测试脚本执行结果显示模块57,用于在接收到查看测试脚本执行结果的指令后,根据查看测试脚本执行结果的指令中携带的测试机标识,在第二存储模块56中索引相应测试机反馈的测试脚本的执行结果,并显示索引到的执行结果。
[0065]具体的,执行结果为测试脚本执行过程中调用的页面的截屏集合,页面截屏集合中的页面截屏按照时间顺序排列。
[0066]测试脚本执行结果显示模块57具体用于,使用页面对比算法,识别索引到的页面截屏集合中相邻两个页面内容的变化,确定出页面内容变化最大的两个相邻页面,优先显示页面内容变化最大的两个相邻页面,并按照时间顺序,显示面截屏集合中其他页面。
[0067]测试脚本执行结果显示模块57具体用于,按照时间顺序显示页面截屏,并使用页面对比算法,识别索引到的页面截屏集合中相邻两个页面内容的变化,记录变化区域的像素点坐标范围,并高亮显示像素点坐标范围对应的页面内容变化区域。
[0068]具体的,测试机的数量为至少2个,各测试机上安装的浏览器各不相同;网页测试服务器还包括第二发送模块58和第二接收模块55。
[0069]第一发送模块54还用于,在将生成的测试脚本和待测试网页发送给测试机进行网页测试之前,将待测试网页的页面框架发送给各测试机;以使各测试机在各自的浏览器上显示页面框架,并反馈所显示页面截屏;
第二接收模块55,还用于接收各测试机反馈的显示结果,显示结果是各测试机在各自的浏览器上显示页面框架,对显示页面截屏获得的;
第二发送模块58,用于将第二接收模块55接收到的显示结果发送给客户端。
[0070]基于相同的构思,本发明实施例还提供一种网页测试系统,包括:客户端11、测试机13以及前述的网页测试服务器12。
[0071]优选的,测试机13的数量为至少2个,各测试机13上安装的浏览器各不相同。
[0072]本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0073]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0074]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【权利要求】
1.一种网页测试方法,其特征在于,所述方法包括: 网页测试服务器接收客户端发送的待测试网页、所述待测试网页的URL、从所述待测试网页中提取出的页面可操作元素,以及待测试网页的页面逻辑描述信息,并将所述待测试网页的URL和页面可操作元素添加到页面元素库中; 所述网页测试服务器根据所述待测试网页的页面逻辑描述信息和所述页面元素库,生成图形用户界面;接收选择网页URL内页面可操作元素的指令,根据该指令,通过所述图形用户界面,从所述页面素库中选取相应的网页URL内页面可操作元素,按照所述页面逻辑描述信息生成测试脚本; 所述网页测试服务器将生成的测试脚本和所述待测试网页发送给测试机进行网页测 试。
2.如权利要求1所述的方法,其特征在于,所述网页测试服务器将生成的测试脚本和所述待测试网页发送给测试机进行网页测试之后,所述方法还包括: 所述网页测试服务器接收所述测试机反馈的执行结果,并根据测试机标识进行存储; 所述网页测试服务器在接收到查看测试脚本执行结果的指令后,根据所述查看测试脚本执行结果的指令中携带的测试机标识,索引相应测试机反馈的测试脚本的执行结果,并显示索引到的执行结果。
3.如权利要求2所述的方法,其特征在于,所述执行结果为所述测试脚本执行过程中调用的页面的截屏集合,所述页面截屏集合中的页面截屏按照时间顺序排列; 所述显示索引到的执行结果,具体为: 所述网页测试服务器使用页面对比算法,识别索引到的页面截屏集合中相邻两个页面内容的变化,确定出页面内容变化最大的两个相邻页面,优先显示所述页面内容变化最大的两个相邻页面,并按照所述时间顺序,显示面截屏集合中其他页面。
4.如权利要求2所述的方法,其特征在于,所述执行结果为所述测试脚本执行过程中调用的页面的截屏集合,所述页面截屏集合中的页面截屏按照时间顺序排列; 所述显示索引到的执行结果,具体为: 所述网页测试服务器按照所述时间顺序显示所述页面截屏,并使用页面对比算法,识别索引到的页面截屏集合中相邻两个页面内容的变化,记录变化区域的像素点坐标范围,并高亮显示所述像素点坐标范围对应的页面内容变化区域。
5.如权利要求1所述的方法,其特征在于,所述测试机的数量为至少2个,各测试机上安装的浏览器各不相同; 所述网页测试服务器将生成的测试脚本和所述待测试网页发送给测试机进行网页测试之前,所述方法还包括: 所述网页测试服务器将所述待测试网页的页面框架发送给各测试机,并接收各测试机反馈的显示结果,所述显示结果是各测试机在各自的浏览器上显示所述页面框架,对显示页面截屏获得的; 所述网页测试服务器将接收到的显示结果发送给客户端。
6.一种网页测试服务器,其特征在于,包括: 第一接收模块,用于接收客户端发送的待测试网页、所述待测试网页的URL、从所述待测试网页中提取出的页面可操作元素,以及待测试网页的页面逻辑描述信息;第一存储模块,用于将所述第一接收模块接收的待测试网页的URL和页面可操作元素添加到页面元素库中; 测试脚本生成模块,用于根据所述第一接收模块接收的待测试网页的页面逻辑描述信息和所述第一存储模块存储的页面元素库,生成图形用户界面,并在接收选择网页URL内页面可操作元素的指令后,根据该指令,通过所述图形用户界面,从所述页面素库中选取相应的网页URL内页面可操作元素,按照所述页面逻辑描述信息生成测试脚本; 第一发送模块,用于将所述测试脚本生成模块生成的测试脚本和所述第一接收模块接收的待测试网页发送给测试机进行网页测试。
7.如权利要求6所述的网页测试服务器,其特征在于,还包括: 第二接收模块,用于接收所述测试机反馈的执行结果; 第二存储模块,用于根据测试机标识存储所述第二接收模块接收到的所述测试机反馈的执行结果; 测试脚本执行结果显示模块,用于在接收到查看测试脚本执行结果的指令后,根据所述查看测试脚本执行结果的指令中携带的测试机标识,在所述第二存储模块中索引相应测试机反馈的测试脚本的执行结果,并显示索引到的执行结果。
8.如权利要求7 所述的网页测试服务器,其特征在于,所述执行结果为所述测试脚本执行过程中调用的页面的截屏集合,所述页面截屏集合中的页面截屏按照时间顺序排列; 所述测试脚本执行结果显示模块具体用于,使用页面对比算法,识别索引到的页面截屏集合中相邻两个页面内容的变化,确定出页面内容变化最大的两个相邻页面,优先显示所述页面内容变化最大的两个相邻页面,并按照所述时间顺序,显示面截屏集合中其他页面。
9.如权利要求7所述的网页测试服务器,其特征在于,所述执行结果为所述测试脚本执行过程中调用的页面的截屏集合,所述页面截屏集合中的页面截屏按照时间顺序排列; 所述测试脚本执行结果显示模块具体用于,按照所述时间顺序显示所述页面截屏,并使用页面对比算法,识别索引到的页面截屏集合中相邻两个页面内容的变化,记录变化区域的像素点坐标范围,并高亮显示所述像素点坐标范围对应的页面内容变化区域。
10.如权利要求6所述的网页测试服务器,其特征在于,所述测试机的数量为至少2个,各测试机上安装的浏览器各不相同;所述网页测试服务器还包括第二发送模块和第二接收模块; 所述第一发送模块还用于,在将生成的测试脚本和所述待测试网页发送给测试机进行网页测试之前,将所述待测试网页的页面框架发送给各测试机;以使各测试机在各自的浏览器上显示所述页面框架,并反馈所显示页面截屏; 所述第二接收模块,用于接收所述各测试机反馈的显示结果,所述显示结果是各测试机在各自的浏览器上显示所述页面框架,对显示页面截屏获得的; 所述第二发送模块,用于将所述第二接收模块接收到的显示结果发送给客户端。
11.一种网页测试系统,其特征在于,包括:客户端、测试机以及如权利要求6-10任一项所述的网页测试服务器。
12.如权利要求11所述的网页测试系统,其特征在于,所述测试机的数量为至少2个,各测试机上安装的浏览器各不相同。
【文档编号】G06F11/36GK103729285SQ201210382982
【公开日】2014年4月16日 申请日期:2012年10月11日 优先权日:2012年10月11日
【发明者】林跃, 吴任飞, 李翔, 添先盼 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1