CN109002389A - 页面自动化测试的方法和装置 - Google Patents
页面自动化测试的方法和装置 Download PDFInfo
- Publication number
- CN109002389A CN109002389A CN201710422503.1A CN201710422503A CN109002389A CN 109002389 A CN109002389 A CN 109002389A CN 201710422503 A CN201710422503 A CN 201710422503A CN 109002389 A CN109002389 A CN 109002389A
- Authority
- CN
- China
- Prior art keywords
- page
- correcting
- application program
- response
- application server
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种页面自动化测试的方法和装置,能够使页面自动化测试不再依赖于页面元素来做断言,页面改动之后,原来的自动化测试用例不需要全部重新维护,只需要修改配置文件来屏蔽改动的页面结构部分,针对老的结构依旧可以回归,从而实现高效、适用范围广且维护成本低的页面自动化测试。该方法包括:配置待测页面的指定网络请求;向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求;接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应,并对比,若响应一致,则测试用例成功,若响应不一致,则测试用例失败。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种页面自动化测试的方法和装置。
背景技术
Selenium是目前页面自动化测试最长使用的开源自动化工具,Selenium是ThoughtWorks公司开发的页面自动化测试工具。它可以在WINDOWS,LINUX,MAC等多种平台上运行,而且可以用Java,C#,PERL,PHP等多种编程语言进行构建,支持多个浏览器的测试。
现有技术的页面自动化测试的技术方案中,大都使用Selenium+Python或者Selenium+Java来作为页面自动化的框架。通过页面元素的路径或者属性查找元素,通过配置测试用例的期望值来断言页面元素的存在性以及正确性。一般而言,一个测试用例用来断言页面的一种元素。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1.目前Selenium+Python或者Selenium+Java框架通过页面元素的路径或属性查找元素的方式,对页面的构建要求较高,如果页面出现了稍许调整或重构,则利用原来配置的路径和属性就找不到指定的元素。因此,测试用例的维护频率较高,维护成本较大,灵活性较低;
2.如果针对一个页面多个元素做校验,需要配置多个测试用例,测试用例编写的成本较高;
3.该页面自动化框架不适用于Web应用改版的测试,遇到这种项目,所有用例需要重做,但其实页面的请求和服务器端并没有改造,因此,会造成人力资源的浪费。
发明内容
有鉴于此,本发明实施例提供一种页面自动化测试的方法和装置,能够使页面自动化测试不再依赖于页面元素来做断言,页面改动之后,原来的自动化测试用例不需要全部重新维护,只需要修改配置文件来屏蔽改动的页面结构部分,针对老的结构依旧可以回归,从而实现高效、适用范围广且维护成本低的页面自动化测试。
为实现上述目的,根据本发明实施例的一个方面,提供了一种页面自动化测试的方法。
本发明实施例的一种页面自动化测试的方法包括:配置待测页面的指定网络请求;向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求;接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应,并对比,若响应一致,则测试用例成功,若响应不一致,则测试用例失败。
可选地,所述方法包括:利用Java代码配置待测页面的指定网络请求;以及调用Java的httpclient工具类向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求。
可选地,所述待测页面包括以下一种或几种:接口升级类页面、结构调整类页面、新增功能类页面。
可选地,在接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应之后,所述方法还包括:将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
可选地,所述方法还包括:通过正则匹配的方式将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
为实现上述目的,根据本发明实施例的另一方面,提供了一种页面自动化测试的装置。
本发明实施例的一种页面自动化测试的装置包括:配置模块,用于配置待测页面的指定网络请求;发送模块,用于向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求;对比模块,用于接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应,并对比,若响应一致,则测试用例成功,若响应不一致,则测试用例失败。
可选地,所述装置中:所述配置模块还用于利用Java代码配置待测页面的指定网络请求;以及所述发送模块还用于调用Java的httpclient工具类向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求。
可选地,所述待测页面包括以下一种或几种:接口升级类页面、结构调整类页面、新增功能类页面。
可选地,所述装置还包括:屏蔽模块,用于在接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应之后,将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
可选地,所述屏蔽模块还用于:通过正则匹配的方式将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的页面自动化测试的方法。
为实现上述目的,根据本发明实施例的又一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的页面自动化测试的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用了通过配置指定网络请求获取改版前应用页面的响应直接作为基准测试用例,对比改版后待测页面的响应的技术手段,所以克服了受限于页面结构的固定性,如果页面出现了稍许调整或重构,则利用原来配置的路径和属性就找不到指定的元素的技术问题,进而达到页面自动化测试不再依赖于页面元素来做断言,即使页面元素改动,只需要修改配置文件来屏蔽发生改动的页面结构部分,针对老的结构依旧可以回归,不用浪费大量时间维护的技术效果;此外,利用本发明实施例的技术方案,从而针对一个页面的多个元素进行校验,甚至是整个页面所有元素和结构的校验,无需每个元素都编写一个测试用例,从而提高测试用例的灵活性,降低测试用例的维护和编写成本,释放人力资源;通过利用Java代码抓取指定网络请求,从而可以方便后续实现对待测页面的测试;通过对结构有调整或者有新增功能的待测页面,获取到待对比响应后,屏蔽页面新功能或者改动的地方对应的响应,从而可以准确的确定改版后的页面的老功能部分是否测试成功;通过利用正则表达式匹配的方式进行对应响应内容的屏蔽,从而准确实现响应比对,完成回归测试。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的页面自动化测试的方法的主要步骤的示意图;
图2是根据本发明实施例的页面自动化测试的方法的具体流程示意图;
图3是根据本发明实施例的页面自动化测试的装置的主要模块的示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例提出一种针对Web应用程序的高效的、维护成本低的页面自动化测试的技术方案,能够使页面自动化测试不再依赖于页面元素来做断言。在页面的改动之后,原来的自动化测试用例(测试用例,即Test Case,是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求)不需要全部重新维护,只需要修改配置文件来屏蔽改动的页面结构部分,针对老的结构依旧可以实现回归测试;而且本发明实施例的技术方案还可适用于针对一个页面的多个元素校验,甚至是整个页面所有元素和结构的校验,从而能够提高测试用例的灵活性,降低测试用例的维护和编写成本,释放人力资源。
图1是根据本发明实施例的页面自动化测试的方法的主要步骤的示意图。
如图1所示,本发明实施例的一种页面自动化测试的方法主要包括如下步骤:
步骤S101:配置待测页面的指定网络请求。本发明实施例中,待测页面可以包括以下一种或几种:接口升级类页面、结构调整类页面、新增功能类页面。通过配置指定网络请求,从而能够根据页面测试需求进行改版后页面的自动化测试。本发明实施例中,配置指定网络请求,可以是利用Java代码配置待测页面的指定网络请求。
在步骤S101完成了指定网络请求的配置之后,从步骤S102开始测试。
步骤S102:向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求。如前所述,本发明实施例中,可以是利用Java代码配置待测页面的指定网络请求,则发送指定网络请求可以是通过调用Java的httpclient工具类向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别进行发送。
步骤S103:接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应,并对比,若响应一致,则测试用例成功,若响应不一致,则测试用例失败。
本发明实施例中,通过配置待测试页面的指定请求,并向改版前和改版后应用程序的应用服务器分别发送所述指定网络请求(测试输入),接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应(执行条件),并对比,若待对比响应与基准响应(预期结果)一致,则测试用例成功,若若待对比响应与基准响应(预期结果)不一致,则测试用例失败。
需要说明的是,在接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应之后,本发明实施例的页面自动化测试的方法还可以包括:将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。此步骤的目的在于,改版后的Web应用程序的页面可能存在新增加或者改动的地方,在断言Response响应时可以把改动的地方进行屏蔽,而只断言以前的老的功能和页面,如此才能准确的实现回归测试。
本发明实施例中,断言Response响应时对改动过的地方进行屏蔽,可以是通过正则匹配的方式将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
图2是根据本发明实施例的页面自动化测试的方法的具体流程示意图。
如图2所示,本发明实施例的页面自动化测试的方法的具体流程如下:
首先在程序里(本发明实施例中,可以但不限于是利用Java代码编写的程序)配置待测页面中需要抓取的指定网络请求,例如get和/或post请求(一般而言,会存在很多访问Web应用程序页面的请求,本发明实施例中,根据所测试的Web应用程序的需求来决定需要抓取哪些请求,这就是上文说的指定网络请求,然后配置在配置文件中,如果Web应用程序需要全部抓取就可以全部抓取,如果不需要就抓取需要的,可以灵活配置)。本发明实施例中,一般测试用例的划分是以一个页面的一个请求为一个测试用例,每一个页面为一个基类,循环执行该类下的所有测试用例。
然后通过可以但不限于调用Java的httpclient工具类,分别向改版前的Web应用程序和改版后的Web应用程序所在的两台应用服务器发送配置好的get和/或post请求,然后把两台应用服务器返回的Response响应抓取到。
最后对比两台应用服务器返回的请求的Response响应,以改版前返回的请求的Response响应为基准,断言改版后返回的请求的Response响应是否正确。
如果只是页面接口升级类的测试,不涉及页面结构变动,那两台应用服务器返回的请求的Response响应应该完全一致,该条测试用例才算成功,否则该条测试用例失败;如果属于页面结构调整类的测试或者页面新增功能类的测试,因为页面结构可能存在调整,某些获取页面结构的请求返回的Response响应可能就无法完全对比一致,但这可能并非就是错误,此时就需要屏蔽掉Response响应中的一些不一致的情况,使其不参与对比(这里是否需要屏蔽掉Response响应中的一些结果,使其不参与对比,可以通过配置来实现),通过配置来屏蔽某些测试用例针对新功能改动的部分和/或结构改动类的部分,只做与改版前的应用程序对应的原有功能的回归测试。本发明实施例中,可以通过正则表达式匹配来屏蔽Response中新改动的部分,剩下的与改版前的应用程序对应的原有能部分对比必须完全一致才算测试用例成功,否则该条测试用例执行失败。
根据本发明实施例的页面自动化测试的方法可以看出,因为采用了通过配置指定网络请求获取改版前应用页面的响应直接作为基准测试用例,对比改版后待测页面的响应的技术手段,所以克服了受限于页面结构的固定性,如果页面出现了稍许调整或重构,则利用原来配置的路径和属性就找不到指定的元素的技术问题,进而达到页面自动化测试不再依赖于页面元素来做断言,即使页面元素改动,只需要修改配置文件来屏蔽发生改动的页面结构部分,针对老的结构依旧可以回归,不用浪费大量时间维护的技术效果;此外,利用本发明实施例的技术方案,从而针对一个页面的多个元素进行校验,甚至是整个页面所有元素和结构的校验,无需每个元素都编写一个测试用例,从而提高测试用例的灵活性,降低测试用例的维护和编写成本,释放人力资源;通过利用Java代码抓取指定网络请求,从而可以方便后续实现对待测页面的测试;通过对结构有调整或者有新增功能的待测页面,获取到待对比响应后,屏蔽页面新功能或者改动的地方对应的响应,从而可以准确的确定改版后的页面的老功能部分是否测试成功;通过利用正则表达式匹配的方式进行对应响应内容的屏蔽,从而准确实现响应比对,完成回归测试。
图3是根据本发明实施例的页面自动化测试的装置的主要模块的示意图。
如图3所示,本发明实施例的页面自动化测试的装置300主要包括如下模块:配置模块301、发送模块302以及对比模块303。
其中,配置模块301用于配置待测页面的指定网络请求;发送模块302用于向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求;对比模块303用于接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应,并对比,若响应一致,则测试用例成功,若响应不一致,则测试用例失败。
装置300中:配置模块301还可用于利用Java代码配置待测页面的指定网络请求;以及发送模块302还可用于调用Java的httpclient工具类向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求。
本发明实施例中,待测页面包括以下一种或几种:接口升级类页面、结构调整类页面、新增功能类页面。
此外,装置300还可以包括:屏蔽模块(图中未示出),用于在接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应之后,将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
需要说明的是,屏蔽模块还可以用于:通过正则匹配的方式将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
从以上描述可以看出,因为采用了通过配置指定网络请求获取改版前应用页面的响应直接作为基准测试用例,对比改版后待测页面的响应的技术手段,所以克服了受限于页面结构的固定性,如果页面出现了稍许调整或重构,则利用原来配置的路径和属性就找不到指定的元素的技术问题,进而达到页面自动化测试不再依赖于页面元素来做断言,即使页面元素改动,只需要修改配置文件来屏蔽发生改动的页面结构部分,针对老的结构依旧可以回归,不用浪费大量时间维护的技术效果;此外,利用本发明实施例的技术方案,从而针对一个页面的多个元素进行校验,甚至是整个页面所有元素和结构的校验,无需每个元素都编写一个测试用例,从而提高测试用例的灵活性,降低测试用例的维护和编写成本,释放人力资源;通过利用Java代码抓取指定网络请求,从而可以方便后续实现对待测页面的测试;通过对结构有调整或者有新增功能的待测页面,获取到待对比响应后,屏蔽页面新功能或者改动的地方对应的响应,从而可以准确的确定改版后的页面的老功能部分是否测试成功;通过利用正则表达式匹配的方式进行对应响应内容的屏蔽,从而准确实现响应比对,完成回归测试。
图4示出了可以应用本发明实施例的页面自动化测试方法或页面自动化测试装置的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的页面自动化测试方法一般由服务器405执行,相应地,页面自动化测试装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括配置模块、发送模块和对比模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,配置模块还可以被描述为“配置待测页面的指定网络请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:配置待测页面的指定网络请求;向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求;接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应,并对比。
根据本发明实施例的技术方案,因为采用了通过配置指定网络请求获取改版前应用页面的响应直接作为基准测试用例,对比改版后待测页面的响应的技术手段,所以克服了受限于页面结构的固定性,如果页面出现了稍许调整或重构,则利用原来配置的路径和属性就找不到指定的元素的技术问题,进而达到页面自动化测试不再依赖于页面元素来做断言,即使页面元素改动,只需要修改配置文件来屏蔽发生改动的页面结构部分,针对老的结构依旧可以回归,不用浪费大量时间维护的技术效果;此外,利用本发明实施例的技术方案,从而针对一个页面的多个元素进行校验,甚至是整个页面所有元素和结构的校验,无需每个元素都编写一个测试用例,从而提高测试用例的灵活性,降低测试用例的维护和编写成本,释放人力资源;通过利用Java代码抓取指定网络请求,从而可以方便后续实现对待测页面的测试;通过对结构有调整或者有新增功能的待测页面,获取到待对比响应后,屏蔽页面新功能或者改动的地方对应的响应,从而可以准确的确定改版后的页面的老功能部分是否测试成功;通过利用正则表达式匹配的方式进行对应响应内容的屏蔽,从而准确实现响应比对,完成回归测试。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种页面自动化测试的方法,其特征在于,包括:
配置待测页面的指定网络请求;
向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求;
接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应,并对比,若响应一致,则测试用例成功,若响应不一致,则测试用例失败。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
利用Java代码配置待测页面的指定网络请求;以及
调用Java的httpclient工具类向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求。
3.根据权利要求1所述的方法,其特征在于,所述待测页面包括以下一种或几种:接口升级类页面、结构调整类页面、新增功能类页面。
4.根据权利要求1所述的方法,其特征在于,在接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应之后,所述方法还包括:将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:通过正则匹配的方式将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
6.一种页面自动化测试的装置,其特征在于,包括:
配置模块,用于配置待测页面的指定网络请求;
发送模块,用于向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求;
对比模块,用于接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应,并对比,若响应一致,则测试用例成功,若响应不一致,则测试用例失败。
7.根据权利要求6所述的装置,其特征在于,所述装置中:
所述配置模块还用于利用Java代码配置待测页面的指定网络请求;以及
所述发送模块还用于调用Java的httpclient工具类向改版前应用程序的应用服务器和改版后应用程序的应用服务器分别发送所述指定网络请求。
8.根据权利要求6所述的装置,其特征在于,所述待测页面包括以下一种或几种:接口升级类页面、结构调整类页面、新增功能类页面。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:屏蔽模块,用于在接收改版前应用程序的应用服务器返回的基准响应以及改版后应用程序的应用服务器返回的待对比响应之后,将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
10.根据权利要求9所述的装置,其特征在于,所述屏蔽模块还用于:通过正则匹配的方式将待对比响应中涉及的对应改版后应用程序的页面中新增和/或改动的部分进行屏蔽。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710422503.1A CN109002389B (zh) | 2017-06-07 | 2017-06-07 | 页面自动化测试的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710422503.1A CN109002389B (zh) | 2017-06-07 | 2017-06-07 | 页面自动化测试的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109002389A true CN109002389A (zh) | 2018-12-14 |
CN109002389B CN109002389B (zh) | 2022-03-04 |
Family
ID=64573929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710422503.1A Active CN109002389B (zh) | 2017-06-07 | 2017-06-07 | 页面自动化测试的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109002389B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889402A (zh) * | 2019-01-23 | 2019-06-14 | 北京字节跳动网络技术有限公司 | 用于生成信息的方法和装置 |
CN110086692A (zh) * | 2019-05-14 | 2019-08-02 | 广州云智易物联网有限公司 | 一种基于物联网的自动化测试方法、装置及计算机设备 |
CN110597585A (zh) * | 2019-08-19 | 2019-12-20 | 深圳壹账通智能科技有限公司 | 应用程序页面展示方法、装置、计算机设备及存储介质 |
CN112579425A (zh) * | 2019-09-27 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 一种用于对小程序方法接口进行测试的方法、装置及介质 |
CN112650682A (zh) * | 2020-12-28 | 2021-04-13 | 广州品唯软件有限公司 | 页面测试处理方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658158A (zh) * | 2004-01-28 | 2005-08-24 | 微软公司 | 屏蔽用户界面动态区以测试用户界面一致性的方法和系统 |
CN101526916A (zh) * | 2008-03-03 | 2009-09-09 | 阿里巴巴集团控股有限公司 | 基于页面对象流验证在回归测试中的应用方法及系统 |
CN102902619A (zh) * | 2011-07-29 | 2013-01-30 | 阿里巴巴集团控股有限公司 | Web应用程序的回归测试方法和装置 |
CN102932197A (zh) * | 2011-08-11 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种测试方法及测试系统 |
US20170083290A1 (en) * | 2015-09-21 | 2017-03-23 | Shridhar V. Bharthulwar | Integrated System for Software Application Development |
-
2017
- 2017-06-07 CN CN201710422503.1A patent/CN109002389B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658158A (zh) * | 2004-01-28 | 2005-08-24 | 微软公司 | 屏蔽用户界面动态区以测试用户界面一致性的方法和系统 |
CN101526916A (zh) * | 2008-03-03 | 2009-09-09 | 阿里巴巴集团控股有限公司 | 基于页面对象流验证在回归测试中的应用方法及系统 |
CN102902619A (zh) * | 2011-07-29 | 2013-01-30 | 阿里巴巴集团控股有限公司 | Web应用程序的回归测试方法和装置 |
CN102932197A (zh) * | 2011-08-11 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种测试方法及测试系统 |
US20170083290A1 (en) * | 2015-09-21 | 2017-03-23 | Shridhar V. Bharthulwar | Integrated System for Software Application Development |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889402A (zh) * | 2019-01-23 | 2019-06-14 | 北京字节跳动网络技术有限公司 | 用于生成信息的方法和装置 |
CN110086692A (zh) * | 2019-05-14 | 2019-08-02 | 广州云智易物联网有限公司 | 一种基于物联网的自动化测试方法、装置及计算机设备 |
CN110597585A (zh) * | 2019-08-19 | 2019-12-20 | 深圳壹账通智能科技有限公司 | 应用程序页面展示方法、装置、计算机设备及存储介质 |
CN112579425A (zh) * | 2019-09-27 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 一种用于对小程序方法接口进行测试的方法、装置及介质 |
CN112579425B (zh) * | 2019-09-27 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种用于对小程序方法接口进行测试的方法、装置及介质 |
CN112650682A (zh) * | 2020-12-28 | 2021-04-13 | 广州品唯软件有限公司 | 页面测试处理方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109002389B (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109002389A (zh) | 页面自动化测试的方法和装置 | |
CN108984370A (zh) | 一种确定监控阈值的方法和装置 | |
CN109558134A (zh) | 业务数据校验的方法和装置 | |
CN108694104A (zh) | 一种接口功能对比测试方法、装置、电子设备和储存介质 | |
CN110471848A (zh) | 一种动态返回报文的方法和装置 | |
CN110109979A (zh) | 一种配置表单选项方法和装置 | |
CN110019125A (zh) | 数据库管理的方法和装置 | |
CN107908666A (zh) | 一种识别设备标识的方法和装置 | |
CN110069579A (zh) | 电子围栏分块方法和装置 | |
CN110019087A (zh) | 数据处理方法及其系统 | |
CN109347921A (zh) | 一种数字证书业务的处理方法和装置 | |
CN110427304A (zh) | 用于银行系统的运维方法、装置、电子设备以及介质 | |
CN109634833A (zh) | 一种软件缺陷预测方法和装置 | |
CN110019539A (zh) | 一种数据仓库的数据同步的方法和装置 | |
CN110309142A (zh) | 规则管理的方法和装置 | |
CN109918191A (zh) | 一种业务请求防频的方法和装置 | |
CN109976999A (zh) | 测试用例覆盖率的度量方法和度量装置 | |
CN110493239A (zh) | 鉴权的方法和装置 | |
CN109814957A (zh) | 一种用于ios系统的标签添加方法和装置 | |
CN114237821B (zh) | Kubernetes容器集群的自发现方法、装置、电子设备及存储介质 | |
CN107347093A (zh) | 用于分布式服务器系统的配置方法和装置 | |
CN110471859A (zh) | 业务测试方法、装置、介质及电子设备 | |
CN108959294A (zh) | 一种访问搜索引擎的方法和装置 | |
CN108875355A (zh) | 一种访问权限的控制方法和装置 | |
CN108959636A (zh) | 数据处理方法、装置、系统、计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |