一种网页自动化测试方法及系统的制作方法

xiaoxiao2020-7-22  12

一种网页自动化测试方法及系统的制作方法
【专利摘要】本发明公开一种网页自动化测试方法及其系统,方法包括:浏览器响应于测试操作生成请求,将通过浏览器对待测网页进行自动化测试的每个测试步骤对应的操作标识保存于数据库中;服务器响应于自动测试执行请求,从数据库中获取所述操作标识;服务器根据所述操作标识通过解析将所述函数标识转换为对应的执行函数,并按照所述执行序列标识所标识的顺序排列所述执行函数得到用于进行自动测试的测试脚本;服务器控制执行设备在浏览器上执行所述测试脚本。本发明用户无需在本地安装开发测试环境,而且操作标识比具体的函数简单,用户无需掌握复杂的编程技术,即可完成测试脚本的开发。
【专利说明】—种网页自动化测试方法及系统
【技术领域】
[0001]本发明涉及网页测试相关【技术领域】,特别是一种网页自动化测试方法及系统。
【背景技术】
[0002]当今社会,互联网公司如雨后春笋般的崛起,为了提升人效比与用户满意度。众多的公司都引入了网页应用的自动化测试。大公司一般选用成熟的商业工具,中小公司一般选用开源的工具与框架,无论哪种方式都对本地调试与运行的资源消耗大,尤其是开发脚本的环节对测试人员的技能要求较高,需要工程师具备较好的代码基础,自动化测试工程师长期处于供不应求,导致项目开展自动化的成本居高不下。
[0003]现有的网页应用的自动化测试方案如下:
[0004]1.安装本地集成环境(IDE-1ntegrated Development Environment)或者安装商业工具环境,比如:QTP、IBM Rational等;
[0005]2.搭建工程,使用开源工具与框架的组合(selenium+TestNG,WATIR等);
[0006]3.通过编写工程代码开发自动化脚本;
[0007]4.本地调试通过后入库提交代码;
[0008]5.运行脚本并查看结果。
[0009]现有的网页应用的自动化测试方案的缺点,主要是:
[0010]1.需要安装环境,占用资源多,尤其是商业工具运行时,内存消耗大并且不稳定;[0011 ] 2.在开发脚本的环节,脚本开发较复杂,对测试人员的技能要求较高,需要工程师具备较好的代码基础,脚本代码维护量大;
[0012]3.调试与执行需要占用本地资源;
[0013]4.对实施人员要求有一定的代码基础,成本高。

【发明内容】

[0014]基于此,有必要针对现有的网页应用自动化测试,需要在本地安装环境,且脚本开发较复杂的技术问题,提供一种网页自动化测试方法及系统。
[0015]一种网页自动化测试方法,包括:
[0016]浏览器响应于测试操作生成请求,将通过浏览器对待测网页进行自动化测试的每个测试步骤对应的操作标识保存于数据库中,所述操作标识包括:用于标识所述测试步骤执行顺序的执行序列标识,用于标识所述测试步骤对应的执行函数的函数标识;
[0017]服务器响应于自动测试执行请求,从数据库中获取所述操作标识;
[0018]服务器根据所述操作标识通过解析将所述函数标识转换为对应的执行函数,并按照所述执行序列标识所标识的顺序排列所述执行函数得到用于进行自动测试的测试脚本;
[0019]服务器控制执行设备在浏览器上执行所述测试脚本。
[0020]一种网页自动化测试系统,包括:[0021]测试操作生成模块,用于浏览器响应于测试操作生成请求,将通过浏览器对待测网页进行自动化测试的每个测试步骤对应的操作标识保存于数据库中,所述操作标识包括:用于标识所述测试步骤执行顺序的执行序列标识,用于标识所述测试步骤对应的执行函数的函数标识;
[0022]自动测试启动模块,用于服务器响应于自动测试执行请求,从数据库中获取所述操作标识;
[0023]脚本生成模块,用于服务器根据所述操作标识通过解析将所述函数标识转换为对应的执行函数,并按照所述执行序列标识所标识的顺序排列所述执行函数得到用于进行自动测试的测试脚本;
[0024]执行测试模块,用于服务器控制执行设备在浏览器上执行所述测试脚本。
[0025]本发明获取操作标识,并在响应自动测试请求时,根据操作标识生成脚本并进行测试。因而用户无需在本地安装开发测试环境,而且操作标识比具体的函数简单,用户无需掌握复杂的编程技术,即可完成测试脚本的开发。
【专利附图】

【附图说明】
[0026]图1为本发明一种网页自动化测试方法的工作流程图;
[0027]图2为本发明一个实施例中用于用户输入操作标识的网页示意图;
[0028]图3为本发明一种网页自动化测试系统的系统模块图。
【具体实施方式】
[0029]下面结合附图和具体实施例对本发明做进一步详细的说明。
[0030]如图1所示为本发明一种网页自动化测试方法的工作流程图,包括:
[0031]步骤11,浏览器响应于测试操作生成请求,将通过浏览器对待测网页进行自动化测试的每个测试步骤对应的操作标识保存于数据库中,所述操作标识包括:用于标识所述测试步骤执行顺序的执行序列标识,用于标识所述测试步骤对应的执行函数的函数标识;
[0032]步骤12,服务器响应于自动测试执行请求,从数据库中获取所述操作标识;
[0033]步骤13,服务器根据所述操作标识通过解析将所述函数标识转换为对应的执行函数,并按照所述执行序列标识所标识的顺序排列所述执行函数得到用于进行自动测试的测试脚本;
[0034]步骤14,服务器控制执行设备在浏览器上执行所述测试脚本。
[0035]其中,步骤11中,操作标识为用户通过浏览器访问服务器,并在浏览器中生成具体的操作标识,操作标识根据需要,还可以包括所述测试步骤所操作的网页控件的控件坐标以及所述函数标识所使用的测试数据(缺省值为空)。
[0036]例如编写一个京东站点搜索的自动测试用例,测试步骤如下:
[0037]1.打开京东首页-WWW.jd.com ;
[0038]2.在输入框中输入搜索内容:“iphone5s” ;
[0039]3.点击搜索按钮;
[0040]4.页面跳转至搜索结果页面,验证是否出现“ iphone5s ”,如出现则测试用例成功。[0041]则对应的操作标识为:执行序列标识:1,函数标识:0penBrowser,测试数据:www.jd.com ;执行序列标识:2,函数标识:Input,测试数据:iphone5s ;
[0042]执行序列标识:3,函数标识:Click,控件坐标:结合网页插件所获得的搜索按钮的坐标;
[0043]执行序列标识:4,函数标识:ContainText,测试数据:苹果(APPLE) iphone5sl6G版;
[0044]执行序列标识:5,CloseAlIBrowsersο
[0045]在步骤12中,获取保存的操作标识,并在步骤13中,生成具体对应的脚本,即:
[0046]对应函数标识:0penBrowser,测试数据:www.jd.com,生成采用浏览器打开www.jd.com的脚本函数;
[0047]对应函数标识:Input,测试数据:iphone5s,生成在在输入框中输入搜索内容:“iphone5s”的脚本函数;
[0048]对应函数标识:Click,控件坐标:结合网页插件所获得的搜索按钮的坐标,根据点击对应坐标控件的脚本函数;
[0049]对应函数标识:ContainText,测试数据:苹果(APPLE) iphone5sl6G版,生成检测网页内容是否包含“苹果(APPLE)iphone5S16G版”的脚本函数;
[0050]对应CloseAllBrowsers,生成关闭浏览器脚本函数。
[0051]上述的脚本函数最终形成用于自动测试的测试脚本。
[0052]在步骤14中,执行上述测试脚本。
[0053]本发明的测试脚本编写通过工具平台的形式展现给用户。用户通过在线实现应用自动化脚本的编写,并且编写好的测试脚本可在线调试与运行,就能实现应用的自动化测试。不必再安装工具或环境,并且可节省调试与运行的资源,大大提升资源利用率。
[0054]在其中一个实施例,所述步骤11,具体包括:
[0055]服务器生成用于填写所述操作标识的操作标识填写网页;
[0056]浏览器响应于测试操作生成请求,从所述操作标识填写网页中获取在所述操作标识填写网页上填写的操作标识,并保存在数据库中。
[0057]本实施例中,步骤11执行时,浏览器提供用于填写所述操作标识的网页作为操作标识填写网页,其可以采用如图2所示的网页。用户通过在操作标识填写网页上指定的表格中输入执行序列标识、函数标识,控件坐标(结合recorder plugin实现自动拾取)与测试数据,来实现自动化测试脚本的编写,浏览器接收到来自页面输入的值后,会将用户的执行序列标识、函数标识、控件坐标与测试数据转移为字符串保存在数据库中作为用户脚本保存,当用户脚本被选中执行时,执行机会从数据库中将字符串取出,并且通过编译解析,还原为可执行的测试脚本,对于用户从数据库取出、编译、解析、还原等过程全程透明,用户无需代码经验,只需要通过填写网页页面就可以完成自动化脚本编写与执行,适合场景复杂或者需要长期维护的用例。
[0058]在其中一个实施例,所述步骤11,具体包括:
[0059]浏览器响应于测试操作,录制通过浏览器对待测网页进行自动化测试的每个测试步骤的操作记录;
[0060]将所述操作记录转化为对应的操作标识,并保存在数据库中。[0061]本实施例中用户激活网页上的插件录制功能,在浏览器中操作待测网页,可完成项目主流程的脚本生成,适合快速冒烟回归,不适合场景复杂的用例。
[0062]在其中一个实施例,所述步骤14,具体包括:
[0063]服务器轮询空闲的执行设备,向所述空闲的执行设备发送自动测试请求;
[0064]所述空闲的执行设备在浏览器上执行所述测试脚本。
[0065]通过本方法完成创建脚本后,均会将脚本保存在数据库中,用户使用脚本,可在本地调试与执行,也可通过服务器分配空闲执行机执行,服务器会根据用户执行的任务需求,自动在执行机池中轮询并分发任务至空闲的机器上,根据脚本在指定的浏览器上执行(可执行多个)。
[0066]在其中一个实施例中,还包括:
[0067]获取选定的所述自动化测试所采用的浏览器作为待测试浏览器;
[0068]所述步骤13中,根据所述操作标识生成用于在所述待测试浏览器上进行自动测试的测试脚本;
[0069]所述步骤14中,根据所述测试脚本在所述待测试浏览器上执行测试步骤。
[0070]整个自动化测试系统,提供多种待测试浏览器的环境,用户可以选择自动测试所采用的浏览器,例如IE浏览器、Firefox浏览器、Chrome浏览器等。对应于不同的浏览器,所采用的执行函数也会有相应的不同,服务器在接收到操作标识后,根据所采用的浏览器的不同,采用相应的执行函数生成最终的脚本。
[0071]根据自动化测试需求,在系统中选择在指定的多个待测试浏览器中执行自动测试的脚本,可通过同一组脚本完成兼容性测试,提升测试效率。
[0072]如图3所示为本发明一种网页自动化测试系统的系统模块图,包括:
[0073]测试操作生成模块301,用于浏览器响应于测试操作生成请求,将通过浏览器对待测网页进行自动化测试的每个测试步骤对应的操作标识保存于数据库中,所述操作标识包括:用于标识所述测试步骤执行顺序的执行序列标识,用于标识所述测试步骤对应的执行函数的函数标识;
[0074]自动测试启动模块302,用于服务器响应于自动测试执行请求,从数据库中获取所述操作标识;
[0075]脚本生成模块303,用于服务器根据所述操作标识通过解析将所述函数标识转换为对应的执行函数,并按照所述执行序列标识所标识的顺序排列所述执行函数得到用于进行自动测试的测试脚本;
[0076]执行测试模块304,用于服务器控制执行设备在浏览器上执行所述测试脚本。
[0077]在其中一个实施例,所述测试操作生成模块301,具体用于:
[0078]服务器生成用于填写所述操作标识的操作标识填写网页;
[0079]浏览器响应于测试操作生成请求,从所述操作标识填写网页中获取在所述操作标识填写网页上填写的操作标识,并保存在数据库中。
[0080]在其中一个实施例,所述测试操作生成模块301,具体用于:
[0081]浏览器响应于测试操作,录制通过浏览器对待测网页进行自动化测试的每个测试步骤的操作记录;
[0082]将所述操作记录转化为对应的操作标识,并保存在数据库中。[0083]在其中一个实施例,所述测试执行模块304,具体用于:
[0084]服务器轮询空闲的执行设备,向所述空闲的执行设备发送自动测试请求;
[0085]所述空闲的执行设备在浏览器上执行所述测试脚本。
[0086]在其中一个实施例,还包括:
[0087]获取选定的所述自动化测试所采用的浏览器作为待测试浏览器;
[0088]所述脚本生成模块301中,根据所述操作标识生成用于在所述待测试浏览器上进行自动测试的测试脚本;
[0089]所述执行测试模块304中,根据所述测试脚本在所述待测试浏览器上执行测试步骤。
[0090]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种网页自动化测试方法,其特征在于,包括: 步骤(11),浏览器响应于测试操作生成请求,将通过浏览器对待测网页进行自动化测试的每个测试步骤对应的操作标识保存于数据库中,所述操作标识包括:用于标识所述测试步骤执行顺序的执行序列标识,用于标识所述测试步骤对应的执行函数的函数标识;-步骤(12),服务器响应于自动测试执行请求,从数据库中获取所述操作标识; 步骤(13),服务器根据所述操作标识通过解析将所述函数标识转换为对应的执行函数,并按照所述执行序列标识所标识的顺序排列所述执行函数得到用于进行自动测试的测试脚本; 步骤(14),服务器控制执行设备在浏览器上执行所述测试脚本。
2.根据权利要求1所述的网页自动化测试方法,其特征在于,所述步骤(11),具体包括: 服务器生成用于填写所述操作标识的操作标识填写网页; 浏览器响应于测试操作生成请求,从所述操作标识填写网页中获取在所述操作标识填写网页上填写的操作标识,并保存在数据库中。
3.根据权利要求1所述的网页自动化测试方法,其特征在于,所述步骤(11),具体包括: 浏览器响应于测试操作,录制通过浏览器对待测网页进行自动化测试的每个测试步骤的操作记录; 将所述操作记录转化为对应的操作标识,并保存在数据库中。
4.根据权利要求1所述的网页自动化测试方法,其特征在于,所述步骤(14),具体包括: 服务器轮询空闲的执行设备,向所述空闲的执行设备发送自动测试请求; 所述空闲的执行设备在浏览器上执行所述测试脚本。
5.根据权利要求1所述的网页自动化测试方法,其特征在于,还包括: 获取选定的所述自动化测试所采用的浏览器作为待测试浏览器; 所述步骤(13)中,根据所述操作标识生成用于在所述待测试浏览器上进行自动测试的测试脚本; 所述步骤(14)中,根据所述测试脚本在所述待测试浏览器上执行测试步骤。
6.一种网页自动化测试系统,其特征在于,包括: 测试操作生成模块,用于浏览器响应于测试操作生成请求,将通过浏览器对待测网页进行自动化测试的每个测试步骤对应的操作标识保存于数据库中,所述操作标识包括:用于标识所述测试步骤执行顺序的执行序列标识,用于标识所述测试步骤对应的执行函数的函数标识; 自动测试启动模块,用于服务器响应于自动测试执行请求,从数据库中获取所述操作标识; 脚本生成模块,用于服务器根据所述操作标识通过解析将所述函数标识转换为对应的执行函数,并按照所述执行序列标识所标识的顺序排列所述执行函数得到用于进行自动测试的测试脚本; 执行测试模块,用于服务器控制执行设备在浏览器上执行所述测试脚本。
7.根据权利要求6所述的网页自动化测试系统,其特征在于,所述测试操作生成模块,具体用于: 服务器生成用于填写所述操作标识的操作标识填写网页; 浏览器响应于测试操作生成请求,从所述操作标识填写网页中获取在所述操作标识填写网页上填写的操作标识,并保存在数据库中。
8.根据权利要求6所述的网页自动化测试系统,其特征在于,所述测试操作生成模块,具体用于: 浏览器响应于测试操作,录制通过浏览器对待测网页进行自动化测试的每个测试步骤的操作记录; 将所述操作记录转化为对应的操作标识,并保存在数据库中。
9.根据权利要求6所述的网页自动化测试系统,其特征在于,所述测试执行模块,具体用于: 服务器轮询空闲的执行设备,向所述空闲的执行设备发送自动测试请求; 所述空闲的执行设备在浏览器上执行所述测试脚本。
10.根据权利要求6所 述的网页自动化测试系统,其特征在于,还包括: 获取选定的所述自动化测试所采用的浏览器作为待测试浏览器; 所述脚本生成模块中,根据所述操作标识生成用于在所述待测试浏览器上进行自动测试的测试脚本; 所述执行测试模块中,根据所述测试脚本在所述待测试浏览器上执行测试步骤。
【文档编号】G06F11/36GK103984624SQ201410178631
【公开日】2014年8月13日 申请日期:2014年4月29日 优先权日:2014年4月29日
【发明者】张嵩, 何国兴, 刘多嘉, 陈嘉, 屈勇, 王娜, 何琴, 刘佳, 杨瑾 申请人:北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司

最新回复(0)