CN112269739A - 网页测试方法及其装置、设备、介质 - Google Patents

网页测试方法及其装置、设备、介质 Download PDF

Info

Publication number
CN112269739A
CN112269739A CN202011157271.XA CN202011157271A CN112269739A CN 112269739 A CN112269739 A CN 112269739A CN 202011157271 A CN202011157271 A CN 202011157271A CN 112269739 A CN112269739 A CN 112269739A
Authority
CN
China
Prior art keywords
code
test
browser
webpage
target webpage
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
Application number
CN202011157271.XA
Other languages
English (en)
Inventor
刘天航
肖鸿亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN202011157271.XA priority Critical patent/CN112269739A/zh
Publication of CN112269739A publication Critical patent/CN112269739A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (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

网页测试方法及其装置、设备、介质
技术领域
本申请属于互联网技术领域,具体涉及一种网页测试方法,还涉及与前述方法相应的装置、电子设备以及非易失性存储介质。
背景技术
随着互联网技术的全面深化发展,越来越多的线上应用都基于网页来实现,使得基于网页的各种终端应用程序和网页得以蓬勃发展。基于网页的应用,需要提供关于网页的制作配置环境。大型的互联网平台,尤其是一些门户网站、直播网站等,其涉及要开发、运营和维护的页面繁多,开发和测试的时间往往也比较紧迫,而网页的更新速度要求快速,使得网页测试人员工作压力必然巨大,为网页测试提供更为高效的测试机制显得更为迫切。
传统的网页测试方法为对整个网页源码进行编辑,之后将编辑完成的网页发版测试,通过加载网页进行在线检测定位故障,找到故障后,再次编辑网页源码,再次进行发版测试,直到未在网页加载中找到漏洞。但是此种网页测试方式,需要重复对网页发版,耗时耗力,效率低下。
为了解决上述问题,业内人员提出了一种在预先完成替换代码编辑,之后通过代理工具将编辑好的替换代码直接替换网页的相应源码,达到无需对网页进行发版便可达到网页测试查障的目的。但是,目前的代理工具通常只能对单段代码进行替换,当多段代码合并时,代理工具不能对将合并的多段代码分别替换相应的网页源码。例如,使用业内人员常用的Fiddler工具,通常只能对单个JavaScript或SDK代码进行替换,当JavaScript与SDK或多个JavaScript打包合并时,代理工具不能将打包合并的多段代码替换网页相应的网页源码。从而导致多段代码打包合并时无法利用代理工具替换网页的相应源码,还是需要使用传统的网页测试方法对网页进行测试。
发明内容
本申请的首要目的旨在提供一种便于测试网页的网页测试方法。
作为本申请的另一目的,基于前述的网页测试方法而提供与之相适应的一种网页测试装置。
作为本申请的又一目的,基于前述的网页测试方法而提供与之相适应的电子设备。
作为本申请的再一目的,基于前述的网页测试方法而提供与之相适应的非易失存储介质。
为满足本申请的各个目的,本申请采用如下技术方法:
适应于本申请的首要目的而提供一种网页测试方法,包括如下步骤:
访问目标网页,驱动浏览器解析该目标网页以实施测试;
所述目标网页被解析执行的过程中,从其访问请求中识别代码转向标识,该代码转向标识用于指示该目标网页中的程序模块存在测试代码,依据所述代码转向标识,从由浏览器的本地存储特性所支持的本地存储空间中读取所述程序模块的测试代码,以该测试代码替代其相应的源码而被解析执行;
根据解析执行结果在浏览器中显示目标网页的相应内容。
进一步的,所述访问请求中包含该目标网页的访问地址信息,该访问地址尾部携带所述代码转向标识。
优选的,所述目标网页基于HTML5开发,所述浏览器的本地存储空间由浏览器的LocalStorage设置项提供存储管理入口。
较佳的,所述测试代码被以键-值对存储,其中的键与所述代码转向标识具有对应关系,其中的值用于存储所述替换代码。
在一个实施例中,所述方法包括前置步骤,响应于用户操作指令,从所述浏览器中调出所述本地存储空间的编辑界面,以供编辑所述测试代码。
较佳的,所述目标网页的源码中包含用于识别代码转向标识以转向执行程序模块的替代的测试代码的决策模块。
优选的,所述测试代码在其被解析执行的过程中,向用户界面输出调试信息。
适应于本申请的另一目的而提供一种网页测试装置,包括:
解析单元,访问目标网页,驱动浏览器解析该目标网页以实施测试;
执行单元,所述目标网页被解析执行的过程中,从其访问请求中识别代码转向标识,该代码转向标识用于指示该目标网页中的程序模块存在测试代码,依据所述代码转向标识,从由浏览器的本地存储特性所支持的本地存储空间中读取所述程序模块的测试代码,以该测试代码替代其相应的源码而被解析执行;
显示单元,根据解析执行结果在浏览器中显示目标网页的相关内容。
适应于本申请的又一目的而提供一种电子设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行所述的网页测试方法。
适应于本申请的再一目的而提供一种非易失性存储介质,其存储用依据所述的网页测试方法所述实现的计算机程序,该计算机程序被计算机调用时,执行该方法所包括的步骤。
相对于现有技术,本申请的优势如下:
首先,本申请在用户输入网址访问网页时,便通过浏览器受驱动而解析加载目标网页,在这一过程中便实施网页测试。该目标网页的网址被视为该目标网页的访问请求,可以在其中携带代码转向标识,目标网页在解析执行的过程中,通过读取其访问请求中的代码转向标识可判断浏览器中是否存储有测试代码,进而以存在的测试代码替代目标网页内部的相应源码以实施网页测试。测试代码被存储于浏览器的本地存储空间中,浏览器通过访问请求中的代码转向标识可直接从本地存储空间中调取测试代码以替代目标网页的相应程序模块的相应源码,由此可在浏览器中显示按照测试代码解析而非按照相应源码解析而得的网页效果或者改变该程序模块的功能。本申请通过将测试代码存储于本地存储空间中,通过将测试代码直接替换目标网页的相应源码,无需外部代理工具的辅助,通过浏览器便可完成测试代码的替换,使得网页测试过程简单化,提高了网页测试的效率。
其次,本申请的测试代码被以键-值对存储于浏览器的本地存储空间中,使得替换与修改测试代码简单化,可直接将编辑完成的测试代码存储,以实施测试。由于HTML5协议支持本地存储空间的访问,在本地存储空间中允许键-值对进行数据存储,因此,本申请能够对HTML5网页的测试提供更为有效的辅助手段,提高这种网页的测试效率。
此外,由于支持本地存储空间的浏览器通常配备用于编辑键-值对的用户界面,因此,在实施网页测试的过程中,测试人员可通过浏览器调出本地存储空间的编辑界面,使得测试代码的存储与修改可视化,也可提高测试代码的编辑效率。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为实施本申请的技术方案相关的一种典型的网络部署架构示意图。
图2为本申请的网页测试方法的典型实施例的流程示意图。
图3为本申请的网页测试装置的典型实施例的原理框图。
图4为利用谷歌浏览器访问一个目标网页并调出本地存储空间管理页面时的图形用户界面的示意图。
图5为图4中的本地存储空间管理页面的局部放大图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
请参阅图1,本申请相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署。本申请所称服务器80部署在云端,作为一个前端的应用服务器,其可以负责进一步连接起相关数据服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备例如图中所示的智能手机81和个人计算机82提供服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与云端的服务器80建立数据通信链路,以便运行所述服务器所提供的服务相关的终端应用程序。
本申请所涉及的目标网页通常被发布到所述的服务器中,终端设备通过浏览器输入目标网页的网址,将被浏览器视为一个对于该目标网页的访问请求,由此也向所述服务器请求获取对应的目标网页,所述服务器响应该请求后推送目标网页的HTML代码,浏览器对其进行解析执行,最终将目标网页的内容展示到图形用户界面中,或者在解析执行相关代码的过程中,根据网页中的脚本程序模块完成某些程序功能。
本申请所述的浏览器是指支持HTML5协议的浏览器,这种浏览器支持本地存储特性,并提供相关的设置项,例如,谷歌浏览器便提供有LocalStorage设置项以便用户访问其本地存储空间。LocalStorage的这种特性,与Cookies特性有所不同,Cookies通常只支持4K字节大小,但LocalStorage则可支持更大的存储空间,因此,利用LocalStorage的本地存储空间而非Cookies,正好避开Cookie存储空间不足的问题,用于存储对存储空间要求更高的测试代码。并且,LocalStorage中可永久保存数据,因此对于操作繁琐的网页测试需求而言,更便于长期维护。
本申请所述的程序模块是指内嵌于目标网页中的程序代码,如以Javascript编写的代码,其在目标网页被加载的过程中,随着浏览器对其中的代码的解析而运行。一个程序模块通常被封装为一个方法(函数),被用于执行一个相对独立的功能,或者负责执行一项相对独立的任务。因此,通过修改程序模块中的代码,便可修改其所要发挥的功能或者修改其任务达成效果等。本领域技术人员对此已经知晓,恕不赘述。
请参阅图2,本申请的一种网页测试方法的典型实施例中,其包括如下步骤:
步骤S11,访问目标网页,驱动浏览器解析该目标网页以实施测试:
测试人员在浏览器的地址栏中输入目标网页的访问地址信息回车执行,驱动浏览器向服务器请求相对应的目标网页的数据,服务器响应该请求后,向浏览器推送目标网页的源代码,浏览器接收到目标网页的源代码后,对源代码实施解析,通过解析将目标网页的页面内容展示到浏览器的图形用户界面中,期间,对于脚本程序模块而言,浏览器在解析源代码时,也相应解析运行之。
步骤S12,所述目标网页被解析执行过程中,从其访问请求中识别代码转向标识,该代码转向标识用于指示该目标网页中的程序模块存在测试代码,依据所述代码转向标识,从由浏览器的本地存储特性所支持的本地存储空间中读取所述程序模块的测试代码,以该测试代码替代其相应的源码而被解析执行:
如前所述,当测试人员在浏览器的地址栏中输入了目标网页的访问地址信息,以请求目标网页的服务器下发目标网页的代码数据,浏览器对该些数据进行解析,以在浏览器的图形用户界面上显示目标网页的页面内容。
为了对网页实施测试,可在驱动浏览器访问目标网页时,在浏览器的地址栏中除输入目标网页的访问地址信息之外,还可在访问地址的尾部添加代码转向标识,作为网页请求时的参数,用于辅助完成测试。
该代码转向标识的主要作用是用于告知接收者当前浏览器的本地存储空间中存在可供调用执行的测试代码,以便接收者调用这些测试代码用于替换其网页中的部分相应功能的源码。
可见,测试人员在浏览器的地址栏上输入的网络地址,以超链接的形式表述,既包括网页的统一资源定位符,也在其末尾包含了所述的代码转向标识,当该超链接被测试人员回车确认时,浏览器将其理解为指向所述目标网页的访问请求,利用统一资源定位符向服务器定位和获取所述的目标网页,利用所述的代码转向标识用于向目标网页传递参数。
当目标网页的服务器接收到了浏览器的访问请求后,定位到所述目标网页的源代码向终端设备的浏览器下发,相应的参数也被传递给该网页的源代码在解析时调用。
浏览器接收服务器推送的目标网页并开始解析源代码,将解析而得的网页内容输出到浏览器的页面中。由于所述代码转向标识被作为参数传递给目标网页,因此,浏览器在解决目标网页的过程中,目标网页的源代码便可对这一代码转向标识进行调用,当其检测到所传递的特定参数符合代码转向标识符的定义时,便确认当前请求存在代码转向标识。形象而言,当前网页便将其理解为需要调用浏览器存储的测试代码进行替换本网页的部分源代码进行测试。
为配合本申请需要实现的测试功能,被测试的目标网页的源代码中会包括用于判别是否存在所述代码转向标识并依据判别结果进行区别处理的决策模块,以及包括将被依据所述代码转向标识的指示而跳转去调用所述测试代码而导致其代码不再被解析执行的程序模块。简言之,如果访问请求中(附于相应的访问地址信息的尾部)携带了代码转向标识,则不再执行程序模块,而跳转执行所述测试代码;如果访问请求中未携带代码转向标识,则直接执行程序模块,而不执行所述测试代码。
所述程序模块的代码与所述测试代码均是由编程人员自定义的,通常,测试代码是在程序模块的代码的基础上出于调试的目的而少量修改而形成的代码,当然,必要时两者也可完全不同,理论上也不影响本申请的实施。
所述决策模块包括识别代码与执行代码,所述识别代码用于识别访问请求中是否符合存在代码转向标识的定义,当存在或不存在所述代码转向标识时,分别指示指示执行所述测试代码、执行所述程序模块的代码。由此可见,决策模块本质上是一种条件语句,可用诸如if语句来实现,利用if语句判别是否存在代码转向标识,当判别结果为真值时便调用第一执行代码以调用所述测试代码进行测试,当判别结果为假值时便调用第二执行代码以调用原有的程序模块的源码。也就是说,当决策模块识别到存在代码转向标识时,便跳转执行其所控制的程序模块的替代的测试代码。
具体而言,在浏览器解析目标网页的源代码的过程中,当浏览器解析执行目标网页的源代码中的识别代码时,通过所述识别代码的执行判别访问请求中是否存在代码转向标识,当访问请求中存在代码转向标识时,则认为目标网页正接受测试,因此从浏览器的本地存储空间中调用出测试人员事先预设的测试代码,浏览器跳转至执行该段测试代码,当测试代码解析执行后,再继续解析执行目标网页的其他部分的代码,而不再执行所述的与测试代码相应的程序模块的代码。反之,如果并未识别到访问请求中存在代码转向标识,则无需调用所述的测试代码来替换执行,而是直接调用执行所述与测试代码相应的程序模块的代码。
本申请所述的测试代码是指不由目标网页的服务器所下发的,而由测试人员编写的代码,该测试代码用于网页解析执行过程中替代目标网页的程序模块的代码,以替换更新目标网页的程序模块的部分功能或所有功能,进而检测所述测试代码是否可达到预定的效果或检测目标网页是否具有“bug”。
所述测试代码存储于浏览器的目标网页的本地存储空间中的键-值对中,因本地存储空间具有永久存储特性,在目标网页关闭后,目标网页在本地存储空间存储的数据不会被删除,因而可在目标网页的本地存储空间中存储用于网页测试的测试代码,以用于网页测试。
为了便于本步骤的理解,以访问请求http://www.yy.com/991?debug-sdk=1为例,浏览器通过访问请求中的访问地址信息http://www.yy.com/991请求服务器定位并下发网页的源代码,浏览器接收到相关的源代码后,浏览器对该源代码进行解析,当解析到源码代码中的识别代码时,通过所述识别代码识别出访问请求中的参数debug_sdk=1,则视为存在所述的代码转向标识,从而确认网页正在进行网页测试,于是,决策模块的真值的执行代码便转向执行本地存储空间存储的所述测试代码。
具体而言,在本申请的典型实施例中,为了在解析目标网页时可从本地存储空间调用测试代码,可设置一前置步骤,以用于在浏览器的本地存储空间中存储作用于目标网页的测试代码。具体的存储步骤为在加载本申请的步骤S11之前,可预先加载一次目标网页,在目标网页的本地存储空间中新建键-值对以存储测试代码。由于键-值对是测试人员新建的,因此其键名可被所述决策模块引用,从而允许决策模块直接通过所述的键名引用所述的测试代码。
适应所述的前置步骤,测试人员存储测试代码时,当浏览器完成对服务器推送的目标网页的源代码解析,在浏览器的图形用户界面上显示了目标网页后,测试人员通过用户操作指令在浏览器上调出目标网页的本地存储空间的键-值对的编辑界面。调出本地存储空间的键-值对的编辑界面的流程为,在浏览器显示目标网页的情况下,进入浏览器的本地存储空间管理页面,键-值对以列表的形式位于本地存储空间管理页面中。以谷歌浏览器(Google Chrome)为例,在谷歌浏览器显示目标网页的情况下,进入开发者工具选项的应用程序(Application)页的本地存储空间(LocalStorage)管理页面,点击目标网页的网址,即可示出目标网页的键-值对(Key-Value),具体的键-值对的调出界面,可参阅图4与图5所示,所述新建的键-值对可参见图5中的键-值对60。
进入本地存储空间的键-值对的编辑界面后,在本地存储空间中新建键-值对,其中键-值对中的值(Value)用于储存测试代码,而键-值对的键(Key)用于存储测试代码的名称。将编辑好的测试代码存储于键-值对的值中,以完成测试代码的存储。测试人员可以不限次修改所述的键-值对中的值,以便通过修改其中的测试代码结合网页刷新来实现网页调试。
部分实施例中,可能需要对网页中的多个程序模块进行测试,每个程序模块便需要有一份相应的测试代码,因此便需要对多份测试代码进行有序管理。当测试代码具有多份时,可相应在本地存储空间中设置多个键-值对,以用于分别存储该些测试代码。
在一个较佳的实施方式中,为了便于在多份测试代码与多个程序模块之间建立一一对应关系,方便识别代码快速为各个程序模块调用其相应的测试代码,可在存储测试代码的键-值对的键名中进行编号实现标记,适应网页中的各个程序模块分别植入一个决策模块,每个决策模块为相应的程序模块调用测试代码时,按照这种编号关系定位相应的键名,调用其值中对应的测试代码即可。
在本申请的典型实施例中,由于一个程序模块被一个决策模块所控制,多个程序模块分别被对应多个决策模块所控制,因此,当通过决策模块的识别代码的执行从访问请求中识别到代码转向标识后,决策模块通过相应的第一执行代码的执行,跳转执行根据代码转向标识从本地存储空间中定位到的与该程序模块相对应的键-值对中的测试代码。例如,当代码转向标识被表述为“debug_sdk=2”,则可定位键名为“No_2”的键-值对,取其值用于替换程序模块执行;同理,当代码转向标识被表述为“debug_sdk=3”,则确定键名为“No_3”的键_值对中的值,以此类推。当决策模块跳转执行所述测试代码后,便跳过了程序模块本身的代码,因此在浏览器的页面上解析出的内容,便是测试代码而不是原程序模块代码执行后的相应效果。
在部分实施例中,可以借助一个决策模块实现对网页中的多个程序模块的替代执行,只要决策模块具备复杂条件选择功能,通过这一功能,结合代码转向标识的具体内容对应选择不同的键-值对确定相应的测试代码即可。
在部分实施例中,一份测试代码可被用于替代目标网页的多个程序模块中的代码,也即是说,该一份测试代码可对应目标网页的多份程序模块的代码,可通过决策模块确定该一份测试代码与目标网页的多份程序模块的代码的对应关系,且完成测试代码替代该多个程序模块的代码的解析执行,通过本实施例中的方式,可减少测试代码的存储量,减轻测试人员的工作。
在部分实施例中,当决策模块的识别代码从访问请求中识别到代码转向标识,但却并未从本地存储空间中查找到相应的测试代码时,则决策模块在目标网页中输出用于表征“没有测试代码”的错误信息或决策模块通过其第二执行代码直接执行目标网页的程序模块的代码。
步骤S13,根据解析执行结果在浏览器中显示目标网页的相应内容:
当浏览器在解析目标网页的过程中,完成了测试代码替代目标网页的程序模块的部分或全部代码的执行后,在浏览器的页面上显示经替代了测试代码的网页效果。
为实现网页测试,使得网页测试的结果达到预设的效果,测试代码中可以植入埋点指令,该埋点指令用于向网页的显示页面输出各种期望的调试信息,在测试代码替代执行完成后,测试人员可在浏览器的页面上观察页面中是否呈现所述的调试信息,以确定测试代码替代执行后,其效果是否符合预期。若不符合预期,则可对测试代码进行修改,之后再重新执行本申请的各个步骤,如此多次进行调试,最终获得期望的效果,实现对测试代码的定型。例如,当第一次进行网页测试时,预计测试代码替代执行后,目标网页的其中一个特效的透明度程度为90%,而实际测试中,透明度约为10%,测试人员于是检查修改测试代码,再次进行网页测试,直至透明度接近期望的效果,便可结束调试。当然,所述透明度相关的调试信息也可通过埋点指令以数值的形式输出到网页相应的页面中。
进一步的,可以通过将上述的网页测试方法中的各个实施例进行功能化,构造出本申请的一种网页测试装置,按照这一思路,请参阅图3,其中的一个典型实施例中,该装置包括:
解析单元21,访问目标网页,驱动浏览器解析该目标网页以实施测试;
执行单元22,所述目标网页被解析执行的过程中,从其访问请求中识别代码转向标识,该代码转向标识用于指示该目标网页中的程序模块存在测试代码,依据所述代码转向标识,从由浏览器的本地存储特性所支持的本地存储空间中读取所述程序模块的测试代码,以该测试代码替代其相应的源码而被解析执行;
显示单元23,根据解析执行结果在浏览器中显示目标网页的相关内容。
进一步的,为了便于本申请的执行,提供一种电子设备,作为本申请所部署的服务器,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中计算机程序以执行如前述的一种网页测试方法的步骤。
可以看出,存储器适宜采用非易失性存储介质,通过将前述的方法实现为计算机程序,安装到手机之类电子设备中,相关程序代码和数据便被存储到电子设备的非易失性存储介质中,进一步通过电子设备的中央处理器运行该程序,将其从非易性存储介质中调入内存中运行,便可实现本申请所期望的目的。因此,可以理解,本申请的一个实施例中,还可提供一种非易失性存储介质,其中存储有依据所述的网页测试方法的各个实施例所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
通过本申请的网页测试方法,在浏览器的本地存储空间中存储测试代码,且在目标网页的访问请求中添加用于指示网页测试的代码转向标识,在浏览器解析目标网页的代码时,解析到代码中的决策模块,通过决策模块识别到代码转向标识,定位出与程序模块相应的测试代码并跳转执行之,在决策模块的作用下浏览器不再解析该程序模块的代码,而是解析执行与该程序模块的代码相对应的所述测试代码,继而在浏览器上显示测试代码的执行效果,以实现网页测试。
综上所述,通过本申请的方法,基于浏览器便可完成线上网页的程序模块的测试代码的调试,无需第三方工具,高效可行。
本技术领域技术人员可以理解,本申请包涉及用于执行本申请中所述操作、方法中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其存储器之内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(ErasableProgrammable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本申请公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种网页测试方法,其特征在于,包括如下步骤:
访问目标网页,驱动浏览器解析该目标网页以实施测试;
所述目标网页被解析执行的过程中,从其访问请求中识别代码转向标识,该代码转向标识用于指示该目标网页中的程序模块存在测试代码,依据所述代码转向标识,从由浏览器的本地存储特性所支持的本地存储空间中读取所述程序模块的测试代码,以该测试代码替代其相应的源码而被解析执行;
根据解析执行结果在浏览器中显示目标网页的相应内容。
2.如权利要求1所述的方法,其特征在于,所述访问请求中包含该目标网页的访问地址信息,该访问地址尾部携带所述代码转向标识。
3.如权利要求1所述的方法,其特征在于,所述目标网页基于HTML5开发,所述浏览器的本地存储空间由浏览器的LocalStorage设置项提供存储管理入口。
4.如权利要求1所述的方法,其特征在于,所述测试代码被以键-值对存储,其中的键与所述代码转向标识具有对应关系,其中的值用于存储所述测试代码。
5.如权利要求1所述的方法,其特征在于,所述方法包括前置步骤,响应于用户操作指令,从所述浏览器中调出所述本地存储空间的编辑界面,以供编辑所述测试代码。
6.如权利要求1所述的方法,其特征在于,所述目标网页的源码中包含用于识别代码转向标识以转向执行程序模块的替代的测试代码的决策模块。
7.如权利要求1所述的方法,其特征在于,所述测试代码在其被解析执行的过程中,向用户界面输出调试信息。
8.一种网页测试装置,其特征在于,包括:
解析单元,访问目标网页,驱动浏览器解析该目标网页以实施测试;
执行单元,所述目标网页被解析执行的过程中,从其访问请求中识别代码转向标识,该代码转向标识用于指示该目标网页中的程序模块存在测试代码,依据所述代码转向标识,从由浏览器的本地存储特性所支持的本地存储空间中读取所述程序模块的测试代码,以该测试代码替代其相应的源码而被解析执行;
显示单元,根据解析执行结果在浏览器中显示目标网页的相关内容。
9.一种电子设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至7中任一项所述的网页测试方法。
10.一种非易失性存储介质,其特征在于,其存储用依据如权利要求1至7中任一项所述的网页测试方法所述实现的计算机程序,该计算机程序被计算机调用时,执行该方法所包括的步骤。
CN202011157271.XA 2020-10-26 2020-10-26 网页测试方法及其装置、设备、介质 Pending CN112269739A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011157271.XA CN112269739A (zh) 2020-10-26 2020-10-26 网页测试方法及其装置、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011157271.XA CN112269739A (zh) 2020-10-26 2020-10-26 网页测试方法及其装置、设备、介质

Publications (1)

Publication Number Publication Date
CN112269739A true CN112269739A (zh) 2021-01-26

Family

ID=74341452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011157271.XA Pending CN112269739A (zh) 2020-10-26 2020-10-26 网页测试方法及其装置、设备、介质

Country Status (1)

Country Link
CN (1) CN112269739A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130944A (zh) * 2023-10-26 2023-11-28 数研院(福建)信息产业发展有限公司 一种用于终端的实时页面调试方法、介质以及终端

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095376A (zh) * 2015-06-30 2015-11-25 青岛海信移动通信技术股份有限公司 一种移动终端中浏览器本地主页的创建方法及装置
CN107133180A (zh) * 2017-06-07 2017-09-05 腾讯科技(深圳)有限公司 动态页面的测试方法、测试装置及存储介质
CN107256195A (zh) * 2017-06-08 2017-10-17 武汉斗鱼网络科技有限公司 网页前端测试方法及装置
CN109376064A (zh) * 2018-09-03 2019-02-22 平安普惠企业管理有限公司 一种接口测试报告的生成方法及设备
CN109408750A (zh) * 2018-09-26 2019-03-01 中国平安财产保险股份有限公司 页面显示方法、装置、计算机设备和存储介质
CN109428788A (zh) * 2017-09-05 2019-03-05 阿里巴巴集团控股有限公司 功能测试方法及系统
CN110297762A (zh) * 2019-05-24 2019-10-01 平安银行股份有限公司 插件式自动测试方法、装置、计算机设备及存储介质
CN110990731A (zh) * 2019-10-12 2020-04-10 平安国际智慧城市科技股份有限公司 一种静态网页的渲染方法、装置、设备及计算机存储介质
CN111222075A (zh) * 2020-01-15 2020-06-02 平安普惠企业管理有限公司 基于多Webview的数据传输方法、服务器及存储介质
CN111538667A (zh) * 2020-04-28 2020-08-14 北京三快在线科技有限公司 一种页面测试的方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095376A (zh) * 2015-06-30 2015-11-25 青岛海信移动通信技术股份有限公司 一种移动终端中浏览器本地主页的创建方法及装置
CN107133180A (zh) * 2017-06-07 2017-09-05 腾讯科技(深圳)有限公司 动态页面的测试方法、测试装置及存储介质
CN107256195A (zh) * 2017-06-08 2017-10-17 武汉斗鱼网络科技有限公司 网页前端测试方法及装置
CN109428788A (zh) * 2017-09-05 2019-03-05 阿里巴巴集团控股有限公司 功能测试方法及系统
CN109376064A (zh) * 2018-09-03 2019-02-22 平安普惠企业管理有限公司 一种接口测试报告的生成方法及设备
CN109408750A (zh) * 2018-09-26 2019-03-01 中国平安财产保险股份有限公司 页面显示方法、装置、计算机设备和存储介质
CN110297762A (zh) * 2019-05-24 2019-10-01 平安银行股份有限公司 插件式自动测试方法、装置、计算机设备及存储介质
CN110990731A (zh) * 2019-10-12 2020-04-10 平安国际智慧城市科技股份有限公司 一种静态网页的渲染方法、装置、设备及计算机存储介质
CN111222075A (zh) * 2020-01-15 2020-06-02 平安普惠企业管理有限公司 基于多Webview的数据传输方法、服务器及存储介质
CN111538667A (zh) * 2020-04-28 2020-08-14 北京三快在线科技有限公司 一种页面测试的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117130944A (zh) * 2023-10-26 2023-11-28 数研院(福建)信息产业发展有限公司 一种用于终端的实时页面调试方法、介质以及终端
CN117130944B (zh) * 2023-10-26 2024-02-09 数研院(福建)信息产业发展有限公司 一种用于终端的实时页面调试方法、介质以及终端

Similar Documents

Publication Publication Date Title
US10108535B2 (en) Web application test script generation to test software functionality
US8458666B2 (en) Methods and systems for implementing a test automation framework for testing software applications on UNIX/LINUX based machines
CN109901834B (zh) 文档页面生成方法、装置、计算机设备和存储介质
US9529662B1 (en) Dynamic rule-based automatic crash dump analyzer
US8543713B2 (en) Computing environment arranged to support predetermined URL patterns
US9003235B2 (en) Indicating coverage of web application testing
US9275018B2 (en) Techniques for analyzing web pages to determine font subsets
CN104735112A (zh) 发送资源文件的方法、缓存资源文件的方法和装置
CN110633219B (zh) 页面测试方法与装置、存储介质、电子设备
US20210209526A1 (en) Landing page processing method, device and medium
US9497252B2 (en) On-demand code version switching
CN113032244A (zh) 接口测试方法、装置、计算机系统和计算机可读存储介质
CN113934913A (zh) 数据抓取方法、装置、存储介质及电子设备
CN114237651A (zh) 云原生应用的安装方法、装置、电子设备和介质
CN112269739A (zh) 网页测试方法及其装置、设备、介质
US10095791B2 (en) Information search method and apparatus
CN117632710A (zh) 测试代码的生成方法、装置、设备及存储介质
US20180157478A1 (en) Deployment of immutable web application builds
CN109597952B (zh) 网页信息处理方法、系统、电子设备和存储介质
CN116719735A (zh) 一种测试用例生成方法及装置
CN116185825A (zh) 前端的自测方法、前端设备和计算机可读存储介质
US20210349808A1 (en) Source quality check service
CN112966167A (zh) 数据爬取方法、装置、计算机系统和计算机可读存储介质
CN110096281B (zh) 代码解析方法、解析服务器、存储介质及装置
US20220217037A1 (en) Detecting relationships between web services in a web-based computing system

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