一种基于模拟登录的流量回放方法和装置制造方法及图纸

技术编号:9768157 阅读:179 留言:0更新日期:2014-03-15 23:00
本发明专利技术提供了一种基于模拟登录的流量回放方法和装置,其中方法包括:S1、解析回放的http请求,提取其中的用户信息;S2、查询已经建立的关系映射表中是否存在与所述用户信息对应的登录信息,如果是,执行步骤S4;否则,执行步骤S3;S3、利用所述http请求进行模拟登录,获取登录信息,将所述用户信息与该登录信息添加至所述关系映射表中;S4、将所述关系映射表中与所述用户信息对应的登录信息作为所述http请求的登录信息后,将所述http请求转发至被测系统。本发明专利技术使得在对具有登录验证的基于B/S架构的业务系统采用基于录制与回放的方案进行测试时,回放的http请求能够通过验证被被测系统正常接收。

【技术实现步骤摘要】
一种基于模拟登录的流量回放方法和装置
】本专利技术涉及系统测试技术,特别涉及一种基于模拟登录的流量回放方法和装置。【
技术介绍
】在对一个基于B/S (浏览器/服务器)架构的业务系统进行功能测试或者性能评估时,通常的方案是:在线上系统录制来访的http请求,在测试环境部署被测系统,之后将所录制的http请求回放到被测系统中。对于该方案存在如下问题,基于B/S架构的业务系统普遍设有登录验证,在线上,登录成功的用户来访的http请求的cookie中含有登录信息,该登录信息与基于B/S架构的业务系统登录验证服务中存储的登录信息一致,所以该来访http请求能够被正常接收并处理,而在线下,被测系统的登录验证服务中没有存储的该用户登录信息却存在登录验证的功能逻辑,所以导致线下回放的http请求由于验证不通过而被拒绝。 现有技术中,解决该问题的方案有两种:一、修改被测系统中登录验证的功能逻辑,取消登录验证,保证所有来访http请求都能被正常接收;二、将线上基于B/S架构的业务系统登录验证服务中已存储的用户登录信息转存至被测系统的登录验证服务中。所述两个方案都存在明显缺点:方案一需要修改源代码,可能导致潜在问题,同时会增加维护成本;方案二中,如果用户在线上进行过两次或多次登录,则只有最后一次的登录信息有效,因为登录验证服务中后一次登录信息会覆盖前一次登录信息,所以如果线上录制的http请求不是用户最后一次登录的http请求,则在线下回放时会导致该请求被拒绝。【
技术实现思路
】有鉴于此,本专利技术提供了一种基于模拟登录的流量回放方法和装置,以在不修改被测系统源代码的前提下实现基于B/S架构的业务系统测试的正常进行。具体技术方案如下:一种基于模拟登录的流量回放方法,预先在线上录制被测系统接收到的来自用户的http请求,在测试时回放录制的http请求,该方法包括:S1、解析回放的http请求,提取其中的用户信息;S2、查询已经建立的关系映射表中是否存在与所述用户信息对应的登录信息,如果是,执行步骤S4 ;否则,执行步骤S3 ;S3、利用所述http请求进行模拟登录,获取登录信息,将所述用户信息与该登录信息添加至所述关系映射表中;S4、将所述关系映射表中与所述用户信息对应的登录信息作为所述http请求的登录信息后,将所述http请求转发至被测系统。根据本专利技术一优选实施例,所述步骤S3具体包括:利用所述http请求形成登录请求访问登录验证服务,从登录验证服务返回的应答中提取登录信息,并将该登录信息与所述用户信息形成对应关系添加至所述关系映射表中。根据本专利技术一优选实施例,当所述关系映射表中保存的用户信息和登录信息的对应关系在预先设置的有效时间内未被查询到时,则在所述关系映射表中删除该用户信息和登录信息的对应关系。根据本专利技术一优选实施例,所述步骤S4具体包括:S41、构造一个新的http请求;S42、将所述关系映射表中与所述用户信息对应的登录信息填充到所述新的http请求中;S43、将回放的http请求中除所述用户信息对应的登录信息和源地址信息之外的其他信息填充到所述新的http请求中。根据本专利技术一优选实施例,该方法还包括步骤S5:解析被测系统返回的应答,检验应答是否符合预期。一种基于模拟登录的流量回放装置,预先在线上录制被测系统接收到的来自用户的http请求,在测试时回放录制的http请求,该装置包括:预处理模块,用于解析回放的http请求,提取其中的用户信息;查表模块,用于查询已经建立的关系映射表中是否存在与所述用户信息对应的登录信息,如果是,触发转发模块;否则,触发模拟登录模块;模拟登录模块,用于利用所述http请求进行模拟登录,获取登录信息,将所述用户信息与该登录信息添加至所述关系映射表中,触发转发模块;转发模块,用于将所述关系映射表中与所述用户信息对应的登录信息作为所述http请求的登录信息后,将所述http请求转发至被测系统。根据本专利技术一优选实施例,所述模拟登录模块具体执行:根据所述http请求形成验证请求访问登录验证服务,从登录验证服务返回的应答中提取登录信息,并将该登录信息与所述用户信息形成对应关系添加至所述关系映射表中。根据本专利技术一优选实施例,查表模块还用于,当所述关系映射表中保存的用户信息和登录信息的对应关系在预先设置的有效时间内未被查询到时,则在所述关系映射表中删除该用户信息和登录信息的对应关系。根据本专利技术一优选实施例,所述替换模块具体执行:S91、构造一个新的http请求;S92、将所述关系映射表中与所述用户信息对应的登录信息填充到所述新的http请求中;S93、将回放的http请求中除所述用户信息对应的登录信息和源地址信息之外的其他信息填充到所述新的http请求中。根据本专利技术一优选实施例,该装置还包括检验模块:用于解析被测系统返回的应答,检验应答是否符合预期。由以上技术方案可以看出,本专利技术通过模拟登录,建立了用户信息与登录信息的关系映射表,根据关系映射表中的对应关系,将回放的用户来访http请求中的登录信息替换为所述关系映射表中与该用户信息对应的登录信息,构造了一个新的http请求,使得该新的http请求能够通过登录验证,同时和初始回放的http请求具有相同的业务信息。与现有技术相比,本专利技术避免了对源代码的修改,同时保证了回放的http请求流量能顺利通过登录验证,进而提高了针对B/S业务系统的流量回放测试技术的可行性与效果真实性。【【附图说明】】图1为本专利技术实施例一提供的基于模拟登录的流量回放方法流程图;图2为本专利技术实施例一提供的查询关系映射表和模拟登录示意图;图3为本专利技术实施例提供的系统示意图;图4为本专利技术实施例二提供的基于模拟登录的流量回放装置图。【【具体实施方式】】为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。实施例一、图1为本专利技术实施例一提供的基于模拟登录的流量回放方法的流程图,如图1所示,该方法可以包括:步骤S101、解析回放的http请求,提取其中的用户信息。向被测系统回放的http请求是预先在线上系统进行录制的用户来访的http请求,在测试时回放录制的http请求,并在发至被测系统之前采用本专利技术所提供的方法进行处理。该http请求中包含有用户信息,提取该用户信息时可以采用但不限于以下方式:用servlet规范来进行解析,首先接收http请求,然后依据http协议把http请求转化为相应的http对象,例如把http请求转化为httpservletrequest或把http应答转化为httpservletresponse,之后可以直接从http对象(httpservletrequest或httpservletresponse)中提取所有http的信息,从中可以得到用户信息。解析http请求的方式有多种,除了上述方式外还可以采用其他任意能够解析http请求的方式,在此不再赘述。步骤S102、查询关系映射表中是否存在与用户信息对应的登录信息,如果是,执行步骤S104 ;否则,执行步骤S103。该步骤中所述关系映射表为保存用户信息与登录信息对应关系的关系映射表,此处可以但不限于采用hash表的方式来保存用户信息与登录信息的对应关系,具体方本文档来自技高网...

【技术保护点】
一种基于模拟登录的流量回放方法,预先在线上录制被测系统接收到的来自用户的http请求,在测试时回放录制的http请求,其特征在于,该方法包括:S1、解析回放的http请求,提取其中的用户信息;S2、查询已经建立的关系映射表中是否存在与所述用户信息对应的登录信息,如果是,执行步骤S4;否则,执行步骤S3;S3、利用所述http请求进行模拟登录,获取登录信息,将所述用户信息与该登录信息添加至所述关系映射表中;S4、将所述关系映射表中与所述用户信息对应的登录信息作为所述http请求的登录信息后,将所述http请求转发至被测系统。

【技术特征摘要】
1.一种基于模拟登录的流量回放方法,预先在线上录制被测系统接收到的来自用户的http请求,在测试时回放录制的http请求,其特征在于,该方法包括: 51、解析回放的http请求,提取其中的用户信息; 52、查询已经建立的关系映射表中是否存在与所述用户信息对应的登录信息,如果是,执行步骤S4 ;否则,执行步骤S3 ; 53、利用所述http请求进行模拟登录,获取登录信息,将所述用户信息与该登录信息添加至所述关系映射表中; 54、将所述关系映射表中与所述用户信息对应的登录信息作为所述http请求的登录信息后,将所述http请求转发至被测系统。2.根据权利要求1所述的方法,其特征在于,所述步骤S3具体包括: 利用所述http请求形成登录请求访问登录验证服务,从登录验证服务返回的应答中提取登录信息,并将该登录信息与所述用户信息形成对应关系添加至所述关系映射表中。3.根据权利要求2所述的方法,其特征在于,当所述关系映射表中保存的用户信息和登录信息的对应关系在预先设置的有效时间内未被查询到时,则在所述关系映射表中删除该用户信息和登录信息的对应关系。4.根据权利要求1所述的方法,其特征在于,所述步骤S4具体包括:` 541、构造一个新的http请求; 542、将所述关系映射表中与所述用户信息对应的登录信息填充到所述新的http请求中; 543、将回放的http请求中除所述用户信息对应的登录信息和源地址信息之外的其他信息填充到所述新的http请求中。5.根据权利要求1所述的方法,其特征在于,该方法还包括步骤S5: 解析被测系统返回的应答,检验应答是否符合预期。6.一种基于模拟登录的流量回放装置,...

【专利技术属性】
技术研发人员:张俊俊
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1