一种网站测试方法和系统转让专利

申请号 : CN201010559355.6

文献号 : CN102136964B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张华蒙琳郑明忠李莉舒敏根郭利江

申请人 : 中国移动(深圳)有限公司

摘要 :

本发明涉及一种网站测试方法,其中包括步骤:S1、登陆测试网站,获取所述测试网站发出的报文中的标识信息;S2、根据所述标识信息向所述测试网站发送访问请求以获取网站测试数据。本发明还构造一种网站测试系统,其中包括:获取模块:用于登陆测试网站,获取所述测试网站发出的报文中的标识信息;以及测试模块:用于根据所述标识信息向所述测试网站发送访问请求以获取网站测试数据。本发明的网站测试方法和系统利用网站标识信息伪造网站已登录信息的方式绕过验证码,不需开发人员调整网站代码,成本低、无安全风险。

权利要求 :

1.一种网站测试方法,其特征在于,包括步骤:

S11、登录测试网站,获取所有本机网卡接收的HTTP数据包,根据所述HTTP数据包的Host属性判断所述HTTP数据包是否从所述测试网站发出,产生判断结果;

S12、根据所述判断结果,获取所述测试网站发出的报文中的标识信息;

S21、根据所述标识信息构造HTTP数据包;

S22、根据所述HTTP数据包向所述测试网站发送访问请求以获取网站测试数据;

其中,所述步骤S12包括:当所述测试网站使用Cookie时,从报文头中的Cookie信息中获取所述标识信息;当所述测试网站不使用Cookie时,从报文头的Accept信息中获取所述标识信息;

所述步骤S21包括:当所述测试网站使用Cookie时,使用所述标识信息构成所述HTTP数据包的报文头中的Cookie属性信息;当所述测试网站不使用Cookie时,使用所述标识信息构成所述HTTP数据包的报文头中的Accept属性信息。

2.一种网站测试系统,其特征在于,包括:

获取模块(1):用于登陆测试网站,获取所述测试网站发出的报文中的标识信息;以及测试模块(2):用于根据所述标识信息向所述测试网站发送访问请求以获取网站测试数据;

其中,所述获取模块(1)包括:

判断单元(11):用于登录测试网站,获取所有本机网卡接收的HTTP数据包,根据所述HTTP数据包的Host属性判断所述HTTP数据包是否从所述测试网站发出,产生判断结果;

以及

获取单元(12):用于根据所述判断结果,获取所述测试网站发出的报文中的标识信息;

所述测试模块(2)包括:

构造单元(21):用于根据所述标识信息构造HTTP数据包;以及测试单元(22):用于根据所述HTTP数据包向所述测试网站发送访问请求以获取网站测试数据;

当所述测试网站使用Cookie时,所述获取单元(12)从报文头中的Cookie信息中获取所述标识信息;当所述测试网站不使用Cookie时,所述获取单元(12)从报文头的Accept信息中获取所述标识信息;

当所述测试网站使用Cookie时,所述构造单元(21)使用所述标识信息构成所述HTTP数据包的报文头中的Cookie属性信息;当所述测试网站不使用Cookie时,所述构造单元(21)使用所述标识信息构成所述HTTP数据包的报文头中的Accept属性信息。

说明书 :

一种网站测试方法和系统

技术领域

[0001] 本发明涉及网站测试领域,更具体地说,涉及一种利用网站标识信息进行网站测试的网站测试方法和系统。

背景技术

[0002] 为了保护用户隐私,几乎所有网站均使用验证码技术来提高用户信息的安全程度。随着技术的发展,验证码验证技术趋于复杂化,计算机已经无法自动识别出所有的验证码,因此确保信息安全的同时给自动化测试带来较大困难,后续的测试工作也无法展开。对于这种情况,通常采取以下做法解决验证码带来的这个问题:1、联系开发人员屏蔽掉验证码;2、联系开发人员,提供通用验证码。通过上面两种方法,可以避开了验证码的问题。
[0003] 但是从上面两种方法可知,避开验证码依赖于开发人员调整代码。对于一个已经上线的系统,为了测试而进行改造成本高,而且改造会带来一定的安全风险,此情况下两种方法均不太适合。

