CN106598829A - 一种网页自动化测试方法及装置 - Google Patents
一种网页自动化测试方法及装置 Download PDFInfo
- Publication number
- CN106598829A CN106598829A CN201510669958.4A CN201510669958A CN106598829A CN 106598829 A CN106598829 A CN 106598829A CN 201510669958 A CN201510669958 A CN 201510669958A CN 106598829 A CN106598829 A CN 106598829A
- Authority
- CN
- China
- Prior art keywords
- test
- units
- webpage
- file
- test command
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网页自动化测试方法及装置。该网页自动化测试方法通过将测试命令转换成符合标准输入输出文件格式的测试命令发送至Chrome插件;本发明的测试方法无需依赖任何IDE即可实现测试,对编程语言也没有限制,可适用于多种编程语言,与现有技术相比,提高了网页自动化测试的灵活性和兼容性;另外,由于本发明的测试方法无需订阅一些Chrome插件中与网页测试无关的Browser Action,与现有技术相比,还提高了网页测试的兼容性和稳定性。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种网页自动化测试方法及装置。
背景技术
随着互联网的普及,越来越多的用户使用互联网进行学习、娱乐等等,不仅丰富用户生活,还给用户带来便利。
在互联网中浏览器是一个重要组成部分,用户可通过浏览器浏览网页等。随着Chromium(谷歌浏览器)在国内的普遍应用与衍生,在国内出现了许多Chromium衍生浏览器,例如QQ浏览器,360极速浏览器,猎豹浏览器等。目前国内越来越多的Chromium衍生浏览器支持Chrome(谷歌浏览器)的原生插件。支持Chrome原生插件的浏览器,除了带来更多的便捷服务与优质体验之外,还为开发者提供了更多可扩展的接口。
尤其,在网页自动化测试领域,Chrome的扩展接口则更可完美的支持Chromium衍生浏览器的网页测试,例如对QQ浏览器的网页测试。目前对Chromium及其衍生浏览器的网页测试方式为:利用Chrome原生商店中已有Ranorex Automation插件对Chromium及其衍生浏览器的网页进行自动化测试。
具体地,采用Ranorex Automation插件对Chromium及其衍生浏览器的网页进行自动化测试的过程为:在浏览器中预先安装Ranorex Automation插件IDE(集成开发环境),Ranorex Automation插件通过将自身定义好的测试消息传送给Chrome插件,Chrome插件Ranorex Automation插件IDE对测试消息转义,然后根据转义后的测试消息对Chromium及其衍生浏览器的网页进测试。
然而,目前采用Ranorex Automation插件对网页进行自动化测试的方式,虽然可以实现网页自动化测试,但相对的弊病和缺点也非常多,比如:非常依赖于Ranorex Automation IDE,并且由于Ranorex Automation IDE对于编程语言限制性非常强,导致网页测试的灵活性比较差;又比如,采用RanorexAutomation插件测试网页时,Ranorex Automation插件还会订阅一些Chrome插件中与网页测试无关的Browser Action(浏览器功能扩展),导致网页自动化测试的兼容性和稳定性比较差,尤其是在对国内浏览器的网页进行测试时,表现的更为明显。
发明内容
本发明的目的在于提供一种网页自动化测试方法及装置,以解决现有采用Ranorex Automation插件对Chromium及其衍生浏览器进行网页自动化测试的方式存在灵活性、稳定性以及兼容性比较差的技术问题。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明的实施例提供了一种网页自动化测试方法,该网页自动化测试方法基于浏览器的Chrome插件,包括:
获取符合通用标准协议的测试命令;
将所述符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件,所述测试命令文件包括所述测试命令,所述标准输入输出文件格式为所述Chrome插件可解析的文件格式;
将所述测试命令文件发送给所述Chrome插件,以使所述Chrome插件根据所述测试命令对所述浏览器显示的网页进行相应测试。
在本发明的网页自动化测试方法中,所述获取符合通用标准协议的测试命令的步骤包括:
接收测试客户端发送的符合通用标准协议的测试命令,该符合通用标准协议测试命令由所述测试客户端对用户输入的测试命令进行转换得到。
在本发明的网页自动化测试方法中,在将所述测试命令文件发送给所述Chrome插件之后,所述网页自动化测试方法,还包括:
接收所述Chrome插件返回的符合标准输入输出文件格式的测试结果文件;
对所述测试结果文件进行解析,以得到测试结果;
将所述测试结果转换成符合所述通用标准协议的测试结果,并将该测试结果发送给所述测试客户端。
在本发明的网页自动化测试方法中,所述将所述符合标准输入输出文件格式的测试命令文件发送给所述Chrome插件的步骤包括:
将所述符合标准输入输出文件格式的测试命令文件以消息方式发送给所述Chrome插件。
本发明的实施例还提供了另一种网页自动化测试方法,包括:
调用浏览器的Chrome插件中本地应用接收符合标准输入输出文件格式的测试命令文件,并将所述测试命令文件转换成JS形式的测试命令文件;
调用所述Chrome插件中后台脚本从JS形式的测试命令文件中提取JS形式的测试命令;
调用所述Chrome插件中内容脚本执行所述JS形式的测试命令,以对所述浏览器显示的网页进行相应测试。
在本发明的网页自动化测试方法中,在调用Chrome插件中内容脚本执行所述JS形式的测试命令之后,所述网页自动化测试方法,还包括:
调用所述Chrome插件中内容脚本获取JS形式的测试结果;所述测试结果为调用所述内容脚本执行所述JS形式的测试命令以对网页进行测试的测试结果;
调用所述Chrome插件中后台脚本将所述JS形式的测试结果传递给Chrome插件中本地应用;
调用所述Chrome插件中本地应用将所述JS形式的测试结果文件转换成符合标准输入输出文件格式的测试结果文件,并发送给与所述Chrome插件对应的网络自动化测试装置。
本发明的实施例还提供了一种网页自动化测试装置,基于浏览器的Chrome插件,包括:
命令获取模块,用于获取符合通用标准协议的测试命令;
第一转换模块,用于将所述符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件,所述测试命令文件包括所述测试命令,所述标准输入输出文件格式为所述Chrome插件可解析的文件格式;
第一发送模块,用于将所述测试命令文件发送给所述Chrome插件,以使所述Chrome插件根据所述测试命令对所述浏览器显示的网页进行相应测试。
在本发明的网页自动化测试装置中,所述命令获取模块,具体用于:
接收测试客户端发送的符合通用标准协议的测试命令,该符合通用标准协议测试命令由所述测试客户端对用户输入的测试命令进行转换得到。
在本发明的网页自动化测试装置中,还包括:接收模块,用于在所述第一发送模块将所述测试命令文件发送给所述Chrome插件之后,接收所述Chrome插件返回的符合标准输入输出文件格式的测试结果文件;
解析模块,用于对所述测试结果文件进行解析,以得到测试结果;
第二转换模块,用于将所述测试结果转换成符合所述通用标准协议的测试结果;
第二发送模块,用于将所述符合所述通用标准协议的测试结果发送给所述测试客户端。
本发明的实施例还提供了一种网页自动化测试装置,包括:
第一调用模块,用于调用浏览器的Chrome插件中本地应用接收符合标准输入输出文件格式的测试命令文件,并将所述测试命令文件转换成JS形式的测试命令文件;
第二调用模块,用于调用所述Chrome插件中后台脚本从JS形式的测试命令文件中提取JS形式的测试命令;
第三调用模块,用于调用所述Chrome插件中内容脚本执行所述JS形式的测试命令,以对所述浏览器显示的网页进行相应测试。
在本发明的网页自动化测试装置中,还包括:
第四调用模块,用于所述第三调用模块调用Chrome插件中内容脚本执行所述JS形式的测试命令之后,调用Chrome插件中内容脚本获取JS形式的测试结果;所述测试结果为所述第三调用模块调用所述内容脚本执行所述JS形式的测试命令以对网页进行测试的测试结果;
第五调用模块,用于调用所述Chrome插件中后台脚本将所述JS形式的测试结果传递给所述Chrome插件中本地应用;
第六调用模块,用于调用所述Chrome插件中本地应用将所述JS形式的测试结果文件转换成符合标准输入输出文件格式的测试结果文件,并发送给与所述Chrome插件对应的网络自动化测试装置。
本发明的实施例提供了一种网页自动化测试方法及装置,该网页自动化测试方法通过将测试命令转换成符合标准输入输出文件格式的测试命令发送至Chrome插件;由于标准输入输出文件格式为Chrome插件可理解的文件格式,本发明的测试方法无需依赖任何IDE即可实现测试,对编程语言也没有限制,可适用于多种编程语言,与现有技术相比,提高了网页自动化测试的灵活性和兼容性;另外,由于本发明的测试方法避免了采用Ranorex Automation插件进行网页测试,其无需订阅一些Chrome插件中与网页测试无关的BrowserAction;与现有技术相比,提高了网页测试的兼容性和稳定性,尤其提高了网页测试在国内浏览器中的兼容性和稳定性。
另外,本发明的实施例的网页自动化测试方法还可以适用于符合通用标准协议的测试命令,因此,其可以兼容现有基于通用标准协议的自动化测试方式或者框架,降低了网页自动化成本,同时也提高了网页自动化测试方法在国内Chromium衍生浏览器上的应用性。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1为本发明实施例一提供的一种网页自动化测试方法的流程示意图;
图2为本发明实施例一提供的一种网页自动化测试的框架示意图;
图3为本发明实施例一提供的一种Chrome插件的结构示意图;
图4为本发明实施例二提供的一种网页自动化测试方法的流程示意图;
图5为本发明实施例三提供的一种网页自动化测试方法的流程示意图;
图6为本发明实施例四提供的一种网页自动化测试装置的结构示意图;
图7为本发明实施例四提供的另一种网页自动化测试装置的结构示意图;
图8为本发明实施例五提供的一种网页自动化测试装置的结构示意图;
图9为本发明实施例五提供的另一种网页自动化测试装置的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本发明保护范围之内。
实施例一:
请参阅图1,图1为本发明实施例一提供的一种网页自动化测试方法的流程示意图。本实施例的网页自动化测试方法,可以由与Chrome插件对应的网络自动化测试装置实现,该网页自动化测试方法基于浏览器的Chrome插件,包括:
步骤101,获取符合通用标准协议的测试命令。
具体地,可以设计一个网页驱动程序来获取符合通用标准协议的测试命令,在测试前终端上的浏览器可以加载安装该网页驱动程序;在需要网页驱动程序接收外界发送的符合通用标准协议的测试命令的情况下,该网页驱动程序必须设计具备通用标准协议的接口,以实现可接收符合通用标准协议的测试命令。
优选地,本步骤可以包括:接收测试客户端发送的符合通用标准协议的测试命令,其中,该符合通用标准协议的测试命令由所述测试客户端对用户输入的测试命令进行转换得到。比如,在需要对终端浏览器中的网页进行测试时,测试人员可以在终端浏览器中安装测试客户端,然后在测试客户端编辑网页测试命令,在编辑完成之后,测试客户端将网页测试命令转换成符合通用标准协议的测试命令,然后发送给网页测试驱动程序,具体实现是测试客户端可以根据网页测试命令生成符合通用标准协议的测试请求,该测试请求携带测试命令,然后发送至浏览器中的网页驱动程序。
本实施例中测试客户端可以为自定义的测试脚本,或者为目前已有的自动化测试客户端,例如Selenium客户端;实际操作时,在终端浏览器中安装测试客户端后,即可使用测试客户端对网页进行测试。
优选地,通用标准协议为Selenium WebDriver Wire Protocol,此时本步骤可以具体包括:接收Selenium客户端发送的符合Selenium WebDriver WireProtocol的测试命令;这种方式可以使本实施例的测试方式支持业界流行的selenium自动化测试框架,大大降低了测试成本。
步骤102,将所述符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件,其中所述测试命令文件包括所述测试命令,所述标准输入输出文件格式为所述Chrome插件可解析的文件格式。
具体地,终端浏览器中的网页驱动程序将符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件。
比如,终端浏览器中的网页驱动程序在接收到符合通用标准协议的测试请求,该测试请求携带测试命令后,网页驱动程序对测试请求行解析,以获取测试命令;接着,网页驱动程序将测试命令转换成符合标准输入输出文件(stdin&stdout)格式的测试文件,该测试文件包括测试命令。
步骤103,将测试命令文件发送给Chrome插件,以使Chrome插件根据测试命令对所述浏览器显示的网页进行相应测试。
具体地,终端浏览器中网页驱动程序将符合标准输入输出文件格式的测试命令文件传递给浏览器中Chrome插件,Chrome插件在接收到测试命令后根据测试命令对浏览器中网页进行相应的测试。
优先地,可以将所述符合标准输入输出文件格式的测试命令文件以消息(Message)方式发送给所述Chrome插件。比如,终端浏览器中网页驱动程序将测试命令文件以message的方式发送给浏览器中的Chrome插件,以使Chrome插件从测试命令文件中解析出测试命令,根据测试命令对浏览器中显示的网页进行对应测试。
本实施例提供的网页自动化测试方法可以应用于任何Chromium衍生浏览器;比如在需要对QQ浏览器显示的网页进行测试时,如图2所示,预先在QQ浏览器中安装Chrome插件201(如果原本安装有Chrome插件203就不要安装),网页驱动程序202,以及测试客户端203;
在安装完成之后,测试人员可以在测试客户端203中编辑网页测试命令,例如编辑测试购物网站的物品搜索功能的命令或者购物网页中各触发项的反应速度等;在编辑完成之后,测试客户端203可以将网页测试命令转换成符合通用标准协议的网页测试命令,例如符合Selenium WebDriver Wire Protocol的网页测试命令,并传递至QQ浏览器中的网页驱动程序202;该网页驱动程序202在接收到测试命令后,将测试命令转换成符合标准输入输出文件格式的测试命令文件,该测试命令文件包含测试命令,(具体地网页驱动程序202对符合通用标准协议的测试命令进行解析已得到原始测试命令,然后将原始测试命令转换成符合标准输入输出文件格式的测试命令文件);在转换成测试命令文件后,网页驱动程序202将测试命令文件以message的方式传递至QQ浏览器中的Chrome插件201;Chrome插件201在接收到测试命令文件后,会提取测试命令,然后执行测试命令,以实现对QQ浏览器显示的网页进行相应测试。
本实施例中网页自动化测试方法中对网页进行测试时由浏览器中Chrome插件201完成的,具体地,由Chrome插件201中本地应用(Native Message)、后台脚本(Background.html)以及内容脚本(Content Script)完成的;请参考图3,为Chrome插件201的结构示意图,包括:本地应用(Native Message)2011、后台脚本(Background.html)2012、以及内容脚本(Content Script)2013;
本地应用(Native Message)2011,用于接收来自网页驱动程序202的符合标准输入输出文件格式的测试命令文件,并将测试命令文件转换JS对象,即JS形式的测试命令文件,然后将JS对象传递给后台脚本2012
后台脚本(Background.html)2012,用于核心的逻辑处理,将JS对象中的JS命令提取出(即从JS形式的测试命令文件中提取JS形式的测试命令),并交由内容脚本(Content Script)2013去执行和处理;
内容脚本(Content Script)2013,用于执行JS命令,以实现对浏览器中的网页进行测试;具体地,对浏览器当前显示的网页进行JS命令注入,以实现对该网页进行测试;优选地,为了防止执行该JS命令影响到浏览器中其他JS的执行,本实施例中可以在独立域中执行JS命令。
本实施例提供的网页自动化测试方法完全松耦合于任何IDE或语言,完全除去了Chrome插件内不必要的Browser Action,并且支持业界流行的selenium自动化测试框架,大大降低了测试网页的接入成本,同时也提高了在国内Chromium衍生浏览器上的应用性。
实施例二:
请参阅图4,图4为本发明实施例二提供的一种网页自动化测试方法的流程示意图。本实施例方法可以由与Chrome插件对应的网络测试装置实现,该网页自动化测试方法包括:
步骤401,接收测试客户端发送的符合通用标准协议的测试命令,该符合通用标准协议测试命令由所述测试客户端对用户输入的测试命令进行转换得到。
具体地,终端浏览器中网页驱动测试接收测试客户端发送的符合通用标准协议的测试命令,其中,该符合通用标准协议的测试命令由所述测试客户端对用户输入的测试命令进行转换得到。例如,接收Selenium客户端发送的符合Selenium WebDriver Wire Protocol的测试命令,该测试命令由Selenium客户端对用户输入的测试命令进行转换得到。
步骤402,将符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件,所述测试命令文件包括所述测试命令,所述标准输入输出文件格式为所述Chrome插件可解析的文件格式。
具体地,终端浏览器中的网页驱动程序将符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件。比如将符合SeleniumWebDriver Wire Protocol的测试命令转换成标准输入输出文件格式的测试命令文件,该测试命令文件包含测试命令。
步骤403,将测试命令文件发送给Chrome插件,以使Chrome插件根据测试命令对浏览器显示的网页进行相应测试。
具体地,终端浏览器中网页驱动程序将符合标准输入输出格式的测试命令文件传递给浏览器中Chrome插件,Chrome插件在接收到测试命令后根据测试命令对浏览器中网页进行相应的测试。
步骤404,接收Chrome插件返回的符合标准输入输出文件格式的测试结果文件。
具体地,终端浏览器中网页驱动程序接收Chrome插件返回符合标准输入输出文件格式的测试结果文件。在述Chrome插件对网页进行测试之后,会返回一个测试结果,此时Chrome插件会将该测试结果转换成符合标准输入输出文件格式的测试结果文件传递至网页驱动程序。
步骤405,对测试结果文件进行解析,以得到测试结果。
具体地,终端浏览器中网页驱动程序对测试结果文件进行解析,以得到测试结果。
步骤406,将测试结果转换成符合通用标准协议的测试结果,并将该测试结果发送给测试客户端。
为了能够将测试结果发送至测试客户端,以便测试人员知晓,具体地,网页驱动程序将测试结果转换成符合通用标准协议的测试结果,并发送给测试客户端。例如,将测试结果转换成符合Selenium WebDriver Wire Protocol的测试结果,然后发送至Selenium客户端或者自定义脚本。
测试客户端在接收到符合通用标准协议的测试结果后,会进行解析,以获取测试结果。例如对Selenium WebDriver Wire Protocol的测试结果进行解析,获取测试结果。
同样以应用到QQ浏览器进行网页测试为例,参考上述图2,在Chrome插件201对QQ浏览器显示的网页进行测试后,Chrome插件201会返回一个符合标准输入输出文件格式的测试结果文件(该测试结果文件包含测试结果)给网页驱动程序202,网页驱动程序202将会对符合标准输入输出文件格式的测试结果文件进行解析以得到测试结果,并且网页驱动程序202还会将测试结果转换成符合通用标准协议的测试结果发送给测试客户端201,测试客户端201对该符合通用标准协议的测试结果进行解析,最终得到测试客户端201可处理的测试结果。
参考图3,本实施例网页自动化测试方法中返回测试结果给网页驱动程序的过程是由Chrome插件201完成的,具体地由Chrome插件201中本地应用(Native Message)2011、后台脚本(Background.html)2012以及内容脚本(Content Script)2013完成的;具体地:
本地应用(Native Message)2011,用于将后台脚本2012输出的JS对象转换成符合标准输入输出文件格式的测试结果文件(即将后台脚本2013输出的JS形式的测试结果转换成符合标准输入输出文件格式的测试结果文件,该测试结果文件包含测试结果),然后将该测试结果文件传递给网页驱动程序202;
后台脚本(Background.html)2012,用于将内容脚本(Content Script)2013返回的JS对象(即JS形式的测试结果)传递给本地应用(Native Message)2011;
内容脚本(Content Script)2013,用于在对浏览器当前网页进行测试后,获取JS形式的测试结果即JS对象,并将JS形式的测试结果传递给后台脚本(Background.html)2012。
本实施例的网页自动化测试方法完全松耦合于任何IDE或语言,完全除去了Chrome插件内不必要的Browser Action,并且支持业界流行的selenium自动化测试框架,大大降低了测试网页的接入成本,同时也提高了测试方法在国内Chromium衍生浏览器上的应用性。
实施例三:
请参阅图5,图5为本发明实施例三提供的一种网页自动化测试方法的流程示意图。该方法,包括:
步骤501,调用浏览器的Chrome插件中本地应用接收符合标准输入输出文件格式的测试命令文件,并将该测试命令文件转换成JS形式的测试命令文件。
具体地,接收网页驱动程序发送的符合标准输入输出文件格式的测试命令文件,并将测试命令文件转换成JS对象,即以JS表达的测试命令文件。
步骤502,调用Chrome插件中后台脚本从JS形式的测试命令文件中提取JS形式的测试命令。
步骤503,调用Chrome插件中内容脚本执行所述JS形式的测试命令,以对浏览器显示的网页进行相应测试。
具体地,调用内容脚本在独立域中执行JS形式的测试命令。
优选地,为了能够返回测试结果,本实施例网页测试方法在步骤503之后,还可以包括:
步骤504,调用Chrome插件中内容脚本获取JS形式的测试结果;该测试结果为调用所述内容脚本执行所述JS形式的测试命令以对网页进行测试的测试结果。
步骤505,调用Chrome插件中后台脚本将JS形式的测试结果传递给Chrome插件中本地应用。
步骤506,调用Chrome插件中本地应用将JS形式的测试结果文件转换成符合标准输入输出文件格式的测试结果文件,并发送给与该Chrome插件对应的网络自动化测试装置。
本实施例提供了一种网页自动化测试方法,其实质是一种调用方法,通过调用Chrome插件中的脚本和应用来实现对浏览器的网页进行测试并返回测试结果;与现有技术相比,本实施例网页自动化测试方法可适用于任何IDE,适用于任何Chromium衍生浏览器,兼容性强,并且可以提高Chrome插件执行命令的效率。
实施例四:
请参阅图6,图6为本发明实施例四提供的一种网页自动化测试装置。该网页自动化测试装置基于浏览器的Chrome插件,包括:
命令获取模块601,用于获取符合通用标准协议的测试命令;
第一转换模块602,用于将所述符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件,所述测试命令文件包括所述测试命令,所述标准输入输出文件格式为所述Chrome插件可解析的文件格式;
第一发送模块603,用于将所述测试命令文件发送给所述Chrome插件,以使所述Chrome插件根据所述测试命令对所述浏览器显示的网页进行相应测试。
优选地,命令获取模块601,具体用于:
接收测试客户端发送的符合通用标准协议的测试命令,该符合通用标准协议测试命令由所述测试客户端对用户输入的测试命令进行转换得到。
请参考图7,本实施例的网页自动化测试装置,还包括:
接收模块604,用于在所述第一发送模块603将所述测试命令文件发送给所述Chrome插件之后,接收所述Chrome插件返回的符合标准输入输出文件格式的测试结果文件;
解析模块605,用于对所述测试结果文件进行解析,以得到测试结果;
第二转换模块606,用于将所述测试结果转换成符合所述通用标准协议的测试结果;
第二发送模块607,用于将所述符合所述通用标准协议的测试结果发送给所述测试客户端。
本实施例提供的网页自动化测试装置通过将测试命令转换成符合标准输入输出文件格式的测试命令发送至Chrome插件;由于标准输入输出文件格式为Chrome插件可理解的文件格式,本实施例的测试装置无需依赖任何IDE即可实现测试,对编程语言也没有限制,可适用于多种编程语言,与现有技术相比,提高了网页自动化测试的灵活性和兼容性;另外,由于本发明的测试装置避免了采用Ranorex Automation插件进行网页测试,其无需订阅一些Chrome插件中与网页测试无关的Browser Action;与现有技术相比,提高了网页测试的兼容性和稳定性,尤其提高了网页测试在国内浏览器中的兼容性和稳定性。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
实施例五:
请参阅图8,图8为本发明实施例五提供的一种网页自动化测试装置的结构示意图。该网页自动化测试装置包括:
第一调用模块801,用于调用浏览器的Chrome插件中本地应用接收符合标准输入输出文件格式的测试命令文件,并将所述测试命令文件转换成JS形式的测试命令文件;
第二调用模块802,用于调用所述Chrome插件中后台脚本从JS形式的测试命令文件中提取JS形式的测试命令;
第三调用模块803,用于调用所述Chrome插件中内容脚本执行所述JS形式的测试命令,以对所述浏览器显示的网页进行相应测试。
优选地,如图9所示,本实施例的网页自动化测试装置,还包括:
第四调用模块804,用于所述第三调用模块806调用Chrome插件中内容脚本执行所述JS形式的测试命令之后,调用Chrome插件中内容脚本获取JS形式的测试结果;所述测试结果为所述第三调用模块调用所述内容脚本执行所述JS形式的测试命令以对网页进行测试的测试结果;
第五调用模块805,用于调用所述Chrome插件中后台脚本将所述JS形式的测试结果传递给所述Chrome插件中本地应用;
第六调用模块806,用于调用所述Chrome插件中本地应用将所述JS形式的测试结果文件转换成符合标准输入输出文件格式的测试结果文件,并发送给与所述Chrome插件对应的网络自动化测试装置。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例提供的网页自动化测试装置可以通过调用Chrome插件中的脚本和应用来实现对浏览器的网页进行测试并返回测试结果;与现有技术相比,本实施例网页自动化测试装置可适用于任何IDE,适用于任何Chromium衍生浏览器,兼容性强,成本低,并且可以提高Chrome插件执行命令的效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对网页自动化测试方法的详细描述,此处不再赘述。
本发明实施例提供的所述网页自动化测试装置,譬如为计算机、平板电脑、具有触摸功能的手机等等,所述网页自动化测试装置与上文实施例中的提示方法属于同一构思,在所述提示装置上可以运行所述网页自动化测试方法实施例中提供的任一方法,其具体实现过程详见所述提示方法实施例,此处不再赘述。
需要说明的是,对本发明所述网页自动化测试方法而言,本领域普通测试人员可以理解实现本发明实施例所述网页自动化测试方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述网页自动化测试方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本发明实施例的所述网页自动化测试装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的一种网页自动化测试方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种网页自动化测试方法,其特征在于,所述网页自动化测试方法基于浏览器的Chrome插件,包括:
获取符合通用标准协议的测试命令;
将所述符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件,所述测试命令文件包括所述测试命令,所述标准输入输出文件格式为所述Chrome插件可解析的文件格式;
将所述测试命令文件发送给所述Chrome插件,以使所述Chrome插件根据所述测试命令对所述浏览器显示的网页进行相应测试。
2.如权利要求1所述的网页自动化测试方法,其特征在于,所述获取符合通用标准协议的测试命令的步骤包括:
接收测试客户端发送的符合通用标准协议的测试命令,该符合通用标准协议测试命令由所述测试客户端对用户输入的测试命令进行转换得到。
3.如权利要求2所述的网页自动化测试方法,其特征在于,在将所述测试命令文件发送给所述Chrome插件之后,所述网页自动化测试方法,还包括:
接收所述Chrome插件返回的符合标准输入输出文件格式的测试结果文件;
对所述测试结果文件进行解析,以得到测试结果;
将所述测试结果转换成符合所述通用标准协议的测试结果,并将该测试结果发送给所述测试客户端。
4.如权利要求1所述的网页自动化测试方法,其特征在于,所述将所述符合标准输入输出文件格式的测试命令文件发送给所述Chrome插件的步骤包括:
将所述符合标准输入输出文件格式的测试命令文件以消息方式发送给所述Chrome插件。
5.一种网页自动化测试方法,其特征在于,包括:
调用浏览器的Chrome插件中本地应用接收符合标准输入输出文件格式的测试命令文件,并将所述测试命令文件转换成JS形式的测试命令文件;
调用所述Chrome插件中后台脚本从JS形式的测试命令文件中提取JS形式的测试命令;
调用所述Chrome插件中内容脚本执行所述JS形式的测试命令,以对所述浏览器显示的网页进行相应测试。
6.如权利要求5所述的网页自动化测试方法,其特征在于,在调用Chrome插件中内容脚本执行所述JS形式的测试命令之后,所述网页自动化测试方法,还包括:
调用所述Chrome插件中内容脚本获取JS形式的测试结果;所述测试结果为调用所述内容脚本执行所述JS形式的测试命令以对网页进行测试的测试结果;
调用所述Chrome插件中后台脚本将所述JS形式的测试结果传递给Chrome插件中本地应用;
调用所述Chrome插件中本地应用将所述JS形式的测试结果文件转换成符合标准输入输出文件格式的测试结果文件,并发送给与所述Chrome插件对应的网络自动化测试装置。
7.一种网页自动化测试装置,其特征在于,所述网页自动化测试装置基于浏览器的Chrome插件,包括:
命令获取模块,用于获取符合通用标准协议的测试命令;
第一转换模块,用于将所述符合通用标准协议的测试命令转换成符合标准输入输出文件格式的测试命令文件,所述测试命令文件包括所述测试命令,所述标准输入输出文件格式为所述Chrome插件可解析的文件格式;
第一发送模块,用于将所述测试命令文件发送给所述Chrome插件,以使所述Chrome插件根据所述测试命令对所述浏览器显示的网页进行相应测试。
8.如权利要求7所述的网页自动化测试装置,其特征在于,所述命令获取模块,具体用于:
接收测试客户端发送的符合通用标准协议的测试命令,该符合通用标准协议测试命令由所述测试客户端对用户输入的测试命令进行转换得到。
9.如权利要求8所述的网页自动化测试装置,其特征在于,还包括:
接收模块,用于在所述第一发送模块将所述测试命令文件发送给所述Chrome插件之后,接收所述Chrome插件返回的符合标准输入输出文件格式的测试结果文件;
解析模块,用于对所述测试结果文件进行解析,以得到测试结果;
第二转换模块,用于将所述测试结果转换成符合所述通用标准协议的测试结果;
第二发送模块,用于将所述符合所述通用标准协议的测试结果发送给所述测试客户端。
10.一种网页自动化测试装置,其特征在于,包括:
第一调用模块,用于调用浏览器的Chrome插件中本地应用接收符合标准输入输出文件格式的测试命令文件,并将所述测试命令文件转换成JS形式的测试命令文件;
第二调用模块,用于调用所述Chrome插件中后台脚本从JS形式的测试命令文件中提取JS形式的测试命令;
第三调用模块,用于调用所述Chrome插件中内容脚本执行所述JS形式的测试命令,以对所述浏览器显示的网页进行相应测试。
11.如权利要求10所述的网页自动化测试装置,其特征在于,还包括:
第四调用模块,用于所述第三调用模块调用Chrome插件中内容脚本执行所述JS形式的测试命令之后,调用Chrome插件中内容脚本获取JS形式的测试结果;所述测试结果为所述第三调用模块调用所述内容脚本执行所述JS形式的测试命令以对网页进行测试的测试结果;
第五调用模块,用于调用所述Chrome插件中后台脚本将所述JS形式的测试结果传递给所述Chrome插件中本地应用;
第六调用模块,用于调用所述Chrome插件中本地应用将所述JS形式的测试结果文件转换成符合标准输入输出文件格式的测试结果文件,并发送给与所述Chrome插件对应的网络自动化测试装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510669958.4A CN106598829A (zh) | 2015-10-15 | 2015-10-15 | 一种网页自动化测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510669958.4A CN106598829A (zh) | 2015-10-15 | 2015-10-15 | 一种网页自动化测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106598829A true CN106598829A (zh) | 2017-04-26 |
Family
ID=58552661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510669958.4A Pending CN106598829A (zh) | 2015-10-15 | 2015-10-15 | 一种网页自动化测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598829A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111369A (zh) * | 2017-12-22 | 2018-06-01 | 北京奇虎科技有限公司 | 一种移动终端的网页性能的测试方法及装置 |
CN108536594A (zh) * | 2018-04-02 | 2018-09-14 | 腾讯科技(武汉)有限公司 | 页面测试方法、装置及存储设备 |
CN110297762A (zh) * | 2019-05-24 | 2019-10-01 | 平安银行股份有限公司 | 插件式自动测试方法、装置、计算机设备及存储介质 |
CN113094254A (zh) * | 2019-12-23 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 业务系统的测试方法和装置、存储介质及电子装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241467A (zh) * | 2008-03-05 | 2008-08-13 | 罗笑南 | 一种面向Web应用的自动化白盒测试系统及方法 |
CN102695187A (zh) * | 2012-06-01 | 2012-09-26 | 重庆邮电大学 | 基于分布式Web的6LoWPAN协议一致性测试装置及方法 |
CN102707943A (zh) * | 2012-04-12 | 2012-10-03 | 广东欧珀移动通信有限公司 | 一种远程控制自动化工具的实现方法 |
CN103092756A (zh) * | 2013-01-08 | 2013-05-08 | 彭勇 | 一种交互式自动化测试系统及其方法 |
CN104111852A (zh) * | 2014-07-18 | 2014-10-22 | 南京富士通南大软件技术有限公司 | 一种基于数据驱动的Web应用自动化测试系统及测试方法 |
US9064048B2 (en) * | 2011-02-17 | 2015-06-23 | Red Hat, Inc. | Memory leak detection |
-
2015
- 2015-10-15 CN CN201510669958.4A patent/CN106598829A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241467A (zh) * | 2008-03-05 | 2008-08-13 | 罗笑南 | 一种面向Web应用的自动化白盒测试系统及方法 |
US9064048B2 (en) * | 2011-02-17 | 2015-06-23 | Red Hat, Inc. | Memory leak detection |
CN102707943A (zh) * | 2012-04-12 | 2012-10-03 | 广东欧珀移动通信有限公司 | 一种远程控制自动化工具的实现方法 |
CN102695187A (zh) * | 2012-06-01 | 2012-09-26 | 重庆邮电大学 | 基于分布式Web的6LoWPAN协议一致性测试装置及方法 |
CN103092756A (zh) * | 2013-01-08 | 2013-05-08 | 彭勇 | 一种交互式自动化测试系统及其方法 |
CN104111852A (zh) * | 2014-07-18 | 2014-10-22 | 南京富士通南大软件技术有限公司 | 一种基于数据驱动的Web应用自动化测试系统及测试方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111369A (zh) * | 2017-12-22 | 2018-06-01 | 北京奇虎科技有限公司 | 一种移动终端的网页性能的测试方法及装置 |
CN108536594A (zh) * | 2018-04-02 | 2018-09-14 | 腾讯科技(武汉)有限公司 | 页面测试方法、装置及存储设备 |
CN110297762A (zh) * | 2019-05-24 | 2019-10-01 | 平安银行股份有限公司 | 插件式自动测试方法、装置、计算机设备及存储介质 |
CN113094254A (zh) * | 2019-12-23 | 2021-07-09 | 腾讯科技(深圳)有限公司 | 业务系统的测试方法和装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102185864B1 (ko) | 프레젠테이션을 위한 네이티브 콘텐츠의 서버측 렌더링 방법 및 시스템 | |
CN103279538B (zh) | 预加载访问网站中网页的服务器、浏览器客户端和方法 | |
CN106339414A (zh) | 网页渲染方法及装置 | |
CN102402518A (zh) | 一种访问网页的方法及装置 | |
US8756214B2 (en) | Crawling browser-accessible applications | |
CN106598829A (zh) | 一种网页自动化测试方法及装置 | |
CN106909361A (zh) | 基于模版引擎的web开发方法和装置 | |
US20170111431A1 (en) | Methods for transforming a server side template into a client side template and devices thereof | |
CN104268082A (zh) | 浏览器的压力测试方法和装置 | |
CN105677654A (zh) | 广告过滤方法及装置 | |
CN104063407A (zh) | 基于云计算的浏览器架构与解析方法 | |
CN102915318A (zh) | 一种浏览器中定位查找信息的方法和装置 | |
CN111176627A (zh) | 一种基于微服务的前后端分离的装置与方法 | |
CN109902247A (zh) | 一种页面渲染的方法、装置及电子设备 | |
CN106886594A (zh) | 用于展示信息的方法和装置 | |
CN103858121A (zh) | 使Web应用获取数据库变化的方法和系统 | |
CN113032244A (zh) | 接口测试方法、装置、计算机系统和计算机可读存储介质 | |
US20240045879A1 (en) | Presentation method, apparatus and electronic device | |
CN103577447A (zh) | 一种用于确定目标页面的页面类型信息的方法和设备 | |
CN103488735B (zh) | 终端浏览器页面刷新显示的方法及终端 | |
US20150324479A1 (en) | Identifying a browser for rendering an electronic document | |
CN111600920B (zh) | 基于js的数据请求代理方法、装置、设备及可读存储介质 | |
CN106126299B (zh) | 业务插件的处理方法及装置 | |
CN104899212A (zh) | 网页展示方法、服务器及系统 | |
CN112965916B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |