CN110716850A - 页面测试方法、装置、系统及存储介质 - Google Patents

页面测试方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN110716850A
CN110716850A CN201810759556.7A CN201810759556A CN110716850A CN 110716850 A CN110716850 A CN 110716850A CN 201810759556 A CN201810759556 A CN 201810759556A CN 110716850 A CN110716850 A CN 110716850A
Authority
CN
China
Prior art keywords
page
test
request
domain name
target
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
Application number
CN201810759556.7A
Other languages
English (en)
Other versions
CN110716850B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810759556.7A priority Critical patent/CN110716850B/zh
Publication of CN110716850A publication Critical patent/CN110716850A/zh
Application granted granted Critical
Publication of CN110716850B publication Critical patent/CN110716850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种页面测试方法、装置、系统及存储介质,其中,页面测试方法包括:拦截浏览器的页面测试请求;将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及通过所述代理服务器接收所述测试服务器反馈的测试页面。本发明实施例能够避免复杂的配置,简化测试方式,降低对测试人员的专业性要求。

Description

页面测试方法、装置、系统及存储介质
技术领域
本发明实施例涉及互联网技术领域,具体涉及一种页面测试方法、装置、系统及存储介质。
背景技术
目前,很多终端(比如:手机)应用程序(application,APP)里都内置有网页,现有的对终端应用程序里内置的网页进行测试的方法,主要依赖测试人员的电脑,即需要在测试人员的电脑上安装一款名为Fiddler的测试代理工具,以使得电脑具有代理功能。在测试时,需要将终端与电脑建立连接(比如:建立无线保真WIFI连接),并且需要测试人员在终端上将电脑配置为代理,该配置过程中涉及规则(Rules)配置、主机(Host)配置、扩展(Extension)配置等,以通过电脑从测试服务器获取测试网页。对于非专业人员,要理解这些配置的概念,并作出正确的配置以体验测试网页是一件比较困难的事。即现有的对应用程序里内置的网页进行测试的方法,存在配置过程复杂,对人员专业性要求较高等问题。
发明内容
本发明实施例提供了一种页面测试方法、装置、系统及存储介质,能够避免复杂的配置,简化测试方式,降低对测试人员的专业性要求。
本发明实施例提供的页面测试方法,包括:
拦截浏览器的页面测试请求;
将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;
将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及
通过所述代理服务器接收所述测试服务器反馈的测试页面。
本发明实施例提供的页面测试装置,包括:
拦截单元,用于拦截浏览器的页面测试请求;
修改单元,用于将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;
发送单元,用于将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及
接收单元,用于通过所述代理服务器接收所述测试服务器反馈的测试页面。
本发明实施例提供的页面测试系统,包括终端和代理服务器,其中:
所述终端用于,拦截浏览器的页面测试请求;将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及通过所述代理服务器接收所述测试服务器反馈的测试页面;
所述代理服务器用于,接收所述终端发送的所述目标测试请求,将所述目标测试请求发送给所述测试服务器,以及接收测试服务器反馈的测试页面,将所述测试页面发送给所述终端。
本发明实施例还提供了一种存储介质,所述存储介质用于储存多条指令,所述指令适于由处理器加载并执行如本发明实施例提供的页面测试方法中的步骤。
本发明实施例中,终端通过拦截浏览器的测试请求,并将测试请求中的原始域名修改为指向代理服务器的目标域名的方式,将远程的服务器作为代理,通过代理服务器将测试请求转发至测试服务器,以获取测试页面,测试过程中,不需要测试人员在终端进行复杂的配置,只需要测试人员在终端一键打开测试开关并选择测试服务器即可,测试方式简单,降低了对测试人员的专业性要求,使得非专业人员也可以快速体验到测试网页。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例所提供的页面测试系统的场景示意图。
图2a是本发明实施例所提供的页面测试方法的流程示意图。
图2b是本发明实施例所提供的测试环境的选择界面示意图。
图3a是本发明实施例所提供的页面测试方法的另一流程示意图。
图3b是本发明实施例所提供的页面测试方法的又一流程示意图。
图4是本发明实施例所提供的页面测试装置的结构示意图。
图5是本发明实施例所提供的页面测试装置的另一结构示意图。
图6是本发明实施例所提供的终端的结构示意图。
图7是本发明实施例所提供的页面测试系统的结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语“模块”可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法可以以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。
本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1,图1是本发明实施例的页面测试系统的场景示意图,该页面测试系统中包括页面测试装置,页面测试装置具体可以集成在终端(例如:手机)或者其他具备储存单元并安装有微处理器而具有运算能力的设备中。
以页面测试装置集成在终端中为例,具体在本发明实施例中,终端上安装有浏览器和测试用的应用程序,浏览器可以显示应用程序的网页。当测试人员想要对应用程序的网页进行测试时,测试人员可以一键打开应用程序内的测试开关,并选择测试环境,测试环境可由开发工程师或其他专业人员预先部署好,所选择的测试环境中包括测试服务器的标识信息,然后通过浏览器发起页面测试请求;终端可以确定测试人员选择的测试环境并拦截浏览器的页面测试请求,将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器,与此同时,终端还可以将测试环境中包含的测试服务器的标识信息写入所述目标测试请求;此后,终端可以将目标测试请求发送给代理服务器,以使得所述代理服务器根据所述测试服务器的标识信息将所述目标测试请求转发给测试服务器;最后,终端通过所述代理服务器接收所述测试服务器反馈的测试页面,测试人员通过终端的浏览器就可以看到测试页面。在测试过程中,不需要测试人员在终端进行复杂的配置,只需要测试人员在终端一键打开测试开关并选择测试服务器即可,测试方式简单,降低了对测试人员的专业性要求,使得非专业人员也可以快速体验到测试网页。
此外,页面测试系统中还可以包括代理服务器和测试服务器,代理服务器主要用于接收所述终端发送的所述目标测试请求,将所述目标测试请求发送给所述测试服务器,以及接收测试服务器反馈的测试页面,将所述测试页面发送给所述终端;测试服务器主要用于根据目标测试请求向终端反馈测试页面。
需要说明的是,图1所示的页面测试系统的场景示意图仅仅是一个示例,本发明实施例描述的页面测试系统及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着页面测试系统的演变和新业务平台的出现,本发明实施例的技术方案对于类似的技术问题,同样适用。
以下将分别进行详细说明。
本实施例将从页面测试装置的角度描述本发明实施例提供的页面测试方法,该页面测试装置可以集成在终端中,如图2a所示,本实施例的页面测试方法可以包括以下步骤:
步骤201、拦截浏览器的页面测试请求。
本实施例中,终端上安装有浏览器和测试用的应用程序(即测试版应用程序),浏览器可以用于显示测试版应用程序的网页,测试版应用程序中设置有测试开关,当测试人员(可以是专业的测试人员,也可以是非专业的测试人员)想要对应用程序的网页进行测试时,可以一键打开测试开关,并选择测试环境,而测试环境的选择需要通过应用程序的原始页面(即当前显示的网页)上提供的入口(比如对话框或窗口)实现,因此在拦截浏览器的页面测试请求之前,终端还可以执行以下步骤:
(1)检测测试开关的状态。终端可以按照预设策略(比如定时检测、实时检测等)检测测试开关的状态,当检测到测试开关为开启状态时,终端将拦截浏览器的所有请求。
(2)若检测到所述测试开关为开启状态,则拦截浏览器的页面访问请求。
如果测试人员打开应用程序之后,首先访问了某个网页(此时测试开关还未打开),则终端允许浏览器根据测试人员的访问操作直接向原始服务器(即正式环境中的服务器,该服务器可以为应用程序的后台服务器)发送页面访问请求,以从原始服务器获取原始页面,在浏览器已经获取原始页面且测试人员打开测试开关之后,若终端检测到了测试开关为开启状态,则终端可以直接执行步骤(4)。
而如果测试人员打开应用程序之后,首先开启了测试开关,然后访问某个网页,则当浏览器根据测试人员的访问操作发出页面访问请求时,终端将拦截该页面访问请求,所述页面访问请求中可以包括域名,该域名指向原始服务器。另外,由于是第一次访问原始服务器,页面访问请求中还可以包括测试人员为登陆应用程序而输入的用户名、账号、密码等信息。
(3)根据所述页面访问请求从原始服务器获取原始页面。由于此时浏览器上还没有显示网页,而测试环境的选择需要通过应用程序的原始页面上提供的入口实现,且由于此时测试开关已打开,则终端需要根据该页面访问请求通过代理服务器从原始服务器获取原始页面,具体原始页面的获取方法可包括:
修改域名;具体地,终端可以获取代理服务器对应的专用附加字符(该专用附加字符可由终端与代理服务器预先协定),根据该专用附加字符对页面访问请求中的域名进行扩展,得到目标访问请求;扩展方式比如,将该专用附加字符作为前缀、后缀等,附加在页面访问请求包含的域名中,扩展之前的域名指向原始服务器,扩展之后的域名指向代理服务器。
发送目标访问请求;即终端可以将目标访问请求发送给代理服务器,代理服务器接收到该目标访问请求之后,可以从目标访问请求包含的域名中还原出原始服务器的域名,并根据原始服务器的域名将目标访问请求转发给原始服务器。原始服务器接收到目标访问请求之后,会通过代理服务器为终端反馈原始页面,另外,原始服务器反馈给终端的信息还可以包括cookie,cookie中可以包括上述用户名、账号等信息。
获取原始页面;终端可以通过代理服务器获取原始服务器反馈的原始页面、cookie等信息,终端可以利用浏览器显示原始页面,并将得到的cookie保存在原始服务器的域名下。
(4)确定测试人员在所述原始页面上选择的测试环境。测试环境可由开发工程师或其他专业人员预先部署好。原始页面上可以提供测试环境的选择入口,在一个具体的实施例中,原始页面上提供的测试环境的选择入口可如图2b所示,测试人员可以从原始页面上提供的选择入口选择测试环境,选择的测试环境中包括测试服务器(即测试环境中的服务器)的标识信息,该标识信息可以为测试服务器的互联网协议地址(Internet ProtocolAddress,IP)地址。
在选择好测试环境之后,测试人员可以通过浏览器发起页面测试请求(本实施例中,将未进行测试环境选择之前浏览器发出的请求,称为页面访问请求,将进行测试环境选择之后浏览器发出的请求,称为页面测试请求),终端拦截浏览器的页面测试请求。
步骤202、将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器。
本实施例中,由于页面测试请求是在页面访问请求获取的原始页面下产生的,可能出现跨域的情况,即页面访问请求所请求的页面与页面测试请求所请求的页面不同源。因此在修改原始域名之前,可以先根据页面访问请求包含的协议类型、域名和端口号,判断页面测试请求的类型,根据页面测试请求的类型对原始域名进行修改,所述类型包括非跨域请求和跨域请求。具体的判断方法可如下:
判断页面访问请求包含的协议、域名和端口号,是否对应与页面测试请求包含的协议、域名和端口号一致,如果这三组信息中,有任意一组信息对应不一致,则页面测试请求为跨域请求,只有当这三组信息均对应一致时,该页面测试请求才为非跨域请求。
若页面测试请求为非跨域请求,比如,该页面测试请求为原始页面的刷新请求,这种情况下,页面测试请求中包含的域名与页面访问请求中包含的域名相同,均指向原始服务器,两个请求所请求的页面同源,则修改域名的方法可如下:
(1)获取所述代理服务器对应的专用附加字符,该专用附加字符可由终端与代理服务器预先协定;
(2)根据所述专用附加字符对所述原始域名进行扩展,得到所述目标域名;扩展方式比如,将该专用附加字符作为前缀、后缀等,附加在原始域名中,目标域名指向代理服务器;
(3)将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
若页面测试请求为跨域请求,比如,原始页面中包含一些链接,该页面测试请求为测试人员点击原始页面上包含的某个链接发起的,而该链接对应的页面与原始页面不同源,则具体修改域名的方法可如下:
(1)获取所述代理服务器对应的专用附加字符,并获取所述页面访问请求包含的域名;
(2)根据所述专用附加字符以及所述页面访问请求包含的域名(即原始服务器的域名),对所述原始域名进行扩展,得到所述目标域名;扩展方式比如,将该专用附加字符及页面访问请求包含的域名作为前缀、后缀等,附加在原始域名中,目标域名指向代理服务器;
(3)将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
上述域名修改方式,可以使得目标域名中仍包含原始服务器的域名,目标域名为原始服务器的域名的子域名,且由于cookie在请求中的携带,是通过识别域名进行的,某个域名下的cookie可以被携带在包含该域名的请求中。则本实施例中,由于目标测试请求包含的目标域名中,仍包含原始服务器的域名,则目标测试请求中可以携带保存在终端中的原始服务器的域名下的cookie,通常情况下,cookie会携带在请求的头部。
另外,终端还可以将测试环境中包含的测试服务器的标识信息写入目标测试请求中,比如,将测试服务器的标识信息写入目标测试请求的头部cookie中,当然,也可以写入目标测试请求的其他位置,比如请求体中,此处不作具体限定。
本实施例提出的域名修改方式,同时兼顾了代理服务器和cookie的携带,而携带的cookie可以在后续用于进行身份识别、会话跟踪等。
在一些实施例中,如果不考虑cookie的携带,还可以直接将代理服务器的域名作为目标域名,将页面测试请求中的原始域名修改为该目标域名,得到目标测试请求。
步骤203、将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器。
代理服务器在接收到目标测试请求之后,可以从目标测试请求的头部cookie中提取测试服务器的标识信息,根据该标识信息直接将目标测试请求发送给测试服务器。
另外,为保证信息安全,代理服务器还可以根据目标测试请求中携带的信息对终端及相关服务器进行认证,以将符合要求的目标测试请求转发给测试服务器,以实现对目标测试请求的过滤。
比如,代理服务器在接收到目标测试请求之后,可以对目标测试请求进行解析,从目标测试请求中获取终端的身份识别信息(比如用户名、账号等),根据终端的身份识别信息判断所述终端是否为预设终端;若所述终端的为预设终端,则将所述目标测试请求发送给所述测试服务器。例如,代理服务器可以从目标测试请求的头部cookie中获取用户名,判断该用户名是否属于白名单,若属于,则所述终端为预设终端,则将所述目标测试请求发送给所述测试服务器;否则,将目标测试请求转发给原始服务器。
再比如,代理服务器在接收到目标测试请求之后,可以对目标测试请求进行解析,从所述目标测试请求中提取所述目标域名,并从所述目标域名中还原出所述原始域名;判断所述原始域名指向的服务器(可能指向原始服务器,也可能指向正式环境中的其他服务器)是否为预设服务器(比如,判断根据该原始域名获取对应的服务器的标识信息,判断该标识信息是否与预设标识信息匹配,若匹配,则该服务器为预设服务器);当所述原始域名指向的服务器为所述预设服务器时,将所述目标测试请求发送给所述测试服务器;否则,将目标测试请求转发给原始服务器。
另外,在代理服务器将目标测试请求发送给所述测试服务器之前,所述代理服务器还可以进行其他处理,比如对目标测试请求进行修改,在目标测试请求附加其他信息等,此处不做具体限定。
步骤204、通过所述代理服务器接收所述测试服务器反馈的测试页面。
终端可以利用浏览器向测试人员展示该测试页面。
本实施例中,终端通过拦截浏览器的测试请求,并将测试请求中的原始域名修改为指向代理服务器的目标域名的方式,将远程的服务器作为代理,通过代理服务器将测试请求转发至测试服务器,以获取测试页面,测试过程中,不需要测试人员在终端进行复杂的配置,只需要测试人员在终端一键打开测试开关并选择测试服务器即可,测试方式简单,降低了对测试人员的专业性要求,使得非专业人员也可以快速体验到测试网页。
上述实施例描述的方法,本实施例将做进一步的详细说明,如图3a所示,本实施例的页面测试方法包括如下步骤:
步骤301、检测测试开关的状态。
具体地,终端可以按照预设策略(比如定时检测、实时检测等)检测测试开关的状态,当测试开关为开启状态时,终端将拦截浏览器的所有请求,当测试开关为关闭状态时,终端允许浏览器直接向外发出请求,比如直接向原始服务器发送请求。
步骤302、若检测到所述测试开关为开启状态,则拦截浏览器的页面访问请求。
比如,用户可以通过浏览器发起页面访问请求,以获取原始页面,该页面访问请求中可以包括域名,该域名指向原始服务器。比如,要测试应用程序XX的网页,该应用程序对应的原始服务器的域名为a.xx.com,则页面访问请求中可以包括a.xx.com。另外,由于是第一次访问原始服务器,页面访问请求中还可以包括测试人员为登陆该应用程序而输入的用户名、账号、密码等信息。
步骤303、根据所述页面访问请求从原始服务器获取原始页面。
由于测试开关已是开启状态,则终端需要通过代理服务器从原始服务器获取原始页面,具体获取方法如下:
(1)修改域名;比如,代理服务器的专用附加字符为b,页面访问请求中包括的域名为a.xx.com,则终端可以将该专用附加字符作为前缀,附加在页面访问请求包含的域名中,则修改之后的域名为b.a.xx.com,修改之后得到的目标访问请求中包含的域名即为b.a.xx.com。
(2)发送目标访问请求,即终端可以将目标访问请求发送给代理服务器,代理服务器接收到该目标访问请求之后,可以从目标访问请求包含的域名b.a.xx.com中还原出原始服务器的域名a.xx.com,并根据原始服务器的域名a.xx.com将目标访问请求转发给原始服务器。原始服务器接收到目标访问请求之后,会通过代理服务器为终端反馈原始页面,另外,原始服务器反馈给终端的信息还可以包括cookie,cookie中可以包括上述用户名、账号等信息。
(3)获取原始页面;终端可以通过代理服务器获取原始服务器反馈的原始页面、cookie等信息,终端可以利用浏览器显示原始页面,并可以将得到的cookie保存在原始服务器的域名下。
步骤304、确定测试人员在所述原始页面上选择的测试环境,所述测试环境中包括测试服务器的标识信息。
测试环境可由开发工程师或其他专业人员预先部署好,原始页面上可以提供测试环境的选择入口,测试人员可以从原始页面上提供的选择入口选择测试环境,选择的测试环境中包括测试服务器的标识信息,该标识信息可以为测试服务器的IP地址。
步骤305、拦截浏览器的页面测试请求。
选择好测试环境之后,测试人员可以通过浏览器发起页面测试请求(本实施例中,将未进行测试环境选择之前浏览器发出的请求,称为页面访问请求,将进行测试环境选择之后浏览器发出的请求,称为页面测试请求),终端拦截浏览器的页面测试请求。
步骤306、根据所述页面访问请求中包含的协议类型、域名和端口号,判断所述页面测试请求的类型。
本实施例中,由于页面测试请求是在页面访问请求获取的原始页面下产生的,可能出现跨域的情况,即页面访问请求所请求的页面与页面测试请求所请求的页面不同源,比如,测试人员在来源域名为a.xx.com的原始页面上,请求来源域名为c.url.cn的页面。因此在修改原始域名之前,终端可以先根据页面访问请求包含的协议类型、域名和端口号,判断页面测试请求的类型,根据页面测试请求的类型对原始域名进行修改,所述类型包括非跨域请求和跨域请求。具体的判断方法可如下:
判断页面访问请求包含的协议、域名和端口号,是否对应与页面测试请求包含的协议、域名和端口号一致,如果这三组信息中,有任意一组信息对应不一致,则页面测试请求为跨域请求,只有当这三组信息均对应一致时,该页面测试请求才为非跨域请求。
步骤307、获取代理服务器对应的专用附加字符。
步骤308、根据专用附加字符对所述页面测试请求中的原始域名进行扩展,得到目标域名。
步骤309、将页面测试请求中的所述原始域名替换为所述目标域名,得到目标测试请求。
比如,该页面测试请求为原始页面的刷新请求,这种情况下,页面测试请求中包含的域名与页面访问请求中包含的域名相同,比如均为a.xx.com,均指向原始服务器,两个请求所请求的页面同源,则修改域名的方法可以是:将代理服务器对应的专用附加字符作为前缀,附加在页面访问请求包含的域名中,比如,代理服务器对应的专用附加字符为b,则修改之后的域名为b.a.xx.com,修改之后得到的目标测试请求中包含的域名即为b.a.xx.com。
步骤310、获取代理服务器对应的专用附加字符,以及获取所述页面访问请求中的域名。
步骤311、根据所述专用附加字符以及所述页面访问请求中的域名对原始域名进行扩展,得到目标域名。
步骤312、将所述页面测试请求中的所述原始域名替换为所述目标域名,得到目标测试请求。
比如,原始页面中包含一些链接,页面测试请求为测试人员点击原始页面上包含的某个链接发起的,而该链接对应的页面与原始页面不同源,比如测试人员在来源域名为a.xx.com的原始页面上请求来源域名为c.url.cn的页面,则具体修改域名的方法可以是:将该代理服务器对应的专用附加字符作为前缀,将页面访问请求包含的域名(原始服务器的域名)作为后缀,附加在原始域名中,修改后得到的目标域名可以为b.a.xx.com/c_url_cn/,这种修改方式在代理服务器侧,代理服务器可以识别携带域名b.a.xx.com/c_url_cn/的请求,其实是要访问域名为c.url.cn的服务器。
上述域名修改方式,使得目标域名中仍包含原始服务器的域名,目标域名为原始服务器的域名的子域名,且由于cookie在请求中的携带,是通过识别域名进行的,某个域名下的cookie可以被携带在包含该域名的请求中。则本实施例中,由于目标测试请求包含的目标域名中,仍包含原始服务器的域名,则目标测试请求中可以携带保存在终端中的原始服务器的域名下的cookie,通常情况下,cookie会携带在请求的头部。
步骤313、将所述测试服务器的标识信息写入所述目标测试请求。
比如,将测试服务器的标识信息写入目标测试请求的头部cookie中,当然,也可以写入目标测试请求的其他位置,比如请求体中,此处不作具体限定。
步骤314、将目标测试请求发送给所述代理服务器,以使得所述代理服务器根据所述标识信息将所述目标测试请求转发给所述测试服务器。
代理服务器在接收到目标测试请求之后,可以从目标测试请求的头部cookie中提取测试服务器的标识信息,根据该标识信息直接将目标测试请求发送给测试服务器。
另外,为保证信息安全,代理服务器还可以根据目标测试请求中携带的信息对终端及相关服务器进行认证。
具体地,如图3b所示,比如代理服务器在接收到目标测试请求之后,可以对目标测试请求进行解析,从目标测试请求的头部cookie中获取用户名/账号等身份识别信息,判断该用户名/账号是否属于白名单,若属于,则所述终端为预设终端,则将所述目标测试请求发送给所述测试服务器,若不属于,则将目标测试请求转发至原始服务器。
进一步地,代理服务器还可以对目标测试请求进行解析,比如,从所述目标测试请求中提取所述目标域名,并从所述目标域名中还原出所述原始域名;比如:当目标域名为b.a.xx.com时,还原出的原始域名可以为a.xx.com,当目标域名为b.a.xx.com/c_url_cn/时,还原出的原始域名可以为c.url.cn;判断所述原始域名指向的服务器是否为预设服务器(比如,判断根据该原始域名获取对应的服务器的标识信息,判断该标识信息是否与预设标识信息匹配,若匹配,则该服务器为预设服务器);当所述原始域名指向的服务器为所述预设服务器时,将所述目标测试请求中携带的测试服务器的标识信息,将目标测试请求发送给测试服务器。另外,当所述原始域名指向的服务器不是所述预设服务器时,代理服务器可以将所述目标测试请求发送给原始服务器。
另外,在代理服务器将目标测试请求发送给所述测试服务器之前,所述代理服务器还可以进行其他处理,比如对目标测试请求进行一些修改,在目标测试请求附加其他信息等,此处不做具体限定。
本实施例中,代理服务器上可以安装Node.js软件,Node.js是一个JavaScript编程语言的运行环境,可以运行于服务器中,承担代理功能。本实施例中,代理服务器通过其上安装的Node.js,为终端和测试服务器提供代理功能。
相较于现有技术通过Fiddler提供代理功能,本发明使用Node.js提供代理功能,存在以下几个优点:
(1)扩展了应用场景。Node.js可以兼容多个操作系统,且支持(比如3G、4G网络)公网网络作为测试网络;而Fiddler要求操作系统为Windows,不支持公网网络,要求测试网络为局域网络,比如无线保真WIFI网络。
(2)代理功能直接共用,简化了配置。使用Node.js时,测试人员不需要在代理服务器上进行专门配置,可以直接使用Node.js提供的代理功能;而使用Fiddler时,测试人员需要在电脑上配置自身专用的文件,配置过程比较繁琐。
(3)方便获取测试日志。Node.js运行在公用的服务器上,不同的测试人员使用同一代理服务器时,可以很方便地获取测试日志;而Fiddler运行在私人电脑上,多个测试人员共用一台电脑作为代理时,各自无法第一时间获取自己的测试日志。
步骤315、通过所述代理服务器接收所述测试服务器反馈的测试页面。
终端可以利用浏览器向测试人员展示该测试页面。
本实施例中,终端通过拦截浏览器的测试请求,并将测试请求中的原始域名修改为指向代理服务器的目标域名的方式,将远程的服务器作为代理,通过代理服务器将测试请求转发至测试服务器,以获取测试页面,测试过程中,不需要测试人员在终端进行复杂的配置,只需要测试人员在终端一键打开测试开关并选择测试服务器即可,测试方式简单,降低了对测试人员的专业性要求,使得非专业人员也可以快速体验到测试网页。
为了更好地实施以上方法,本发明实施例还提供一种页面测试装置,如图4所示,本实施例的装置包括拦截单元401、修改单元402、发送单元403以及接收单元404,如下:
拦截单元401,用于拦截浏览器的页面测试请求;
修改单元402,用于将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;
发送单元403,用于将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及
接收单元404,用于通过所述代理服务器接收所述测试服务器反馈的测试页面。
一实施例中,如图5所示,所述装置还包括:
检测单元405,用于检测测试开关的状态;
所述拦截单元401具体用于,若检测到所述测试开关为开启状态,则拦截浏览器的页面测试请求。
一实施例中,所述拦截单元401还用于,拦截所述浏览器的页面访问请求;
如图5所示,所述装置还包括:
获取单元406,用于根据所述页面访问请求从原始服务器获取原始页面。
一实施例中,如图5所示,所述装置还包括:
确定单元407,用于确定测试人员在所述原始页面上选择的测试环境,所述测试环境中包括所述测试服务器的标识信息;
所述装置还包括写入单元409,用于将所述测试服务器的标识信息写入所述目标测试请求,以使得所述代理服务器根据所述测试服务器的标识信息,将所述目标测试请求转发给所述测试服务器。
一实施例中,如图5所示,所述装置还包括:
判断单元408,用于根据所述页面访问请求中包含的协议类型、域名和端口号,判断所述页面测试请求的类型,所述类型包括非跨域请求和跨域请求。
一实施例中,当所述页面测试请求的类型为所述非跨域请求时,所述修改单元402包括:
第一获取子单元4021,用于获取所述代理服务器对应的专用附加字符;
第一扩展子单元4022,用于根据所述专用附加字符对所述原始域名进行扩展,得到所述目标域名;
第一替换子单元4023,用于将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
一实施例中,当所述页面测试请求的类型为所述跨域请求时,所述修改单元402包括:
第二获取子单元4024,用于获取所述代理服务器对应的专用附加字符,并获取所述页面访问请求包含的域名;;
第二扩展子单元4025,用于根据所述专用附加字符以及所述页面访问请求包含的域名,对所述原始域名进行扩展,得到所述目标域名;
第二替换子单元4026,用于将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
需要说明的是,上述实施例提供的页面测试装置在实现页面测试功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的页面测试装置与页面测试方法属于同一构思,其具体实现过程详见方法实施例,此处不再赘述。
本实施例的装置,通过拦截单元拦截浏览器的测试请求,并通过修改单元将测试请求中的原始域名修改为指向代理服务器的目标域名的方式,将远程的服务器作为代理,发送单元通过代理服务器将测试请求转发至测试服务器,以获取测试页面,测试过程中,不需要测试人员在终端进行复杂的配置,只需要测试人员在终端一键打开测试开关并选择测试服务器即可,测试方式简单,降低了对测试人员的专业性要求,使得非专业人员也可以快速体验到测试网页。
相应的,本发明实施例还提供了一种终端,如图6所示,该终端可以包括射频(RF,Radio Frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(WiFi,Wireless Fidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路501可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。通常,RF电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路501还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器502可用于存储软件程序以及模块,处理器508通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。
输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元503可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器508,并能接收处理器508发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元503还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元504可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器508以确定触摸事件的类型,随后处理器508根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图6中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路506、扬声器,传声器可提供用户与终端之间的音频接口。音频电路506可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路506接收后转换为音频数据,再将音频数据输出处理器508处理后,经RF电路501以发送给比如另一终端,或者将音频数据输出至存储器502以便进一步处理。音频电路506还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块507,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器508是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。
终端还包括给各个部件供电的电源509(比如电池),优选的,电源可以通过电源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源509还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现各种功能:
拦截浏览器的页面测试请求;
将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;
将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及
通过所述代理服务器接收所述测试服务器反馈的测试页面。
在一些实施例中,在拦截浏览器的页面测试请求之前,处理器508还用于执行以下步骤:
检测测试开关的状态;
若检测到所述测试开关为开启状态,则拦截浏览器的页面测试请求。
在一些实施例中,在检测到所述测试开关为开启状态之后,在拦截浏览器的页面测试请求之前,处理器508还用于执行以下步骤:
拦截所述浏览器的页面访问请求;
根据所述页面访问请求从原始服务器获取原始页面。
在一些实施例中,在根据所述页面访问请求从原始服务器获取原始页面之后,在拦截浏览器的页面测试请求之前,处理器508还用于执行以下步骤:
确定测试人员在所述原始页面上选择的测试环境,所述测试环境中包括所述测试服务器的标识信息;
在将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求之后,处理器508还用于执行以下步骤:
将所述测试服务器的标识信息写入所述目标测试请求,以使得所述代理服务器根据所述测试服务器的标识信息,将所述目标测试请求转发给所述测试服务器。
在一些实施例中,在将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求之前,处理器508还用于执行以下步骤:
根据所述页面访问请求中包含的协议类型、域名和端口号,判断所述页面测试请求的类型,所述类型包括非跨域请求和跨域请求。
在一些实施例中,当所述页面测试请求的类型为所述非跨域请求时,所述将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求时,处理器508还用于执行以下步骤:
获取所述代理服务器对应的专用附加字符;
根据所述专用附加字符对所述原始域名进行扩展,得到所述目标域名;
将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
在一些实施例中,当所述页面测试请求的类型为所述跨域请求时,所述将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求时,处理器508还用于执行以下步骤:
获取所述代理服务器对应的专用附加字符,并获取所述页面访问请求包含的域名;
根据所述专用附加字符以及所述页面访问请求包含的域名,对所述原始域名进行扩展,得到所述目标域名;
将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
本实施例的终端,通过拦截浏览器的测试请求,并将测试请求中的原始域名修改为指向代理服务器的目标域名的方式,将远程的服务器作为代理,通过代理服务器将测试请求转发至测试服务器,以获取测试页面,测试过程中,不需要测试人员在终端进行复杂的配置,只需要测试人员在终端一键打开测试开关并选择测试服务器即可,测试方式简单,降低了对测试人员的专业性要求,使得非专业人员也可以快速体验到测试网页。
相应的,本发明实施例还提供一种页面测试系统,包括本发明实施例所提供的任一种页面测试装置及代理服务器,页面测试装置具体可参见前述实施例。
例如,以该页面测试装置具体集成在终端中为例,如图7所示,页面测试系统可以包括终端601和代理服务器602,具体可以如下:
所述终端601用于,拦截浏览器的页面测试请求;将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向所述代理服务器;将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及通过所述代理服务器接收所述测试服务器反馈的测试页面;
所述代理服务器602用于,接收所述终端发送的所述目标测试请求,将所述目标测试请求发送给所述测试服务器,以及接收测试服务器反馈的测试页面,将所述测试页面发送给所述终端。
一实施例中,在将所述目标测试请求发送给所述测试服务器之前,所述测试服务器602还用于:
从所述目标测试请求中提取所述终端的身份识别信息;
根据所述终端的身份识别信息判断所述终端是否为预设终端;
若所述终端的为预设终端,则将所述目标测试请求发送给所述测试服务器。
一实施例中,在将所述目标测试请求发送给所述测试服务器之前,所述测试服务器602还用于:
从所述目标测试请求中提取所述目标域名,并从所述目标域名中还原出所述原始域名;
判断所述原始域名指向的服务器是否为预设服务器;
当所述原始域名指向的服务器为所述预设服务器时,将所述目标测试请求发送给所述测试服务器。
本实施例的代理服务器中安装有Node.js软件,代理服务器可以通过其内安装的Node.js软件为终端及测试服务器提供代理功能。
以上各个设备的具体实施可参见前面的实施例,在此不作赘述。
由于该页面测试系统包括本发明实施例所提供的任一种页面测试装置,因此,可以实现本发明实施例所提供的任一种页面测试装置所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种页面测试方法中的步骤。例如,该指令可以执行如下步骤:
拦截浏览器的页面测试请求;将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及通过所述代理服务器接收所述测试服务器反馈的测试页面。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种页面测试方法中的步骤,因此,可以实现本发明实施例所提供的任一种页面测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

Claims (15)

1.一种页面测试方法,其特征在于,包括:
拦截浏览器的页面测试请求;
将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;
将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及
通过所述代理服务器接收所述测试服务器反馈的测试页面。
2.根据权利要求1所述的页面测试方法,其特征在于,在拦截浏览器的页面测试请求之前,还包括:
检测测试开关的状态;
若检测到所述测试开关为开启状态,则拦截浏览器的页面测试请求。
3.根据权利要求2所述的页面测试方法,其特征在于,在检测到所述测试开关为开启状态之后,在拦截浏览器的页面测试请求之前还包括:
拦截所述浏览器的页面访问请求;
根据所述页面访问请求从原始服务器获取原始页面。
4.根据权利要求3所述的页面测试方法,其特征在于,在根据所述页面访问请求从原始服务器获取原始页面之后,在拦截浏览器的页面测试请求之前还包括:
确定测试人员在所述原始页面上选择的测试环境,所述测试环境中包括所述测试服务器的标识信息;
在将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求之后,还包括:
将所述测试服务器的标识信息写入所述目标测试请求,以使得所述代理服务器根据所述测试服务器的标识信息,将所述目标测试请求转发给所述测试服务器。
5.根据权利要求3所述的页面测试方法,其特征在于,在将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求之前,还包括:
根据所述页面访问请求中包含的协议类型、域名和端口号,判断所述页面测试请求的类型,所述类型包括非跨域请求和跨域请求。
6.根据权利要求5所述的页面测试方法,其特征在于,当所述页面测试请求的类型为所述非跨域请求时,所述将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,包括:
获取所述代理服务器对应的专用附加字符;
根据所述专用附加字符对所述原始域名进行扩展,得到所述目标域名;
将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
7.根据权利要求5所述的页面测试方法,其特征在于,当所述页面测试请求的类型为所述跨域请求时,所述将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,包括:
获取所述代理服务器对应的专用附加字符,并获取所述页面访问请求包含的域名;
根据所述专用附加字符以及所述页面访问请求包含的域名,对所述原始域名进行扩展,得到所述目标域名;
将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
8.一种页面测试装置,其特征在于,包括:
拦截单元,用于拦截浏览器的页面测试请求;
修改单元,用于将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向代理服务器;
发送单元,用于将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及
接收单元,用于通过所述代理服务器接收所述测试服务器反馈的测试页面。
9.根据权利要求8所述的页面测试装置,其特征在于,
所述拦截单元还用于,拦截所述浏览器的页面访问请求;
所述装置还包括:
判断单元,用于根据所述页面访问请求中包含的协议类型、域名和端口号,判断所述页面测试请求的类型,所述类型包括非跨域请求和跨域请求。
10.根据权利要求9所述的页面测试装置,其特征在于,当所述页面测试请求的类型为所述非跨域请求时,所述修改单元包括:
第一获取子单元,用于获取所述代理服务器对应的专用附加字符;
第一扩展子单元,用于根据所述专用附加字符对所述原始域名进行扩展,得到所述目标域名;
第一替换子单元,用于将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
11.根据权利要求9所述的页面测试装置,其特征在于,当所述页面测试请求的类型为所述跨域请求时,所述修改单元包括:
第二获取子单元,用于获取所述代理服务器对应的专用附加字符,并获取所述页面访问请求包含的域名;;
第二扩展子单元,用于根据所述专用附加字符以及所述页面访问请求包含的域名,对所述原始域名进行扩展,得到所述目标域名;
第二替换子单元,用于将所述页面测试请求中的所述原始域名替换为所述目标域名,得到所述目标测试请求。
12.一种页面测试系统,其特征在于,包括终端和代理服务器,其中:
所述终端用于,拦截浏览器的页面测试请求;将所述页面测试请求中的原始域名修改为目标域名,得到目标测试请求,所述目标域名指向所述代理服务器;将所述目标测试请求发送给所述代理服务器,以使得所述代理服务器将所述目标测试请求转发给测试服务器;以及通过所述代理服务器接收所述测试服务器反馈的测试页面;
所述代理服务器用于,接收所述终端发送的所述目标测试请求,将所述目标测试请求发送给所述测试服务器,以及接收所述测试服务器反馈的测试页面,将所述测试页面发送给所述终端。
13.根据权利要求12所述的页面测试系统,其特征在于,在将所述目标测试请求发送给所述测试服务器之前,所述代理服务器还用于:
从所述目标测试请求中提取所述终端的身份识别信息;
根据所述终端的身份识别信息判断所述终端是否为预设终端;
若所述终端的为预设终端,则将所述目标测试请求发送给所述测试服务器。
14.根据权利要求12或13所述的页面测试系统,其特征在于,在将所述目标测试请求发送给所述测试服务器之前,所述代理服务器还用于:
从所述目标测试请求中提取所述目标域名,并从所述目标域名中还原出所述原始域名;
判断所述原始域名指向的服务器是否为预设服务器;
当所述原始域名指向的服务器为所述预设服务器时,将所述目标测试请求发送给所述测试服务器。
15.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于由处理器进行加载,以执行权利要求1至7任一项所述的页面测试方法中的步骤。
CN201810759556.7A 2018-07-11 2018-07-11 页面测试方法、装置、系统及存储介质 Active CN110716850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810759556.7A CN110716850B (zh) 2018-07-11 2018-07-11 页面测试方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810759556.7A CN110716850B (zh) 2018-07-11 2018-07-11 页面测试方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN110716850A true CN110716850A (zh) 2020-01-21
CN110716850B CN110716850B (zh) 2022-05-06

Family

ID=69209051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810759556.7A Active CN110716850B (zh) 2018-07-11 2018-07-11 页面测试方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN110716850B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416756A (zh) * 2020-03-13 2020-07-14 深圳市腾讯信息技术有限公司 协议测试方法、装置、计算机设备及存储介质
CN112118241A (zh) * 2020-09-08 2020-12-22 上海谋乐网络科技有限公司 审计渗透测试方法、测试节点服务器、管理服务器及系统
CN112181802A (zh) * 2020-08-21 2021-01-05 长沙市到家悠享网络科技有限公司 测试方法及装置
CN112422429A (zh) * 2020-11-18 2021-02-26 贝壳技术有限公司 数据请求处理方法、装置及计算机可读存储介质
CN112579467A (zh) * 2020-12-28 2021-03-30 北京百家科技集团有限公司 一种测试方法、装置、计算机设备及存储介质
CN114090139A (zh) * 2020-07-29 2022-02-25 北京字节跳动网络技术有限公司 页面处理方法、装置、电子设备及计算机可读存储介质
CN114389969A (zh) * 2022-01-12 2022-04-22 北京百度网讯科技有限公司 客户端的测试方法、装置、电子设备和存储介质
CN114666301A (zh) * 2020-12-22 2022-06-24 深圳Tcl新技术有限公司 一种基于mock服务器的APP测试方法及系统
CN115086210A (zh) * 2022-05-10 2022-09-20 北京思特奇信息技术股份有限公司 一种测试环境与第三方互联网环境的通讯系统及通讯方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302298A1 (en) * 2010-06-07 2011-12-08 Salesforce.Com, Inc. Method and system for testing multiple components of a multi-tenant, multi-domain, multi-tiered website
CN104426862A (zh) * 2013-08-27 2015-03-18 腾讯科技(深圳)有限公司 实现跨域请求登录的方法、系统及浏览器
CN104580540A (zh) * 2013-10-09 2015-04-29 腾讯科技(深圳)有限公司 网站访问的实现方法和装置
US9626492B2 (en) * 2015-02-10 2017-04-18 International Business Machines Corporation Sharing and executing sensitive logic semantics
CN107133180A (zh) * 2017-06-07 2017-09-05 腾讯科技(深圳)有限公司 动态页面的测试方法、测试装置及存储介质
CN107154976A (zh) * 2017-05-10 2017-09-12 北京微影时代科技有限公司 网站测试方法、装置以及系统
CN107948329A (zh) * 2018-01-03 2018-04-20 湖南麓山云数据科技服务有限公司 一种跨域处理方法及系统
CN108055168A (zh) * 2017-12-29 2018-05-18 广州品唯软件有限公司 一种http协议调试系统、装置和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302298A1 (en) * 2010-06-07 2011-12-08 Salesforce.Com, Inc. Method and system for testing multiple components of a multi-tenant, multi-domain, multi-tiered website
CN104426862A (zh) * 2013-08-27 2015-03-18 腾讯科技(深圳)有限公司 实现跨域请求登录的方法、系统及浏览器
CN104580540A (zh) * 2013-10-09 2015-04-29 腾讯科技(深圳)有限公司 网站访问的实现方法和装置
US9626492B2 (en) * 2015-02-10 2017-04-18 International Business Machines Corporation Sharing and executing sensitive logic semantics
CN107154976A (zh) * 2017-05-10 2017-09-12 北京微影时代科技有限公司 网站测试方法、装置以及系统
CN107133180A (zh) * 2017-06-07 2017-09-05 腾讯科技(深圳)有限公司 动态页面的测试方法、测试装置及存储介质
CN108055168A (zh) * 2017-12-29 2018-05-18 广州品唯软件有限公司 一种http协议调试系统、装置和方法
CN107948329A (zh) * 2018-01-03 2018-04-20 湖南麓山云数据科技服务有限公司 一种跨域处理方法及系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416756A (zh) * 2020-03-13 2020-07-14 深圳市腾讯信息技术有限公司 协议测试方法、装置、计算机设备及存储介质
CN114090139A (zh) * 2020-07-29 2022-02-25 北京字节跳动网络技术有限公司 页面处理方法、装置、电子设备及计算机可读存储介质
CN112181802A (zh) * 2020-08-21 2021-01-05 长沙市到家悠享网络科技有限公司 测试方法及装置
CN112118241A (zh) * 2020-09-08 2020-12-22 上海谋乐网络科技有限公司 审计渗透测试方法、测试节点服务器、管理服务器及系统
CN112118241B (zh) * 2020-09-08 2022-11-01 上海谋乐网络科技有限公司 审计渗透测试方法、测试节点服务器、管理服务器及系统
CN112422429A (zh) * 2020-11-18 2021-02-26 贝壳技术有限公司 数据请求处理方法、装置及计算机可读存储介质
CN114666301A (zh) * 2020-12-22 2022-06-24 深圳Tcl新技术有限公司 一种基于mock服务器的APP测试方法及系统
CN114666301B (zh) * 2020-12-22 2024-07-05 深圳Tcl新技术有限公司 一种基于mock服务器的APP测试方法及系统
CN112579467A (zh) * 2020-12-28 2021-03-30 北京百家科技集团有限公司 一种测试方法、装置、计算机设备及存储介质
CN114389969A (zh) * 2022-01-12 2022-04-22 北京百度网讯科技有限公司 客户端的测试方法、装置、电子设备和存储介质
CN114389969B (zh) * 2022-01-12 2024-06-18 北京百度网讯科技有限公司 客户端的测试方法、装置、电子设备和存储介质
CN115086210A (zh) * 2022-05-10 2022-09-20 北京思特奇信息技术股份有限公司 一种测试环境与第三方互联网环境的通讯系统及通讯方法

Also Published As

Publication number Publication date
CN110716850B (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
CN110716850B (zh) 页面测试方法、装置、系统及存储介质
US10853437B2 (en) Method and apparatus for invoking application programming interface
CN107040609B (zh) 一种网络请求处理方法和装置
US10304461B2 (en) Remote electronic service requesting and processing method, server, and terminal
CN110032512B (zh) 一种小程序的调试方法、相关设备及终端
CN105471931B (zh) 一种查询业务数据的方法、装置和系统
CN109905380B (zh) 一种分布式系统中的节点控制方法和相关装置
CN107329901B (zh) 数据包抓取方法、终端、服务器和存储介质
US20140365660A1 (en) Systems and Methods for Accessing Network Data
CN104123276B (zh) 一种浏览器中弹窗的拦截方法、装置和系统
CN111478849B (zh) 业务访问方法、装置和存储介质
US10956653B2 (en) Method and apparatus for displaying page and a computer storage medium
CN109088844B (zh) 信息拦截方法、终端、服务器及系统
WO2015067114A1 (zh) 基于文档对象模型的跨站脚本攻击漏洞检测方法、装置、终端及介质
CN106953898B (zh) 一种获取软件包的方法和装置
US20180262522A1 (en) Malicious url detection method and apparatus, terminal, and computer storage medium
CN110020293A (zh) 多媒体数据展示方法、装置及存储介质
CN108347460B (zh) 资源访问方法及装置
CN112242972A (zh) 网络请求处理方法、装置、存储介质及终端
CN109145182B (zh) 数据采集方法、装置、计算机设备及系统
CN106686210B (zh) 一种来电处理方法、装置和系统
CN106230919B (zh) 一种文件上传的方法和装置
CN105703808A (zh) 一种传输数据的方法和装置
CN107798008B (zh) 内容推送系统、方法及装置
CN103532988A (zh) 页面访问控制方法和相关装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021396

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant