CN103678105B - 一种页面代码的测试方法和装置 - Google Patents
一种页面代码的测试方法和装置 Download PDFInfo
- Publication number
- CN103678105B CN103678105B CN201210345049.1A CN201210345049A CN103678105B CN 103678105 B CN103678105 B CN 103678105B CN 201210345049 A CN201210345049 A CN 201210345049A CN 103678105 B CN103678105 B CN 103678105B
- Authority
- CN
- China
- Prior art keywords
- page
- test
- response data
- image
- background module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种页面代码的测试方法和装置,其中,方法包括:S1、构造测试用例,其中,所述测试用例包括:构造或录制的后台模块响应数据、录制的页面测试操作和页面区域基准图像;S2、回放所述录制的页面测试操作,拦截被测页面向后台模块发送的请求并根据该请求向被测页面返回所述构造或录制的后台模块响应数据;S3、截取页面区域测试图像,并将所述页面区域测试图像与所述页面区域基准图像对比检验测试结果。本发明实现了对web页面代码的自动化测试,同时能自动化检验测试结果,与现有技术相比,节省了硬件资源和人工成本,同时提升了测试效率。
Description
【技术领域】
本发明涉及***测试技术,特别涉及一种页面代码的测试方法和装置。
【背景技术】
对正在开发的web页面代码进行测试是保障web页面代码发布质量的必要手段。现有的测试方法通常都要求搭建被测web页面对应的后台模块,然后在浏览器上人工进行测试操作,并通过人眼直接观察web页面的展示效果来检验测试结果。这样的测试方法存在多个不足:搭建后台模块需要单独占用服务器,耗费了硬件资源,而且在开发中,web页面代码就绪时,后台模块往往尚未就绪,而web页面代码的测试工作只能等待后台模块就绪后再开展,延缓了web页面代码测试的工作进度;测试操作的执行和页面展现效果的检查都需要人工完成,增加了人工成本,同时,人工检验页面的展现效果时容易将存在的问题遗漏。
【发明内容】
本发明提供了一种页面代码的测试的方法和装置,能够自动化对web页面代码进行测试并验证测试结果。
具体技术方案如下:
一种页面代码的测试方法,该方法包括:
S1、构造测试用例,其中,所述测试用例包括:构造或录制的后台模块响应数据、录制的页面测试操作和页面区域基准图像;
S2、回放所述录制的页面测试操作,拦截被测页面向后台模块发送的请求并根据该请求向被测页面返回所述构造或录制的后台模块响应数据;
S3、截取页面区域测试图像,并将所述页面区域测试图像与所述页面区域基准图像对比检验测试结果。
根据本发明一优选实施例,所述后台模块响应数据采用如下方式构造:
确定与所述被测页面向后台模块发送的请求对应的后台模块响应数据的格式,根据所述格式生成响应数据中各参数的值。
根据本发明一优选实施例,所述后台模块响应数据采用如下方式录制:
拦截被测页面发送给后台模块的请求,记录该请求后,将该请求发送至后台模块;
拦截后台模块返回的响应数据,保存该响应数据与所述请求形成对应关系,并将所述响应数据返回给被测页面。
根据本发明一优选实施例,所述页面测试操作的录制,具体为:
录制在受控浏览器上执行的页面测试操作;
所述步骤S2中回放所述录制的页面测试操作,具体为:在所述受控浏览器上回放所述录制的页面测试操作。
根据本发明一优选实施例,所述页面区域基准图像采用如下方式获得:
在所述受控浏览器上执行完页面测试操作后,截取指定的页面区域的图像,其中,所述指定的页面区域为:根据选取的页面元素定位的区域;或者,直接由鼠标拖动选取的区域;
所述步骤S3中截取页面区域测试图像,具体包括:在向被测页面返回所述构造或录制的后台模块响应数据后,在被测页面上截取所述指定的页面区域图像作为页面区域测试图像。
根据本发明一优选实施例,所述步骤S3中将页面区域测试图像与页面区域基准图像对比检验测试结果,具体包括:计算所述页面区域测试图像与所述页面区域基准图像的相似度,若相似度超过预先设定的阈值,则认为测试通过;否则,认为测试未通过。
一种页面代码的测试装置,该装置包括:
构造单元,用于构造测试用例,其中,所述测试用例包括:构造或录制的后台模块响应数据、录制的页面测试操作和页面区域基准图像;
包括测试操作回放子单元和第二截图子单元的测试单元;
所述测试操作回放子单元,用于回放所述录制的页面测试操作,拦截被测页面向后台模块发送的请求并根据该请求向被测页面返回所述构造或录制的后台模块响应数据;
所述第二截图子单元,用于截取页面区域测试图像,并将所述页面区域测试图像与所述页面区域基准图像对比检验测试结果。
根据本发明一优选实施例,所述构造单元包括响应数据子单元,所述响应数据子单元用于采用如下方式构造所述后台模块响应数据:
确定与所述被测页面向后台模块发送的请求对应的后台模块响应数据的格式,根据所述格式生成响应数据中各参数的值。
根据本发明一优选实施例,所述构造单元包括响应数据子单元,所述响应数据子单元用于采用如下方式录制所述后台模块响应数据:
拦截被测页面发送给后台模块的请求,记录该请求后,将该请求发送至后台模块;
拦截后台模块返回的响应数据,保存该响应数据与所述请求形成对应关系,并将所述响应数据返回给被测页面。
根据本发明一优选实施例,所述构造单元包括测试操作录制子单元,所述测试操作录制子单元用于采用如下方式录制所述页面测试操作:
录制在受控浏览器上执行的页面测试操作;
所述测试操作回放子单元采用如下方式回放所述录制的页面测试操作:
在所述受控浏览器上回放所述录制的页面测试操作。
根据本发明一优选实施例,所述构造单元包括第一截图子单元,所述第一截图子单元用于采用如下方式截取页面区域基准图像:
在所述受控浏览器上执行完页面测试操作后,截取指定的页面区域的图像,其中,所述指定的页面区域为:根据选取的页面元素定位的区域;或者,直接由鼠标拖动选取的区域;
所述第二截图子单元采用如下方式截取页面区域测试图像:
在所述测试操作回放子单元向被测页面返回所述构造或录制的后台模块响应数据后,在被测页面上截取所述指定的页面区域图像作为页面区域测试图像。
根据本发明一优选实施例,所述第二截图子单元采用如下方式将页面区域测试图像与页面区域基准图像对比检验测试结果:
计算所述页面区域测试图像与所述页面区域基准图像的相似度,若相似度超过预先设定的阈值,则认为测试通过;否则,认为测试未通过。
由以上技术方案可以看出,本发明通过构造一个包括后台模块响应数据、录制的页面测试操作和页面区域基准图像的测试用例,在测试时,回放测试操作,向web页面返回响应数据,并截图对比验证测试结果,以此实现了对web页面代码的自动化测试。本发明提供的测试方法和装置,使得在测试时节省了硬件资源和人工成本,同时显著提升了测试效率。
【附图说明】
图1为本发明实施例一提供的页面代码的测试方法流程图;
图2为本发明实施例一提供的响应数据构造方法流程图;
图3为本发明实施例一提供的录制的页面测试操作和页面区域基准图像获得方法流程图;
图4为本发明实施例一提供的测试用例获得方法流程图;
图5为本发明实施例一提供的利用测试用例对页面代码测试的方法流程图;
图6为本发明实施例二提供的页面代码的测试装置示意图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
实施例一
图1为本发明实施例一提供的页面代码的测试方法流程图,如图1所示,该方法可以包括:
S101、构造测试用例,其中,所述测试用例包括:构造或录制的后台模块响应数据、录制的页面测试操作和页面区域基准图像。
为了实现web页面代码的测试自动化,需要能够自动化反复执行的测试用例。本发明正是利用通过构造或录制后台模块的响应数据、录制页面测试操作、截取页面区域基准图像来形成一个可自动化执行的测试用例,并以此实现web页面代码的测试自动化。
下面对构造或录制的后台模块响应数据的获得方式进行描述。
若后台模块尚未就绪,则需要构造后台模块的响应数据,如图2所示,该过程可以通过下述步骤S111-S112来实现:
S111、确定与页面请求对应的后台模块响应数据的格式。
可以通过一个管理平台来统一管理与请求对应的响应数据的格式,在该平台上,对于每一个类型的web页面可能发送至后台模块的请求,记录下该请求的类型以及对应的响应数据的格式,该格式包括:响应数据的结构和响应数据中的参数的数量、类型、名称以及每个参数的取值范围等。之后,便能从该管理平台上确定与每一个web页面发送给后台模块的请求对应的响应数据的格式。
S112、根据所述与页面请求对应的后台模块响应数据的格式生成后台模块响应数据。
在确定了与页面请求对应的后台模块响应数据的格式后,可以依据这个格式生成与web页面发送至后台模块的请求对应的响应数据。首先生成响应数据中每个参数的值,本发明提供下述两种优选方式生成参数值:在每一个参数的取值范围内随机生成每一个参数的值;或者,根据测试需要来设定每个参数的值。之后,根据响应数据的结构,将所生成的参数组成一个完整的响应数据。
在步骤S111中采用管理平台来管理与请求对应的响应数据的格式后,可以由该平台依据响应数据的结构,随机生成响应数据内每个参数的值,以此完成响应数据的自动化构造。如果在后续测试时,需要模拟一些极端异常情况,则可以根据需要,由测试人员设定响应数据内每个参数的值。
上述为后台模块尚未就绪的情况下,构造响应数据的方式。若后台模块已经就绪,则可以直接录制后台模块的响应数据,这一过程可以但不限于采用下述方法实现:
拦截web页面发送至后台模块的请求,记录该请求,然后将该请求发送至后台模块,之后,将后台模块的返回的响应数据与之前记录的请求形成对应关系后保存,再将该响应数据返回至web页面。为了便于保存响应数据与请求间的对应关系,在拦截web页面发送至后台模块的请求并进行记录时,可以执行下述操作:记录该请求的url,将该请求发送至后台模块,之后将后台模块返回的响应数据与所记录的url形成对应关系后保存;提取标识该请求的字段,根据该字段生成唯一的字符串,将该请求发送至后台模块,之后将后台模块返回的响应数据与所生成的字符串形成对应关系后保存。
通过上述过程,能够录制得到后台模块根据web页面发送的请求所返回对应的响应数据。
上述为测试用例中构造或录制的后台模块响应数据的获得方式,下面对测试用例中录制的页面测试操作和页面区域基准图像的获得方式进行描述。
为后续能够自动化测试,需要对在页面上的测试操作进行录制,以在测试时进行回放,同时需要截取页面区域基准图像以验证后续测试的结果,如图3所示,这一过程可以通过下述步骤S121-S123来实现:
S121、配置一个受控浏览器,使得该受控浏览器具有录制、回放、定位和截图的功能。
本发明通过设置一个具有录制功能的受控浏览器来实现对页面测试操作的录制,该受控浏览器可以通过在浏览器中载入具有相应功能的插件来实现。例如,可以通过Firefox的Extension机制来加载一个具有录制功能的插件,在该录制插件内定义一系列操作,这些操作需覆盖用户可能在web页面上执行的全部操作,在启用该插件后,在受控浏览器上对web页面执行的任何操作都会触发该录制插件,录制插件获取所执行的操作,记录下该操作对应的操作类型、***作的元素定位符和操作参数等,并保存在指定文件中。
为了完成后续的截图以及测试操作,受控浏览器还需载入回放插件、定位插件和截图插件来实现相应的回放、定位和截图的功能。
回放插件可以从保存测试操作的文件中读取操作类型、***作的元素定位符和操作参数,之后对需***作的元素执行对应操作。
定位插件和截图插件共同完成对页面区域定位截图的功能。本发明提供下述两种优选方式对页面区域进行定位截图:
1、根据元素定位符进行定位截图,在测试操作结束后,指定需要截图的元素,定位插件可以获取被选取元素的Xpath(元素的路径表达式),通过元素的Xpath可定位该些元素在页面中的位置,截图插件对该些被选取的元素进行截图,并将所截取的图像作为页面区域基准图像保存到指定文件中。
2、根据坐标进行定位截图,在测试操作结束后,鼠标拖动选取需要截图的区域,定位插件可以获取该区域相对于页面左上角的横坐标x与纵坐标y,以及该区域的高度h和宽度w,之后截图插件以横坐标x和纵坐标y为起始点,以h为高度、w为宽度对这一区域进行截图,并将所截取的图像作为页面区域基准图像保存到指定文件中。
S122、录制在所述受控浏览器上进行的页面测试操作。
启用录制插件,在受控浏览器上对web页面进行测试操作,如步骤S121中所述,录制插件会记录并保存所执行的页面测试操作。
S123、截取指定的页面区域的图像作为页面区域基准图像。
在对web页面执行完测试操作后,测试人员指定需要进行截图的区域,如步骤S121中所述,可以指定需要截图的元素或者直接选取需要截图的区域,由定位插件定位后,截图插件进行截图,将截取的图像保存并作为页面区域基准图像。
通过上述步骤S101中描述方法,能够形成包括后台模块响应数据、录制的页面操作和页面区域基准截图的测试用例,该测试用例可以实现后续的对web页面代码的自动化测试工作。
需要说明的是,在实际应用中,会出现一部分后台模块已经就绪,而另一部分后台模块尚未就绪的情况,此外,后台模块已经就绪时,录制响应数据的过程可以和步骤121至步骤S123描述的录制页面测试操作并截取页面区域基准图像的过程同时进行。所以,如图4所示,上述步骤S101中描述的方法,还可以按下述步骤S131-S134来实现:
S131、构造尚未就绪的后台模块的响应数据。
对于尚未就绪的后台模块,需构造该些后台模块的响应数据,这一过程可以采用与步骤S111至步骤S112中所述的相同的方法来完成。
S132、录制在所述受控浏览器上进行的页面测试操作。
受控浏览器可以采用步骤S121中所述方法来配置。启用载入到受控浏览器中的录制插件,对web页面进行测试所需的操作,录制插件会记录并保存所执行的页面测试操作。
S133、拦截页面发送至后台模块的请求,若与已构造的数据中存在与该请求对应的响应数据,那么向页面返回该响应数据;否则,将该请求发送至对应的后台模块,将后台模块返回的响应数据与该请求形成对应关系保存后,向页面返回该响应数据。
对web页面进行操作时,web页面会发送请求至后台模块,拦截该请求,在步骤S131构造的响应数据中查找是否存在与该请求对应的响应数据,若存在,则直接将查找到的响应数据返回至web页面;若不存在,则说明该请求需调用的后台模块已经就绪,因此在步骤S131中并未构造该后台模块的响应数据,此时需将该请求发送至后台模块,将后台模块返回的响应数据与该请求形成对应关系后保存,之后将响应数据返回至web页面,这一过程与之前所述录制后台模块的响应数据相同,在此不再赘述。
S134、截取指定的页面区域的图像作为页面区域基准图像。
在完成对web页面的测试操作后,指定需要进行截图的区域,由定位插件定位后,截图插件对这一区域进行截图,将截取的图像保存并作为页面区域基准图像。本步骤的实施方法可以与步骤S123中所述方法相同。
继续参见回图1,接续步骤S101之后存在步骤S102。
S102、利用所述测试用例对被测页面代码进行测试并检验测试结果。
本步骤为测试过程,在构造完包括后台模块响应数据、录制的页面测试操作和页面区域基准图像这三者的测试用例后,可以利用该测试用例完成对被测页面代码的自动化测试并检验测试结果。如图5所示,这一过程可通过下述步骤S141-S143来实现:
S141、在受控浏览器中回放所录制的页面测试操作。
受控浏览器可以采用步骤S121中所述方法来配置。启用回放插件,向web页面回放步骤S122中录制插件所录制的页面测试操作,回放插件从保存测试操作的文件中读取操作类型、***作的元素定位符和操作参数等,并将这些信息转换为相应的操作在web页面上执行。
在对web页面回放测试操作时,web页面会向后台模块发送请求,拦截该请求,从测试用例的响应数据中查找与该请求对应的响应数据并返回给web页面。若测试用例的响应数据包括构造的响应数据和录制的响应数据,则可以先查找所构造的响应数据中是否存在与该请求的对应的响应数据,若存在,则向web页面返回该响应数据;否则,在录制后台模块响应数据时保存的对应关系中查找与该请求对应的响应数据,若对应关系是以请求的url或根据标识请求字段生成的字符串来保存的,那么相应地以该请求的url或根据标识该请求字段生成的字符串在对应关系中查找与该请求对应的响应数据。
S142、截取指定的页面区域测试图像。
在回放的测试操作执行完毕后,对页面区域进行截图。本步骤中需要截图的页面区域与步骤S123中指定的页面区域相同,在步骤S123中,定位插件已经获知需要截图的页面区域的位置信息,所以本步骤中,定位插件可以直接定位该页面区域的位置,之后截图插件对这一页面区域进行截图。
S143、对比所截取的指定页面区域图像与页面区域基准图像并验证测试结果。
将步骤S142所截取的页面区域测试图像与测试用例中的页面区域基准图像进行对比,根据两个图像是否存在差异来判断测试结果。图像的对比可以但不限于采用下述方法:
根据预先设定的单元格尺寸,将页面区域测试图像与页面区域基准图像以相同的方式切分为同样数量的单元格,依次选取页面区域测试图像与页面区域基准图像中相同的单元格,之后,采用点阵diff算法计算所选取的两个单元格中图像的相似度,若计算所得的相似度不小于预先设定的阈值,则认为这两个单元格的图像相同,测试通过;否则,认为这两个单元格的图像存在差异,测试未通过。利用上述方法,可以以单元格为单位,判断页面区域测试图像与页面区域基准图像是否存在差异。在发现存在差异的单元格后,可以设定功能将该单元格自动以高亮度显示,以便更直观地提示测试人员存在差异。若页面区域测试图像和页面区域基准图像的尺寸较小,则可以直接用点阵diff算法计算两者的相似度,而不用将图像切分为单元格。
上述为对本发明实施例一提供的页面代码测试方法进行的描述,通过上述方法,能够实现对某一区域内web页面代码(如html代码、css代码、Javascript代码等)的实际展现效果的自动化测试。下面通过实施例二对本发明提供的装置进行描述,该装置用于完成本发明实施例一中所述流程。
实施例二、
图6为本发明实施例二提供的页面代码的测试装置示意图,如图6所示,该装置包括:构造单元10、测试单元20,其中,构造单元10进一步包括:响应数据子单元11、测试操作录制子单元12和第一截图子单元13,测试单元20中进一步包括:测试操作回放子单元21和第二截图子单元22。
构造单元10,用于构造测试用例,其中,所述测试用例包括:构造或录制的后台模块响应数据、录制的页面测试操作和页面区域基准图像。
构造单元10中进一步包括:响应数据子单元11、测试操作录制子单元12和第一截图子单元13。
响应数据子单元11用于构造或录制后台模块响应数据。
对于尚未就绪的后台模块,响应数据子单元11可以执行下述操作来构造该些后台模块的响应数据:
确定与页面请求对应的后台模块响应数据的格式,之后根据所述与页面请求对应的后台模块响应数据的格式生成后台模块响应数据。
响应数据子单元11可以通过一个管理平台来统一管理与请求对应的响应数据的格式,在该平台上,对于每一个类型的web页面可能发送至后台模块的请求,记录下该请求的类型以及对应的响应数据的格式,该格式包括:响应数据的结构和响应数据中的参数的数量、类型、名称以及每个参数的取值范围等。之后,便能从该管理平台上确定与每一个web页面发送给后台模块的请求对应的响应数据的格式。在确定了与页面请求对应的后台模块响应数据的格式后,可以依据这个格式生成与web页面发送至后台模块的请求对应的响应数据。首先生成响应数据中每个参数的值,本发明提供下述两种优选方式生成参数值:在每一个参数的取值范围内随机生成每一个参数的值;或者,根据测试需要来设定每个参数的值。之后,根据响应数据的结构,将所生成的参数组成一个完整的响应数据。
对于已经就绪的后台模块,响应数据子单元11可以执行下述操作来录制该些后台模块的响应数据:
拦截web页面发送至后台模块的请求,记录该请求,然后将该请求发送至后台模块,之后,将后台模块的返回的响应数据与之前记录的请求形成对应关系后保存,再将该响应数据返回至web页面。为了便于保存响应数据与请求间的对应关系,在拦截web页面发送至后台模块的请求并进行记录时,可以执行下述操作:记录该请求的url,将该请求发送至后台模块,之后将后台模块返回的响应数据与所记录的url形成对应关系后保存;提取标识该请求的字段,根据该字段生成唯一的字符串,将该请求发送至后台模块,之后将后台模块返回的响应数据与所生成的字符串形成对应关系后保存。
测试操作录制子单元12用于录制页面测试操作,这一过程可以通过执行下述操作实现:
在受控浏览器中载入具有录制功能的录制插件,启用该录制插件,获取在受控浏览器上对web页面执行的操作,记录下该操作对应的操作类型、***作的元素定位符和操作参数等,并保存在指定文件中。
第一截图子单元13用于截取页面区域基准图像,这一过程可以通过执行下述操作实现:
在受控浏览器中载入具有定位功能的定位插件和具有截图功能的截图插件,在测试操作录制子单元12完成页面测试操作的录制后,启用定位插件,定位需要截图的区域在页面中的位置,之后启用截图插件,对所定位的区域进行截图以作为页面区域基准图像。第一截图子单元13可以通过下述两种方式执行定位截图的操作:
1、根据元素定位符进行定位截图,在测试操作结束后,指定需要截图的元素,启用定位插件获取被选取元素的Xpath,通过元素的Xpath可定位该些元素在页面中的位置,启用截图插件对该些被选取的元素进行截图,并将所截取的图像作为页面区域基准图像保存到指定文件中。
2、根据坐标进行定位截图,在测试操作结束后,鼠标拖动选取需要截图的区域,启用定位插件获取该区域相对于页面左上角的横坐标x与纵坐标y,以及该区域的高度h和宽度w,之后启用截图插件以横坐标x和纵坐标y为起始点,以h为高度、w为宽度对这一区域进行截图,并将所截取的图像作为页面区域基准图像保存到指定文件中。
测试单元20,用于回放所述录制的页面测试操作,拦截被测页面向后台模块发送的请求并根据该请求向被测页面返回所述构造或录制的后台模块响应数据;还用于截取页面区域测试图像,并将所述页面区域测试图像与所述页面区域基准图像对比检验测试结果。
测试单元20中进一步包括:测试操作回放子单元21和第二截图子单元22。
测试操作回放子单元21用于回放所述录制的页面测试操作,拦截被测页面向后台模块发送的请求并根据该请求向被测页面返回所述构造或录制的后台模块响应数据。
测试操作回放子单元21在受控浏览器中载入具有回放功能的回放插件,之后从特定文件中读取测试操作录制子单元12所记录的操作类型、***作的元素定位符和操作参数等,将这些信息转换为相应的操作并启用回放插件在受控浏览器上对web页面执行该操作。
当web页面会向后台模块发送请求时,测试操作回放子单元21拦截该请求,从响应数据子单元11构造或录制的响应数据中查找与该请求对应的响应数据并返回给web页面。测试操作回放子单元21先查找响应数据子单元11所构造的响应数据中是否存在与该请求的对应的响应数据,若存在,则向web页面返回该响应数据;否则,在响应数据子单元11录制后台模块响应数据时保存的对应关系中查找与该请求对应的响应数据,若对应关系是以请求的url或根据标识请求字段生成的字符串来保存的,那么相应地以该请求的url或根据标识该请求字段生成的字符串在对应关系中查找与该请求对应的响应数据。
第二截图子单元22用于截取页面区域测试图像,并将所述页面区域测试图像与所述页面区域基准图像对比检验测试结果。
在测试操作回放子单元21回放的测试操作执行完毕后,第二截图子单元22启用第一截图子单元13在受控浏览器中载入的定位插件和截图插件对指定页面区域进行截图,将截图所得图像作为页面区域测试图像,并将该图像与第一截图子单元13所截取的页面区域基准图像进行对比以检验测试结果。图像的对比可以但不限于采用下述方法:
根据预先设定的单元格尺寸,将页面区域测试图像与页面区域基准图像以相同的方式切分为同样数量的单元格,依次选取页面区域测试图像与页面区域基准图像中相同的单元格,之后,采用点阵diff算法计算所选取的两个单元格中图像的相似度,若计算所得的相似度不小于预先设定的阈值,则认为这两个单元格的图像相同,测试通过;否则,认为这两个单元格的图像存在差异,测试未通过。利用上述方法,可以以单元格为单位,判断页面区域测试图像与页面区域基准图像是否存在差异。在发现存在差异的单元格后,可以设定功能将该单元格自动以高亮度显示,以便更直观地提示测试人员存在差异。若页面区域测试图像和页面区域基准图像的尺寸较小,则可以直接用点阵diff算法计算两者的相似度,而不用将图像切分为单元格。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种页面代码的测试方法,其特征在于,该方法包括:
S1、构造测试用例,其中,所述测试用例包括:构造的后台模块响应数据、录制的页面测试操作和页面区域基准图像;所述后台模块响应数据采用如下方式构造:确定与被测页面向后台模块发送的请求对应的后台模块响应数据的格式,根据所述格式生成响应数据中各参数的值;所述页面区域基准图像采用如下方式获得:在受控浏览器上执行完页面测试操作后,截取指定的页面区域的图像,其中,所述指定的页面区域为:根据选取的页面元素定位的区域;或者,直接由鼠标拖动选取的区域;
S2、回放所述录制的页面测试操作,拦截被测页面向后台模块发送的请求并根据该请求向所述被测页面返回所述构造的后台模块响应数据;
S3、截取页面区域测试图像,并将所述页面区域测试图像与所述页面区域基准图像对比检验测试结果。
2.根据权利要求1所述的方法,其特征在于,所述页面测试操作的录制,具体为:
录制在所述受控浏览器上执行的页面测试操作;
所述步骤S2中回放所述录制的页面测试操作,具体为:在所述受控浏览器上回放所述录制的页面测试操作。
3.根据权利要求2所述的方法,其特征在于,
所述步骤S3中截取页面区域测试图像,具体包括:在向被测页面返回所述构造的后台模块响应数据后,在被测页面上截取所述指定的页面区域图像作为页面区域测试图像。
4.根据权利要求1所述的方法,其特征在于,所述步骤S3中将页面区域测试图像与页面区域基准图像对比检验测试结果,具体包括:计算所述页面区域测试图像与所述页面区域基准图像的相似度,若相似度超过预先设定的阈值,则认为测试通过;否则,认为测试未通过。
5.一种页面代码的测试装置,其特征在于,该装置包括:
构造单元,用于构造测试用例,其中,所述测试用例包括:构造的后台模块响应数据、录制的页面测试操作和页面区域基准图像;所述构造单元包括响应数据子单元,所述响应数据子单元用于采用如下方式构造所述后台模块响应数据,确定与被测页面向后台模块发送的请求对应的后台模块响应数据的格式,根据所述格式生成响应数据中各参数的值;所述构造单元包括第一截图子单元,所述第一截图子单元用于采用如下方式截取页面区域基准图像:在受控浏览器上执行完页面测试操作后,截取指定的页面区域的图像,其中,所述指定的页面区域为:根据选取的页面元素定位的区域;或者,直接由鼠标拖动选取的区域;
包括测试操作回放子单元和第二截图子单元的测试单元;
所述测试操作回放子单元,用于回放所述录制的页面测试操作,拦截被测页面向后台模块发送的请求并根据该请求向所述被测页面返回所述构造的后台模块响应数据;
所述第二截图子单元,用于截取页面区域测试图像,并将所述页面区域测试图像与所述页面区域基准图像对比检验测试结果。
6.根据权利要求5所述的装置,其特征在于,所述构造单元包括测试操作录制子单元,所述测试操作录制子单元用于采用如下方式录制所述页面测试操作:
录制在所述受控浏览器上执行的页面测试操作;
所述测试操作回放子单元采用如下方式回放所述录制的页面测试操作:
在所述受控浏览器上回放所述录制的页面测试操作。
7.根据权利要求6所述的装置,其特征在于,
所述第二截图子单元采用如下方式截取页面区域测试图像:
在所述测试操作回放子单元向被测页面返回所述构造的后台模块响应数据后,在被测页面上截取所述指定的页面区域图像作为页面区域测试图像。
8.根据权利要求5所述的装置,所述第二截图子单元采用如下方式将页面区域测试图像与页面区域基准图像对比检验测试结果:
计算所述页面区域测试图像与所述页面区域基准图像的相似度,若相似度超过预先设定的阈值,则认为测试通过;否则,认为测试未通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210345049.1A CN103678105B (zh) | 2012-09-17 | 2012-09-17 | 一种页面代码的测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210345049.1A CN103678105B (zh) | 2012-09-17 | 2012-09-17 | 一种页面代码的测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678105A CN103678105A (zh) | 2014-03-26 |
CN103678105B true CN103678105B (zh) | 2018-11-09 |
Family
ID=50315745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210345049.1A Active CN103678105B (zh) | 2012-09-17 | 2012-09-17 | 一种页面代码的测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678105B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515883A (zh) * | 2014-09-22 | 2016-04-20 | 阿里巴巴集团控股有限公司 | 一种测试方法及*** |
US9753843B2 (en) * | 2014-11-20 | 2017-09-05 | Accenture Global Services Limited | Automated testing of web-based applications |
CN104636255A (zh) * | 2015-02-14 | 2015-05-20 | 广州华多网络科技有限公司 | 网页应用的显示效果测试方法及装置 |
CN105068918B (zh) * | 2015-06-03 | 2017-11-17 | 中国人民财产保险股份有限公司 | 一种页面测试方法及装置 |
CN106326091B (zh) * | 2015-06-24 | 2020-12-11 | 深圳市腾讯计算机***有限公司 | 一种浏览器网页兼容性的检测方法及*** |
CN104978270A (zh) * | 2015-07-03 | 2015-10-14 | 上海触乐信息科技有限公司 | 一种自动化地软件测试方法和装置 |
CN105095083A (zh) * | 2015-08-24 | 2015-11-25 | 上海斐讯数据通信技术有限公司 | 一种用于安卓***中手机界面截图测试方法及装置 |
CN105260301A (zh) * | 2015-09-24 | 2016-01-20 | 努比亚技术有限公司 | 用户界面的视效比对测试装置及其实现方法 |
CN105653460A (zh) * | 2016-02-29 | 2016-06-08 | 东南大学 | 触屏式产品人机接口测试动作录制与回放的方法及*** |
CN105930265A (zh) * | 2016-04-11 | 2016-09-07 | 武汉卡比特信息有限公司 | 一种基于图像识别的软件测试方法 |
CN107040574B (zh) * | 2016-11-17 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种截图、数据处理方法及设备 |
CN106802864A (zh) * | 2016-12-30 | 2017-06-06 | ***股份有限公司 | 一种基于金融***的测试方法及装置 |
CN107239404A (zh) * | 2017-07-27 | 2017-10-10 | 广州云测信息技术有限公司 | 一种问题定位方法和设备 |
CN108255726A (zh) * | 2018-01-18 | 2018-07-06 | 北京网信云服信息科技有限公司 | 一种应用程序页面适配测试方法及装置 |
CN110704772A (zh) * | 2018-06-22 | 2020-01-17 | 北京京东尚科信息技术有限公司 | 页面异常监控方法、***、装置、电子设备及计算机可读介质 |
CN109086203B (zh) * | 2018-07-20 | 2022-10-28 | 百度在线网络技术(北京)有限公司 | 页面的检测方法和装置 |
CN109784369A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | H5页面测试方法与装置、电子设备、存储介质 |
CN109885484A (zh) * | 2019-01-16 | 2019-06-14 | 深圳壹账通智能科技有限公司 | 应用页面测试方法、装置、计算机设备和存储介质 |
CN110008117A (zh) * | 2019-03-12 | 2019-07-12 | 深圳壹账通智能科技有限公司 | 页面测试方法、装置、计算机设备和存储介质 |
CN110580224A (zh) * | 2019-09-20 | 2019-12-17 | 中国银行股份有限公司 | 一种***测试方法、装置及设备 |
CN110737599A (zh) * | 2019-10-18 | 2020-01-31 | 付彪 | 基于图片对比技术的前端自动化回归测试***及方法 |
CN111522749B (zh) * | 2020-04-26 | 2023-04-11 | 北京三快在线科技有限公司 | 页面测试方法、装置、可读存储介质及电子设备 |
CN113722203A (zh) * | 2020-05-26 | 2021-11-30 | 京东数字科技控股有限公司 | 程序测试方法及装置、电子设备和计算机可读存储介质 |
CN112100075B (zh) * | 2020-09-24 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 一种用户界面回放方法、装置、设备及存储介质 |
CN112256984B (zh) * | 2020-10-22 | 2022-09-30 | 上海万物新生环保科技集团有限公司 | 一种网页对应的接口托底截图的获取方法及设备 |
CN113342627B (zh) * | 2021-05-31 | 2023-03-21 | 深圳前海微众银行股份有限公司 | 一种终端的应用服务监控方法及监控*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242621A (zh) * | 2008-01-21 | 2008-08-13 | 中兴通讯股份有限公司 | 一种基于界面的自动化测试方法及*** |
CN101882105A (zh) * | 2010-06-01 | 2010-11-10 | 华南理工大学 | 一种测试Web网页并发环境下响应时间的方法 |
CN102419732A (zh) * | 2011-12-27 | 2012-04-18 | Tcl集团股份有限公司 | 基于android平台的自动化测试方法及测试工具 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8151276B2 (en) * | 2008-02-27 | 2012-04-03 | Accenture Global Services Gmbh | Test script transformation analyzer with change guide engine |
-
2012
- 2012-09-17 CN CN201210345049.1A patent/CN103678105B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242621A (zh) * | 2008-01-21 | 2008-08-13 | 中兴通讯股份有限公司 | 一种基于界面的自动化测试方法及*** |
CN101882105A (zh) * | 2010-06-01 | 2010-11-10 | 华南理工大学 | 一种测试Web网页并发环境下响应时间的方法 |
CN102419732A (zh) * | 2011-12-27 | 2012-04-18 | Tcl集团股份有限公司 | 基于android平台的自动化测试方法及测试工具 |
Also Published As
Publication number | Publication date |
---|---|
CN103678105A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678105B (zh) | 一种页面代码的测试方法和装置 | |
CN111262759B (zh) | 一种物联网平台测试方法、装置、设备和存储介质 | |
CN104794050B (zh) | 应用程序的测试方法、装置及*** | |
CN103942497B (zh) | 一种取证式网站漏洞扫描方法和*** | |
CN107341098A (zh) | 软件性能测试方法、平台、设备及存储介质 | |
CN108717393A (zh) | 一种应用程序测试方法及移动终端 | |
CN106354634A (zh) | 接口测试方法及装置 | |
CN109542791A (zh) | 一种基于容器技术的程序大规模并发评测方法 | |
CN108446221A (zh) | ***测试方法、装置、计算机设备和存储介质 | |
US20230273775A1 (en) | Remote application modernization | |
CN108459850B (zh) | 生成测试脚本的方法、装置及*** | |
CN110401634A (zh) | 一种Web应用漏洞检测规则引擎实现方法及终端 | |
CN110221959B (zh) | 应用程序的测试方法、设备以及计算机可读介质 | |
CN109460365B (zh) | 一种***性能测试方法、装置、设备及存储介质 | |
JP4627539B2 (ja) | 負荷試験システムおよび負荷試験データ作成方法、ならびにそのプログラム | |
CN108415826A (zh) | 应用的测试方法、终端设备及计算机可读存储介质 | |
CN110833693A (zh) | 游戏运行方法和装置、存储介质及电子装置 | |
CN107704369A (zh) | 一种操作日志的记录方法、电子设备、存储介质、*** | |
CN110380936A (zh) | 测试方法和装置 | |
KR20150025106A (ko) | 애플리케이션 검증결과 모니터링 서비스를 위한 검증장치, 단말장치, 시스템, 방법 및 컴퓨터로 판독 가능한 기록 매체 | |
CN104734918A (zh) | 一种轻量级网页性能测试架构和方法 | |
CN101510172B (zh) | 测试***及方法 | |
CN109840212A (zh) | 应用程序的功能测试方法、装置、设备及可读存储介质 | |
CN107332805A (zh) | 检测漏洞的方法、装置和*** | |
CN110399723A (zh) | 漏洞检测方法和装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |