测试场景数据的构建方法及装置、埋点测试方法转让专利

申请号 : CN201611136510.7

文献号 : CN106528432B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李涛

申请人 : 北京三快在线科技有限公司

摘要 :

本发明提供了种测试场景数据的构建方法及装置、埋点测试方法,所述测试场景数据的构建方法包括:接收客户端发送的页面请求并转发至数据服务器;接收所述数据服务器根据所述页面请求返回的页面数据;根据所述页面数据与预设的数据要求之间的匹配情况,确定测试场景数据。通过本发明中的测试场景数据的构建方法及装置、埋点测试方法,能够解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。

权利要求 :

1.一种测试场景数据的构建方法,其特征在于,所述方法包括:接收客户端发送的页面请求并转发至数据服务器;

接收所述数据服务器根据所述页面请求返回的页面数据;

根据所述页面数据与预设的数据要求之间的匹配情况,确定测试场景数据;

所述根据所述页面数据与预设的数据要求之间的匹配情况,确定测试场景数据,包括:若所述页面数据满足所述预设的数据要求,则将所述页面数据作为所述测试场景数据;

若所述页面数据不满足所述预设的数据要求,则根据所述预设的数据要求对所述页面数据进行修改,将修改后的所述页面数据作为所述测试场景数据。

2.根据权利要求1所述的方法,其特征在于,所述根据所述预设的数据要求对所述页面数据进行修改,包括:确定所述预设的数据要求对应的字段,对所述页面数据中的所述字段的内容进行编辑,或者,在所述页面数据中增加所述字段,或者,在所述页面数据中删除所述字段,其中,所述页面数据包括多个字段。

3.根据权利要求1所述的方法,其特征在于,所述根据所述预设的数据要求对所述页面数据进行修改,包括:确定所述预设的数据要求对应的标准页面数据,利用所述标准页面数据替换所述页面数据。

4.根据权利要求1所述的方法,其特征在于,所述根据所述预设的数据要求对所述页面数据进行修改,包括:将所述预设的数据要求对应的数据添加到所述页面数据中。

5.根据权利要求1至4任一项所述的方法,其特征在于,在所述根据所述预设的数据要求对所述页面数据进行修改之前,所述方法还包括:读取预设的配置文件,获取所述预设的数据要求,其中,所述预设的数据要求记录在所述配置文件中。

6.一种埋点测试方法,其特征在于,所述方法包括:

控制客户端根据代理服务器发送的测试场景数据进行埋点测试,其中,所述测试场景数据由所述代理服务器采用上述权利要求1至5任一项所述的方法确定;

控制所述代理服务器接收所述客户端发送的埋点数据,并控制所述代理服务器将接收到的埋点数据发送至埋点服务器;

根据所述代理服务器接收到的埋点数据和所述埋点服务器接收到的埋点数据的一致性比对结果确定埋点测试结果。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:控制所述代理服务器将接收到的埋点数据存储于本地的埋点日志文件中,以及,控制所述埋点服务器将接收到的埋点数据存储于本地的埋点日志文件中。

8.根据权利要求6或7所述的方法,其特征在于,在所述根据所述代理服务器接收到的埋点数据和所述埋点服务器接收到的埋点数据的一致性比对结果确定埋点测试结果之前,所述方法还包括:利用统一资源定位符URL格式的访问请求访问所述代理服务器,获取所述代理服务器接收到的埋点数据;

获取所述埋点服务器接收到的埋点数据。

9.一种测试场景数据的构建装置,其特征在于,所述装置包括:第一接收模块,用于接收客户端发送的页面请求并转发至数据服务器;

第二接收模块,用于接收所述数据服务器根据所述页面请求返回的页面数据;

数据确定模块,用于根据所述页面数据与预设的数据要求之间的匹配情况,确定测试场景数据;

数据确定模块包括确定子模块和修改确定子模块,确定子模块用于若页面数据满足预设的数据要求,则将页面数据作为测试场景数据,修改子模块用于若页面数据不满足预设的数据要求,则根据预设的数据要求对页面数据进行修改,将修改后的页面数据作为测试场景数据。

10.一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行上述权利要求1至5任一项所述的方法。

11.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至5任一项所述的方法。

12.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求6至8任一项所述的方法。

说明书 :

测试场景数据的构建方法及装置、埋点测试方法

技术领域

[0001] 本发明涉及互联网测试技术领域,具体而言,涉及一种测试场景数据的构建方法及装置、埋点测试方法。

背景技术

[0002] 埋点是指在客户端(如手机或者电脑)显示的页面中添加抓取脚本,当用户点击页面上的链接时,通过该抓取脚本抓取页面的埋点数据,将埋点数据发送至埋点服务器进行存储。数据分析人员通过分析埋点数据,能够获知用户的页面浏览习惯,从而优化页面,发掘用户的潜在需求等。
[0003] 为了保证埋点数据准确发送至埋点服务器,需要进行埋点测试,埋点测试的过程为:客户端显示埋点测试页面;触发抓取脚本抓取埋点测试页面中各个链接的关联信息,将关联信息作为埋点数据发送至埋点服务器;比对客户端发出的埋点数据和埋点服务器接收到的埋点数据是否一致。
[0004] 在埋点测试过程中,客户端需要显示埋点测试页面,由于后台实时生成的页面可能不满足埋点测试需求,如当前需要测试的是购买商品付款成功的页面的埋点数据,后台实时生成的页面为付款失败页面,该种情况下需要对后台数据进行修改,得到符合埋点测试需求的页面作为埋点测试页面。
[0005] 相关技术中,大多在服务器端直接修改服务器内的数据,客户端根据服务器内修改后的数据显示埋点测试页面,该埋点测试页面满足埋点测试需求。然而,由于在服务器端直接修改服务器内的数据,需要服务器端的开发人员配合,因此数据修改时间长,数据修改不方便。

发明内容

[0006] 有鉴于此,本发明的目的在于提供一种测试场景数据的构建方法及装置、埋点测试方法,以解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0007] 第一方面,本发明实施例提供了一种测试场景数据的构建方法,所述方法包括:接收客户端发送的页面请求并转发至数据服务器;接收所述数据服务器根据所述页面请求返回的页面数据;根据所述页面数据与预设的数据要求之间的匹配情况,确定测试场景数据。
[0008] 结合第一方面,本发明实施例提供了第一方面第一种可能的实施方式,其中,所述根据所述页面数据与预设的数据要求之间的匹配情况,确定测试场景数据,包括:若所述页面数据满足所述预设的数据要求,则将所述页面数据作为所述测试场景数据;若所述页面数据不满足所述预设的数据要求,则根据所述预设的数据要求对所述页面数据进行修改,将修改后的所述页面数据作为所述测试场景数据。
[0009] 结合第一方面第一种可能的实施方式,本发明实施例提供了第一方面第二种可能的实施方式,其中,所述根据所述预设的数据要求对所述页面数据进行修改,包括:确定所述预设的数据要求对应的字段,对所述页面数据中的所述字段的内容进行编辑,或者,在所述页面数据中增加所述字段,或者,在所述页面数据中删除所述字段,其中,所述页面数据包括多个字段。
[0010] 结合第一方面第一种可能的实施方式,本发明实施例提供了第一方面第三种可能的实施方式,其中,所述根据所述预设的数据要求对所述页面数据进行修改,包括:确定所述预设的数据要求对应的标准页面数据,利用所述标准页面数据替换所述页面数据。
[0011] 结合第一方面第一种可能的实施方式,本发明实施例提供了第一方面第四种可能的实施方式,其中,所述根据所述预设的数据要求对所述页面数据进行修改,包括:将所述预设的数据要求对应的数据添加到所述页面数据中。
[0012] 结合第一方面上述的实施方式,本发明实施例提供了第一方面第五种可能的实施方式,其中,在所述根据所述预设的数据要求对所述页面数据进行修改之前,所述方法还包括:读取预设的配置文件,获取所述预设的数据要求,其中,所述预设的数据要求记录在所述配置文件中。
[0013] 第二方面,本发明实施例提供了一种埋点测试方法,所述方法包括:控制客户端根据代理服务器发送的测试场景数据进行埋点测试,其中,所述测试场景数据由所述代理服务器采用上述第一方面所述的方法确定;控制所述代理服务器接收所述客户端发送的埋点数据,并控制所述代理服务器将接收到的埋点数据发送至埋点服务器;根据所述代理服务器接收到的埋点数据和所述埋点服务器接收到的埋点数据的一致性比对结果确定埋点测试结果。
[0014] 结合第二方面,本发明实施例提供了第二方面第一种可能的实施方式,其中,所述方法还包括:控制所述代理服务器将接收到的埋点数据存储于本地的埋点日志文件中,以及,控制所述埋点服务器将接收到的埋点数据存储于本地的埋点日志文件中。
[0015] 结合第二方面上述的实施方式,本发明实施例提供了第二方面第二种可能的实施方式,其中,在所述根据所述代理服务器接收到的埋点数据和所述埋点服务器接收到的埋点数据的一致性比对结果确定埋点测试结果之前,所述方法还包括:利用统一资源定位符URL格式的访问请求访问所述代理服务器,获取所述代理服务器接收到的埋点数据;获取所述埋点服务器接收到的埋点数据。
[0016] 第三方面,本发明实施例提供了一种测试场景数据的构建装置,所述装置包括:第一接收模块,用于接收客户端发送的页面请求并转发至数据服务器;第二接收模块,用于接收所述数据服务器根据所述页面请求返回的页面数据;数据确定模块,用于根据所述页面数据与预设的数据要求之间的匹配情况,确定测试场景数据。
[0017] 第四方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述第一方面所述的方法。
[0018] 第五方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的方法。
[0019] 第六方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第二方面所述的方法。
[0020] 本发明实施例中,接收客户端发送的页面请求并转发至数据服务器,接收数据服务器根据页面请求返回的页面数据,根据页面数据与预设的数据要求之间的匹配情况,确定测试场景数据。由于本发明实施例中在构建测试场景数据时,从数据服务器中获取与页面请求对应的页面数据,在数据服务器外根据页面数据确定测试场景数据,而不是在数据服务端直接修改数据,因此数据服务器只负责提供页面数据,无需承担页面数据修改工作,不过多占用数据服务器资源,且无需服务器端的开发人员配合,因此与相关技术相比,通过本发明实施例中的测试场景数据的构建方法及装置、埋点测试方法,数据构建耗时短,数据构建方便,能够解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0021] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0022] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0023] 图1为本发明实施例提供的测试场景数据的构建方法及装置、埋点测试方法的应用场景示意图;
[0024] 图2为本发明实施例提供的HTTP埋点代理服务器的模块组成示意图;
[0025] 图3为本发明第一实施例提供的测试场景数据的构建方法的一种流程示意图;
[0026] 图4为本发明第一实施例提供的测试场景数据的构建装置的一种模块组成示意图;
[0027] 图5为本发明第一实施例提供的计算机设备的模块组成示意图;
[0028] 图6为本发明第二实施例提供的埋点测试方法的流程示意图;
[0029] 图7为本发明第二实施例提供的埋点测试装置的模块组成示意图;
[0030] 图8为本发明第二实施例提供的计算机设备的模块组成示意图。

具体实施方式

[0031] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032] 考虑到相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题,本发明实施例提供了一种测试场景数据的构建方法及装置、埋点测试方法,下面结合实施例进行具体描述。
[0033] 为了清楚的介绍本发明实施例中的测试场景数据的构建方法及装置、埋点测试方法,下面首先介绍本发明实施例的应用场景,图1为本发明实施例提供的测试场景数据的构建方法及装置、埋点测试方法的应用场景示意图,如图1所示,该场景包括脚本服务器1、客户端2、HTTP(HyperText Transfer Protocol,超文本传输协议)埋点代理服务器3、数据服务器4和埋点服务器5。其中,脚本服务器1内运行有自动化脚本,脚本服务器1通过运行该自动化脚本控制客户端2和HTTP代理服务器3进行埋点测试,客户端2和HTTP代理服务器3进行埋点测试的具体过程如下。
[0034] 客户端2向HTTP埋点代理服务器3发送页面请求,HTTP埋点代理服务器3接收客户端2发送的页面请求,将页面请求发送至数据服务器4,并接收数据服务器4返回的页面数据。HTTP埋点代理服务器3中预先存储有配置文件,该配置文件中记录有预设的数据要求,HTTP埋点代理服务器3根据接收到的页面数据和预设的数据要求之间的匹配关系,确定测试场景数据,并将测试场景数据发送至客户端2。客户端2根据测试场景数据显示埋点测试页面,并在脚本服务器1的触发下抓取埋点数据,将抓取的埋点数据发送至HTTP埋点代理服务器3。HTTP埋点代理服务器3接收客户端2发送的埋点数据,将埋点数据存储到本地的埋点日志文件中,以及将埋点数据发送至埋点服务器5。埋点服务器5接收HTTP埋点代理服务器3发送的埋点数据,并存储在本地的埋点日志文件中。
[0035] 这里解释埋点数据的含义,在客户端内,当页面中的链接被触发时,页面中预置的抓取脚本会抓取该链接的关联信息,如该链接为广告链接时,则抓取该广告链接对应的广告商ID、广告费用等信息,还会抓取客户端的型号、链接打开时间等信息,这些由抓取脚本抓取的信息统称为埋点数据。对于链接的关联信息,一般直接记录在链接对应的代码中,抓取脚本能够从页面数据中获得,这些埋点数据是页面数据的一部分,对于客户端的型号、链接打开时间等信息,抓取脚本需要从客户端上获取,这些埋点数据不是页面数据的一部分。
[0036] 脚本服务器1还向HTTP埋点代理服务器3发送第一埋点数据访问请求,获取HTTP埋点代理服务器3接收到的第一埋点数据,以及向埋点服务器5发送第二埋点数据访问请求,获取埋点服务器5接收到的第二埋点数据,脚本服务器1比较第一埋点数据和第二埋点数据是否一致,从而确定埋点测试结果。其中,第一埋点数据访问请求为URL(Uniform Resource Locator,统一资源定位符)格式。
[0037] 图2为本发明实施例提供的HTTP埋点代理服务器的模块组成示意图,如图2所示,本实施例中的HTTP埋点代理服务器3包括HTTP代理模块31和HTTP服务模块32,其中,HTTP代理模块31包括数据修改子模块311和通信子模块312,HTTP服务模块32包括测试场景数据存储子模块321、配置文件存储子模块322和埋点日志存储子模块323。在埋点测试过程中,通信子模块312与脚本服务器1、客户端2、数据服务器4和埋点服务器5通信,负责与脚本服务器1、客户端2、数据服务器4和埋点服务器5之间的数据传输;数据修改子模块311从配置文件存储子模块322中读取配置文件,根据配置文件中记录的预设的数据要求和数据服务器返回的页面数据确定测试场景数据,并将测试场景数据存储至测试场景数据存储子模块321中;埋点日志存储子模块323存储埋点日志文件,埋点日志文件中记录有客户端2发送的埋点数据。
[0038] 需要说明的是,本发明实施例中的HTTP埋点代理服务器3并非本领域内常见的HTTP代理服务器(http proxy server),本领域内常见的HTTP代理服务器只具备代理功能,也即只能够将客户端发送的数据转发出去,以及将发送至客户端的数据拦截下来发送至客户端,不具备数据修改功能,本实施例中的HTTP埋点代理服务器3继承了本领域内常见的HTTP代理服务器的所有功能,在此基础上还增加了页面数据修改功能,并且和HTTP Server(HTTP服务)组合,提供统一资源定位符URL的数据访问方式,从而实现测试场景数据的确定和埋点数据的访问,因此本实施例中的HTTP埋点代理服务器3并非本领域内常见的HTTP代理服务器。
[0039] 下面结合图1中的应用场景描述本发明实施例中的测试场景数据的构建方法及装置、埋点测试方法。
[0040] 实施例一
[0041] 本发明第一实施例提供了一种测试场景数据的构建方法,该方法的执行主体为图1中的HTTP埋点代理服务器3,图3为本发明第一实施例提供的测试场景数据的构建方法的一种流程示意图,如图3所示,该方法包括以下步骤:
[0042] 步骤S202,接收客户端发送的页面请求并转发至数据服务器。
[0043] 以图1中的应用场景为例,客户端2在埋点测试过程中,在脚本服务器1的触发下向HTTP埋点代理服务器3发送页面请求,HTTP埋点代理服务器3接收客户端2发送的页面请求,并将该页面请求转发至数据服务器4。其中,该页面请求可以为URL网页地址,也即网页链接。
[0044] 通常情况下,在脚本服务器1运行的自动化脚本内写有埋点测试程序,该埋点测试程序设置了客户端2发送的页面请求的内容,客户端2只需在自动化脚本的控制下发送设定好的页面请求,页面请求的内容与埋点测试需求有关,比如,埋点测试需求为测试购物流程中各个页面的埋点数据,则页面请求的内容为对应的购物网页链接,又如,埋点测试需求为测试广告页面的埋点数据,则页面请求的内容为对应的广告页面链接。
[0045] 步骤S204,接收数据服务器根据该页面请求返回的页面数据。
[0046] 以图1中的应用场景为例,数据服务器4接收HTTP埋点代理服务器3发送的页面请求,数据服务器4内存储有实时的后台数据,数据服务器4根据页面请求查找实时的后台数据,将查找到的数据作为页面数据发送至HTTP埋点代理服务器3。HTTP埋点代理服务器3接收数据服务器发送的页面数据。
[0047] 需要说明的是,数据服务器4可以看作是后台服务器,其中存储有实时的后台数据,当数据服务器4接收到页面请求时,能够根据页面请求获取实时的页面数据,因此该页面数据是真实的页面数据,不是伪造的页面数据。举例而言,当页面请求为通过百度搜索引擎搜索“火锅”时,则数据服务器4返回的页面数据为当前实时的跟关键词“火锅”相关的页面,其中该页面包括打广告的商家和未打广告但和关键词很相关的商家,当页面请求为某物品的订单页面时,则数据服务器4返回的页面数据为当前实时的该订单页面。
[0048] 步骤S206,根据该页面数据与预设的数据要求之间的匹配情况,确定测试场景数据。
[0049] 具体地,HTTP埋点代理服务器3判断页面数据是否满足预设的数据要求,若该页面数据满足预设的数据要求,则将该页面数据作为测试场景数据,若该页面数据不满足预设的数据要求,则根据预设的数据要求对该页面数据进行修改,将修改后的页面数据作为测试场景数据。其中,预设的数据要求记录在上述的配置文件中。
[0050] 一种情况下,页面数据中包含多个字段,开发人员在设计页面数据时,添加每个字段的内容即能够得到开发完成的页面数据,这种情况下,根据预设的数据要求对该页面数据进行修改,具体实现为:确定预设的数据要求对应的字段,对页面数据中的该字段的内容进行编辑,或者,在页面数据中增加该字段,或者,在页面数据中删除该字段。预设的数据要求对应的字段能够是与广告链接有关的字段,还能够是具有标准格式的埋点数据的字段,其中,页面数据中的埋点数据也由多个字段组成。
[0051] 比如,当埋点测试需求为测试包含广告链接的页面的埋点数据时,预设的数据要求为页面数据中包含广告链接,预设的数据要求对应的字段为与广告链接有关的字段,如“广告商序号”、“广告费用”等,在页面数据中增加该字段,并设置字段的内容,从而使页面数据中包含广告链接。
[0052] 又如,当埋点测试需求为测试不包含广告链接的页面的埋点数据时,预设的数据要求为页面数据中不包含广告链接,预设的数据要求对应的字段为与广告链接有关的字段,如“广告商序号”、“广告费用”等,删除页面数据中与广告链接有关的字段,使得页面数据中不包含广告链接。
[0053] 又如,当埋点测试需求为测试指定位置是广告链接的页面的埋点数据时,预设的数据要求为,页面数据中对应指定页面位置的数据为广告链接,修改页面数据中对应指定页面位置的数据,具体修改该数据中与广告链接有关的字段,使其变为广告链接,从而使修改后的页面数据满足预设的数据要求。
[0054] 再如,由于埋点服务器具有过滤错误的埋点数据不予存储的功能,当需要通过埋点测试验证埋点服务器的该功能时,预设的数据要求为页面数据包含错误的埋点数据,则此时预设的数据要求对应的字段为具有标准格式的埋点数据的字段,如埋点数据中的“地点”、“时间”字段等,修改页面数据中具有标准格式的埋点数据的字段的内容,如将“地理坐标”的内容修改为错误格式的内容,或者将字段“时间”的内容修改为错误格式的内容,以验证埋点服务器的过滤功能。
[0055] 另一种情况下,HTTP埋点代理服务器中预先存储有标准页面数据,该标准页面数据满足预设的数据要求,该种情况下,根据预设的数据要求对该页面数据进行修改,具体实现为:确定预设的数据要求对应的标准页面数据,利用标准页面数据替换页面数据。
[0056] 比如,当埋点测试的测试需求为测试预设的用户操作对应的页面的埋点数据时,预设的数据要求为,页面数据是预设的用户操作对应的页面数据,将预设的用户操作对应的页面数据存储为标准页面数据,利用标准页面数据替换页面数据,从而得到预设的用户操作对应的页面数据,其中,预设的用户操作包括下单操作、支付操作、退款操作等。
[0057] 又如,当埋点测试的测试需求为测试预设的地区和/预设的时间所展示的页面的埋点数据时,预设的数据要求为,页面数据是预设的地区和/预设的时间所展示的页面数据,将预设的地区和/预设的时间所展示的页面数据存储为标准页面数据,利用标准页面数据替换页面数据,从而得到预设的地区和/预设的时间所展示的页面数据。
[0058] 再一种情况下,需要在页面数据中添加指定内容,使得页面数据满足预设的数据要求,该种情况下,根据预设的数据要求对该页面数据进行修改,具体实现为:将预设的数据要求对应的数据添加到页面数据中,预设的数据要求对应的数据能够为网页链接数据、图片数据、文档数据、视频数据等。
[0059] 比如,当埋点测试需求为测试包含视频的网页的埋点数据时,预设的数据要求为,页面数据中包含视频数据,预设的数据要求对应的数据为视频数据,将视频数据添加到页面数据中,得到满足要求的页面数据。
[0060] 以图1中的应用场景为例,步骤S206具体为,HTTP埋点代理服务器3中预先存储有配置文件,配置文件中记录有预设的数据要求,HTTP埋点代理服务器3接收到数据服务器4返回的页面数据时,首先判断页面数据是否满足预设的数据要求,若满足,则将页面数据作为测试场景数据,若不满足,则根据预设的数据要求对页面数据进行修改,将修改后的页面数据作为测试场景数据。
[0061] 通过步骤S206,能够采用多种方式对页面数据进行修改,从而确定满足预设的数据要求的测试场景数据。
[0062] 本发明实施例中,在确定测试场景数据后,还能够将测试场景数据发送至客户端,使得客户端根据测试场景数据显示埋点测试页面,从而使客户端进行埋点测试。
[0063] 以图1中的应用场景为例,HTTP埋点代理服务器3将测试场景数据返回至客户端2,客户端2根据测试场景数据显示埋点测试页面。当脚本服务器1检测到客户端2显示埋点测试页面时,触发客户端2启动埋点数据的抓取,并触发客户端2将抓取的埋点数据发送至HTTP埋点代理服务器3。HTTP埋点代理服务器3接收客户端2发送的埋点数据,将埋点数据存储在本地埋点日志文件中,以及将埋点数据发送至埋点服务器5。其中,埋点测试页面包括多个链接,当打开一个链接时,客户端2将会向HTTP埋点代理服务器3发送该链接对应的埋点数据,链接打开的动作可以为程序执行、也可为用户触发。
[0064] 本发明实施例中,接收客户端发送的页面请求并转发至数据服务器,接收数据服务器根据页面请求返回的页面数据,根据页面数据与预设的数据要求之间的匹配情况,确定测试场景数据。由于本发明实施例中在构建测试场景数据时,从数据服务器中获取与页面请求对应的页面数据,在数据服务器外根据页面数据确定测试场景数据,而不是在数据服务端直接修改数据,因此数据服务器只负责提供页面数据,无需承担页面数据修改工作,不过多占用数据服务器资源,且无需服务器端的开发人员配合,因此与相关技术相比,通过本发明实施例中的测试场景数据的构建方法,数据构建耗时短,数据构建方便,能够解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0065] 另外,本实施例中,利用数据服务器中实时的页面数据构造埋点测试数据,构造出来的埋点测试数据具有真实度较高的优势,保证埋点测试环境的真实性。
[0066] 进一步地,在根据预设的数据要求对页面数据进行修改之前,还需要确定预设的数据要求,具体确定过称为:读取预设的配置文件,获取预设的数据要求,其中,预设的数据要求记录在配置文件中。其中该预设的配置文件即为上述的HTTP埋点代理服务器3中存储的配置文件。
[0067] 以图1中的应用场景为例,HTTP埋点代理服务器3中预先存储有配置文件,配置文件中记录有预设的数据要求,HTTP埋点代理服务器3接收脚本服务器1发送的设置指令,根据该设置指令读取配置文件,将其中的部分内容确定为预设的数据要求。其中,该设置指令能够是用户发送至脚本服务器1的,其作用是将配置文件中的部分内容确定为预设的数据要求,该设置指令与埋点测试需求相对应。
[0068] 本实施例中,能够从预设的配置文件中获取预设的数据要求,不需用户在埋点测试过程中临时提供,数据要求获取过程方便易行。
[0069] 最后,本实施例中的方法应用在HTTP代理服务器上,多人通过配置不同的数据要求能够进行各自的埋点测试,方便多人利用一台设备进行埋点测试,提高埋点测试的效率,其中,每个人均对应有一个数据要求,多个数据要求对应多个埋点测试任务,且多个数据要求彼此之间不相互关联。
[0070] 对应图3中的方法,本发明实施例还提供了一种测试场景数据的构建装置,该装置能够集成在图1中的HTTP埋点代理服务器3中,图4为本发明第一实施例提供的测试场景数据的构建装置的一种模块组成示意图,如图4所示,该装置包括:第一接收模块41,用于接收客户端发送的页面请求并转发至数据服务器;第二接收模块42,用于接收数据服务器根据页面请求返回的页面数据;数据确定模块43,用于根据页面数据与预设的数据要求之间的匹配情况,确定测试场景数据。
[0071] 具体地,数据确定模块43包括确定子模块和修改确定子模块,确定子模块用于若页面数据满足预设的数据要求,则将页面数据作为测试场景数据,修改子模块用于若页面数据不满足预设的数据要求,则根据预设的数据要求对页面数据进行修改,将修改后的页面数据作为测试场景数据。
[0072] 一种情况下,修改子模块具体用于,确定预设的数据要求对应的字段,对页面数据中的字段的内容进行编辑,或者,在页面数据中增加字段,或者,在页面数据中删除字段,其中,页面数据包括多个字段。
[0073] 另一种情况下,修改子模块具体用于,确定预设的数据要求对应的标准页面数据,利用标准页面数据替换页面数据。
[0074] 再一种情况下,修改子模块具体用于,将预设的数据要求对应的数据添加到页面数据中。
[0075] 本发明实施例中,接收客户端发送的页面请求并转发至数据服务器,接收数据服务器根据页面请求返回的页面数据,根据页面数据与预设的数据要求之间的匹配情况,确定测试场景数据。由于本发明实施例中在构建测试场景数据时,从数据服务器中获取与页面请求对应的页面数据,在数据服务器外根据页面数据确定测试场景数据,而不是在数据服务端直接修改数据,因此数据服务器只负责提供页面数据,无需承担页面数据修改工作,不过多占用数据服务器资源,且无需服务器端的开发人员配合,因此与相关技术相比,通过本发明实施例中的测试场景数据的构建装置,数据构建耗时短,数据构建方便,能够解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0076] 进一步地,本实施例中,还包括要求获取模块,用于在根据预设的数据要求对页面数据进行修改之前,读取预设的配置文件,获取预设的数据要求,其中,预设的数据要求记录在该配置文件中。
[0077] 本实施例中,通过要求获取模块,能够从预设的配置文件中获取预设的数据要求,不需用户在埋点测试过程中临时提供,数据要求获取过程方便易行。
[0078] 对应图3中的方法,本发明实施例还提供了一种计算机设备,图5为本发明第一实施例提供的计算机设备的模块组成示意图,如图5所示,该设备包括存储器1000和处理器2000,存储器1000上存储有可在处理器2000上运行的计算机程序,处理器2000运行该计算机程序时,执行上述的测试场景数据的构建方法。
[0079] 具体地,存储器1000和处理器2000能够为通用的存储器和处理器,这里不做具体限定,当处理器2000运行存储器1000存储的计算机程序时,能够执行上述的测试场景数据的构建方法,从而解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0080] 对应图3中的方法,本发明实施例还提供了一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时,执行上述的测试场景数据的构建方法。
[0081] 具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的测试场景数据的构建方法,从而解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0082] 实施例二
[0083] 在通过图3中的方法构建测试场景数据的基础上,本发明第二实施例提供了一种埋点测试方法,该方法的执行主体为图1中的脚本服务器1,该方法用于进行埋点测试,图6为本发明第二实施例提供的埋点测试方法的流程示意图,如图6所示,该流程包括以下步骤:
[0084] 步骤S302,控制客户端根据代理服务器发送的测试场景数据进行埋点测试,其中,测试场景数据由代理服务器采用实施例一中的测试场景数据构建方法确定。
[0085] 以图1为例,客户端2接收HTTP埋点代理服务器3返回的测试场景数据,脚本服务器1控制客户端2根据该测试场景数据显示埋点测试页面,并控制客户端2抓取埋点测试页面的埋点数据,将抓取的埋点数据发送至HTTP埋点代理服务器3。
[0086] 步骤S304,控制代理服务器接收客户端发送的埋点数据,并控制代理服务器将接收到的埋点数据发送至埋点服务器。
[0087] 以图1为例,脚本服务器1控制HTTP埋点代理服务器3接收客户端2在埋点测试过程中发送的埋点数据,并控制HTTP埋点代理服务器3将接收到的埋点数据发送至埋点服务器5。
[0088] 步骤S306,根据代理服务器接收到的埋点数据和埋点服务器接收到的埋点数据的一致性比对结果确定埋点测试结果。
[0089] 以图1为例,脚本服务器1比较HTTP埋点代理服务器3接收到的埋点数据和埋点服务器5接收到的埋点数据是否一致,若比对结果一致,则确定测试成功,否则确定测试失败。
[0090] 本实施例还提供了埋点数据的存储过程,具体为,控制代理服务器将接收到的埋点数据存储于本地的埋点日志文件中,以及,控制埋点服务器将接收到的埋点数据存储于本地的埋点日志文件中。
[0091] 以图1为例,在HTTP埋点代理服务器3接收到埋点数据之后,脚本服务器1控制HTTP埋点代理服务器3将接收到的埋点数据存储于本体的埋点日志文件中,本领域技术人员能够理解,这里“本地”的含义指的是HTTP埋点代理服务器3这台服务器,“本体的埋点日志文件”指的是HTTP埋点代理服务器3这台服务器中的埋点日志文件。同样地,在埋点服务器5接收到HTTP埋点代理服务器3发送的埋点数据后,脚本服务器1控制埋点服务器5将接收到的埋点数据存储在本地的埋点日志文件中,这里“本地”指的是埋点服务器5这台服务器,“本体的埋点日志文件”指的是埋点服务器5这台服务器中的埋点日志文件。
[0092] 本实施例中,脚本服务器1在执行步骤S308之前,还利用统一资源定位符URL格式的访问请求访问代理服务器,获取代理服务器接收到的埋点数据。
[0093] 以图1中的应用场景为例,脚本服务器1向HTTP埋点代理服务器3发送第一埋点数据访问请求,第一埋点数据访问请求为URL格式,通过URL格式的访问请求获取HTTP埋点代理服务器3存储的第一埋点数据。
[0094] 上述的URL格式的埋点数据访问请求举例为:http://localhost:8080/getlog/?20:09:03,该请求的具体格式为//代理服务器地址//埋点日志文件标识/埋点数据接收时间,通过该种格式,能够获取埋点服务器在某个时间点之后的接收到的埋点数据。
[0095] 本实施中,脚本服务器1在执行步骤S308之前,还获取埋点服务接收到的埋点数据。具体为,脚本服务器1向埋点服务器5发送第二埋点数据访问请求,获取埋点服务器5接收到的第二埋点数据。脚本服务器1能够采用相关技术中的任意方式获取埋点服务器5接收到的埋点数据,这里不做具体限定。
[0096] 本实施例中,通过URL格式的埋点日志访问请求获取代理服务器存储的埋点数据,与相关技术中的通过文件系统本地或者远程访问、或者下载日志文件的方式相比,不存在文件系统兼容问题和服务器权限问题,访问形式一致,脚本编写十分简单方便。通过URL格式的埋点日志访问请求获取代理服务器存储的埋点数据,与相关技术中的登录代理服务器访问埋点日志的方式相比,不需要经过繁琐的登录和查找,过滤等步骤,不需要随着代理服务器的系统的改变而更换登录方式。
[0097] 由于本发明实施例中,测试场景数据由代理服务器采用实施例一中的测试场景数据构建方法确定,因此通过本发明实施例中的埋点测试方法,数据服务器只负责提供页面数据,无需承担页面数据修改工作,不过多占用数据服务器资源,且无需服务器端的开发人员配合,因此与相关技术相比,通过本发明实施例中的测试场景数据的构建装置,数据构建耗时短,数据构建方便,能够解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0098] 对应图6中的方法,本发明实施例提供了一种埋点测试装置,该装置能够集成在图1中的脚本服务器1内,图7为本发明第二实施例提供的埋点测试装置的模块组成示意图,如图7所示,该装置包括:第一控制模块71,用于控制客户端根据代理服务器发送的测试场景数据进行埋点测试,其中,测试场景数据由代理服务器采用上述实施例一中的测试场景数据的构建方法确定;第一控制模块72,用于控制代理服务器接收客户端发送的埋点数据,并控制代理服务器将接收到的埋点数据发送至埋点服务器;结果确定模块73,用于根据代理服务器接收到的埋点数据和埋点服务器接收到的埋点数据的一致性比对结果确定埋点测试结果。
[0099] 进一步地,该装置还包括:存储控制模块,用于控制代理服务器将接收到的埋点数据存储于本地的埋点日志文件中,以及,控制埋点服务器将接收到的埋点数据存储于本地的埋点日志文件中。
[0100] 进一步地,该装置还包括:第一数据获取模块,用于利用统一资源定位符URL格式的访问请求访问代理服务器,获取代理服务器接收到的埋点数据;第二数据获取模块,用于获取埋点服务器接收到的埋点数据。
[0101] 本实施例中,代理服务器接收到的埋点数据存储于代理服务器的埋点日志文件中;埋点服务器接收到的埋点数据存储于埋点服务器的埋点日志文件中。
[0102] 由于本发明实施例中,测试场景数据由代理服务器采用实施例一中的测试场景数据构建方法确定,因此通过本发明实施例中的埋点测试装置,数据服务器只负责提供页面数据,无需承担页面数据修改工作,不过多占用数据服务器资源,且无需服务器端的开发人员配合,因此与相关技术相比,通过本发明实施例中的测试场景数据的构建装置,数据构建耗时短,数据构建方便,能够解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0103] 对应图6中的方法,本发明实施例还提供了一种计算机设备,图8为本发明第二实施例提供的计算机设备的模块组成示意图,如图8所示,该设备包括存储器3000和处理器4000,存储器3000上存储有可在处理器4000上运行的计算机程序,处理器4000运行该计算机程序时,执行上述的埋点测试方法。
[0104] 具体地,存储器3000和处理器4000能够为通用的存储器和处理器,这里不做具体限定,当处理器4000运行存储器3000存储的计算机程序时,能够执行上述的埋点测试方法,从而解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0105] 对应图6中的方法,本发明实施例还提供了一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时,执行上述的埋点测试方法。
[0106] 具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的埋点测试方法,从而解决相关技术中在服务器端直接修改服务器内的数据,数据修改时间长,数据修改不方便的问题。
[0107] 本发明实施例所提供的各个装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
[0108] 在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0109] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0110] 另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0111] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0112] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0113] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。