发明内容

[0004] 本发明要解决的技术问题在于,针对现有技术的网站测试方法和系统因为避开验证码问题带来的成本高和安全风险的缺陷。提供一种利用网站标识信息伪造网站已登录信息的方式绕过验证码的网站测试方法和系统,该网站测试方法和系统不需开发人员调整网站代码,成本低、无安全风险。
[0005] 本发明解决其技术问题所采用的技术方案是:构造一种网站测试方法,其中包括步骤:S1、登陆测试网站,获取所述测试网站发出的报文中的标识信息;S2、根据所述标识信息向所述测试网站发送访问请求以获取网站测试数据。
[0006] 在本发明所述的网站测试方法中,所述步骤S1包括:S11、登录测试网站,获取所有本机网卡接收的HTTP数据包,根据所述HTTP数据包的Host属性判断所述HTTP数据包是否从所述测试网站发出,产生判断结果;S12、根据所述判断结果,获取所述测试网站发出的报文中的标识信息。
[0007] 在本发明所述的网站测试方法中,所述步骤S12包括:当所述测试网站使用Cookie时,从报文头中的Cookie信息中获取所述标识信息;当所述测试网站不使用Cookie时,从报文头的Accept信息中获取所述标识信息。
[0008] 在本发明所述的网站测试方法中,所述步骤S2包括:S21、根据所述标识信息构造HTTP数据包;S22、根据所述HTTP数据包向所述测试网站发送访问请求以获取网站测试数据。
[0009] 在本发明所述的网站测试方法中,所述步骤S21包括:当所述测试网站使用Cookie时,使用所述标识信息构成所述HTTP数据包的报文头中的Cookie属性信息;当所述测试网站不使用Cookie时,使用所述标识信息构成所述HTTP数据包的报文头中的Accept属性信息。
[0010] 本发明还构造一种网站测试系统,其中包括:获取模块:用于登陆测试网站,获取所述测试网站发出的报文中的标识信息;以及测试模块:用于根据所述标识信息向所述测试网站发送访问请求以获取网站测试数据。
[0011] 在本发明的网站测试系统中,所述获取模块包括:判断单元:用于登录测试网站,获取所有本机网卡接收的HTTP数据包,根据所述HTTP数据包的Host属性判断所述HTTP数据包是否从所述测试网站发出,产生判断结果;以及获取单元:用于根据所述判断结果,获取所述测试网站发出的报文中的标识信息。
[0012] 在本发明的网站测试系统中,当所述测试网站使用Cookie时,所述获取单元从报文头中的Cookie信息中获取所述标识信息;当所述测试网站不使用Cookie时,所述获取单元从报文头的Accept信息中获取所述标识信息。
[0013] 在本发明的网站测试系统中,所述测试模块包括:构造单元:用于根据所述标识信息构造HTTP数据包;以及测试单元:用于根据所述HTTP数据包向所述测试网站发送访问请求以获取网站测试数据。
[0014] 在本发明的网站测试系统中,当所述测试网站使用Cookie时,所述构造单元使用所述标识信息构成所述HTTP数据包的报文头中的Cookie属性信息;当所述测试网站不使用Cookie时,所述构造单元使用所述标识信息构成所述HTTP数据包的报文头中的Accept属性信息。
[0015] 实施本发明的网站测试方法和系统,具有以下有益效果:利用网站标识信息伪造网站已登录信息的方式绕过验证码,不需开发人员调整网站代码,成本低、无安全风险。
[0016] 判断HTTP数据包的来源做为初级的筛选,减少标识信息获取的工作量。对于使用和不使用Cookie的不同的测试网站采用不同标识信息获取方法和使用方法。

附图说明

[0017] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0018] 图1是本发明的网站测试方法的第一优选实施例的流程图;
[0019] 图2是本发明的网站测试方法的第二优选实施例的流程图;
[0020] 图3是本发明的网站测试方法的第三优选实施例的流程图;
[0021] 图4是本发明的网站测试系统的第一优选实施例的结构示意图;
[0022] 图5是本发明的网站测试系统的第二优选实施例的结构示意图;
[0023] 图6是本发明的网站测试系统的第三优选实施例的结构示意图。

具体实施方式

[0024] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025] 在图1所示的本发明的网站测试方法的第一优选实施例的流程图中,所述网站测试方法开始于步骤100;步骤100之后进行到步骤101,登陆测试网站,获取所述测试网站发出的报文中的标识信息;随后,到下一步骤102,根据所述标识信息向所述测试网站发送访问请求以获取网站测试数据;最后该方法结束于步骤103。采用本网站测试方法进行网站测试时,首先登陆测试网站,登陆成功后从测试网站返回的报文中读取标识信息,随后进行网站测试时,应用获取的标识信息向测试网站发送访问请求(测试的项目),获取网站返回的数据以进行网站测试。这样进行网站测试时可以避开每项测试都需要输入验证码,不需要开发人员调整网站代码,避免了为调整网站代码改造网站造成的高成本和安全风险。
[0026] 在图2所示的本发明的网站测试方法的第二优选实施例的流程图中,所述网站测试方法开始于步骤200;步骤200之后进行到步骤201,登录测试网站,获取所有本机网卡接收的HTTP数据包,根据所述HTTP数据包的Host属性判断所述HTTP数据包是否从所述测试网站发出,产生判断结果;随后,到下一步骤202,根据所述判断结果,获取所述测试网站发出的报文中的标识信息;随后,到下一步骤203,根据所述标识信息向所述测试网站发送访问请求以获取网站测试数据。最后该方法结束于步骤204。在登陆测试网站后,本机网卡将接收到外部的HTTP数据包,其中有从测试网站发出的,也有从非测试网站发出的,根据接收到的HTTP数据包的Host属性判断HTTP数据包是否从测试网站发出,如从测试网站发出则从HTTP数据包中获取报文中的标识信息,如不是从测试网站发出则丢弃该HTTP数据包。这样的设置可以大大减少标识信息获取的工作量,避免获取错误的标识信息。
[0027] 在图3所示的本发明的网站测试方法的第三优选实施例的流程图中,所述网站测试方法开始于步骤300;步骤300之后进行到步骤301,登陆测试网站,获取所述测试网站发出的报文中的标识信息;随后,到下一步骤302,根据所述标识信息构造HTTP数据包;随后,到下一步骤303,根据所述HTTP数据包向所述测试网站发送访问请求以获取网站测试数据。最后该方法结束于步骤304。通过标识信息构造HTTP数据包使得可以利用网站标识信息伪造网站已登录信息,从而绕过输入验证码的过程,使得网站自动化测试得以进行。
[0028] 作为本发明的网站测试方法的优选实施例,当所述测试网站使用Cookie时,从报文头中的Cookie信息中获取所述标识信息,使用所述标识信息构成所述HTTP数据包的报文头中的Cookie属性信息;当所述测试网站不使用Cookie时,从报文头的Accept信息中获取所述标识信息,使用所述标识信息构成所述HTTP数据包的报文头中的Accept属性信息。针对网站可能设置使用Cookie和不使用Cookie的两种设置,采用不同的标识信息的获取和使用方法。
[0029] 当所述测试网站使用Cookie时,从测试网站发出的HTTP数据包的报文头中的Cookie信息中获取所述标识信息,通常为:JSESSIONID=xxx,SESSIONID参数后信息即为标识信息。
[0030] 进行网站测试时,使用所述标识信息构成所述HTTP数据包的报文头中的Cookie属性信息,具体如下:
[0031] GET/user_details.jsp HTTP/1.1
[0032] Accept:image/gif,image/jpeg,image/pjpeg,image/pjpeg,[0033] Accept-Language:zh-cn
[0034] Accept-Encoding:gzip,deflate
[0035] Host:网站IP:8080
[0036] Connection:Keep-Alive
[0037] Cookie:获取到标识写入此处
[0038] 当所述测试网站不使用Cookie时,从测试网站发出的HTTP数据包的报文头的Accept信息中获取所述标识信息,Accept中标识信息通常为:http://www.xxx.com/xxx/xx.xx?JSESSIONID=xxxx,JSESSIONID参数后信息即为标识信息。
[0039] 进行网站测试时,使用所述标识信息构成所述HTTP数据包的报文头中的Accept属性信息,具体如下:
[0040] GET/user_details.jsp?JSESSIONID=获取到标识写入此处HTTP/1.1[0041] Accept:image/gif,image/jpeg,image/pjpeg,image/pjpeg,[0042] Accept-Language:zh-cn
[0043] Accept-Encoding:gzip,deflate
[0044] Host:网站IP:8080
[0045] Connection:Keep-Alive。
[0046] 这样即实现了对使用和不使用Cookie的不同的测试网站的自动化的网站测试。
[0047] 本发明还构造一种网站测试系统,在图4所示的本发明的网站测试系统的第一优选实施例的结构示意图中,所述网站测试系统包括获取模块1以及测试模块2。获取模块1用于登陆测试网站,获取所述测试网站发出的报文中的标识信息;测试模块2用于根据所述标识信息向所述测试网站发送访问请求以获取网站测试数据。采用本网站测试系统进行网站测试时,首先获取模块1登陆测试网站,登陆成功后从测试网站返回的报文中读取标识信息,随后进行网站测试时,测试模块2应用获取的标识信息向测试网站发送访问请求(测试的项目),获取网站返回的数据以进行网站测试。这样进行网站测试时可以避开每项测试都需要输入验证码,不需要开发人员调整网站代码,避免了为调整网站代码改造网站造成的高成本和安全风险。
[0048] 在图5所示的本发明的网站测试系统的第二优选实施例的结构示意图中,获取模块1包括判断单元11以及获取单元12。判断单元11用于登录测试网站,获取所有本机网卡接收的HTTP数据包,根据所述HTTP数据包的Host属性判断所述HTTP数据包是否从所述测试网站发出,产生判断结果;获取单元12用于根据所述判断结果,获取所述测试网站发出的报文中的标识信息。在登陆测试网站后,本机网卡将接收到外部的HTTP数据包,其中有从测试网站发出的,也有从非测试网站发出的,判断单元11根据接收到的HTTP数据包的Host属性判断HTTP数据包是否从测试网站发出,如从测试网站发出,获取单元12则从HTTP数据包中获取报文中的标识信息,如不是从测试网站发出,获取单元12则丢弃该HTTP数据包。这样的设置可以大大减少标识信息获取的工作量,避免获取错误的标识信息。
[0049] 在图6所示的本发明的网站测试系统的第三优选实施例的结构示意图中,测试模块2包括构造单元21以及测试单元22。构造单元21用于根据所述标识信息构造HTTP数据包;测试单元22用于根据所述HTTP数据包向所述测试网站发送访问请求以获取网站测试数据。构造单元21通过标识信息构造HTTP数据包使得测试单元22可以利用网站标识信息伪造网站已登录信息,从而绕过输入验证码的过程,使得网站自动化测试得以进行。
[0050] 作为本发明的网站测试系统的优选实施例,当所述测试网站使用Cookie时,获取单元12从报文头中的Cookie信息中获取所述标识信息,构造单元21使用所述标识信息构成所述HTTP数据包的报文头中的Cookie属性信息;当所述测试网站不使用Cookie时,获取单元12从报文头的Accept信息中获取所述标识信息,构造单元21使用所述标识信息构成所述HTTP数据包的报文头中的Accept属性信息。针对网站可能设置使用Cookie和不使用Cookie的两种设置,采用不同的标识信息的获取和使用方法。具体的实现方式参见上述相关的网站测试方法。这样即实现了对使用和不使用Cookie的不同的测试网站的自动化的网站测试。
[0051] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。