基于QTP对Http协议进行数据传输交互的方法技术

技术编号:13506630 阅读:71 留言:0更新日期:2016-08-10 15:09
本发明专利技术提供一种基于QTP对Http协议进行数据传输交互的方法,所述方法为:设计一外部脚本和一DLL程序,通过QTP调用所述外部脚本和DLL程序来对Http协议进行数据传输交互;外部脚本对DLL程序中函数进行QTP方式的类封装;所述DLL程序对Http协议的请求以及响应数据获取,并对所获取的数据进行相应的gzip解压;并提供开放可供QTP调用的接口,所述DLL程序将gzip解压的数据内容通过所述接口传输给QTP,使QTP能得到该部分数据内容进行相应的数据验证和数据传输操作。本发明专利技术使QTP可对Http协议进行有效支持,并在其实现基础上可以扩展延伸很多自动化设计,也可使QTP不再局限于UI测试。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种,所述方法为:设计一外部脚本和一DLL程序,通过QTP调用所述外部脚本和DLL程序来对Http协议进行数据传输交互;外部脚本对DLL程序中函数进行QTP方式的类封装;所述DLL程序对Http协议的请求以及响应数据获取,并对所获取的数据进行相应的gzip解压;并提供开放可供QTP调用的接口,所述DLL程序将gzip解压的数据内容通过所述接口传输给QTP,使QTP能得到该部分数据内容进行相应的数据验证和数据传输操作。本专利技术使QTP可对Http协议进行有效支持,并在其实现基础上可以扩展延伸很多自动化设计,也可使QTP不再局限于UI测试。【专利说明】
本专利技术涉及通讯
,尤其涉及一种。
技术介绍
自动化执行是指利用惠普HP公司提供的自动化测试工具QuickTestProfess1nal(简称QTP),其实现通过界面UI操作来模拟用户手工操作,并对程序展现的结果数据进行获取从而由代码来验证,该方式可减少用户在回归测试中的工作量,也减少公司在这方面的测试投入。存在的缺点:1、QTP在自动化测试主要是对软件界面控制进行触发后台功能实现,也支持webservices(系统对外的接口),但对于一些其他网络协议传输数据获取方面没有很好的支持。2、QTP采用的VBS脚本虽然可以进行TCP协议传输来实现Http协议,但其本身兼容不是很好,并且对于Http中gz ip数据压缩也无法很好处理。
技术实现思路
本专利技术要解决的技术问题,在于提供一种,使QTP可对Http协议进行有效支持,并在其实现基础上可以扩展延伸很多自动化设计,也可使QTP不再局限于UI测试。本专利技术是这样实现的:一种,所述方法为:设计一外部脚本和一 DLL程序,通过QTP调用所述外部脚本和DLL程序来对Http协议进行数据传输交互;所述外部脚本对DLL程序中函数进行QTP方式的类封装,并且处理数据传输的实现;所述DLL程序对Http协议的请求以及响应数据获取,并对所获取的数据进行相应的gzip解压;并提供开放可供QTP调用的接口,所述DLL程序将gzip解压的数据内容通过所述接口传输给QTP,使QTP能得到该部分数据内容进行相应的数据验证和数据传输操作。进一步的,所述DLL程序具体的实现方式为:DLL程序先进行数据初始化,解析网页站点的URL,验证网页站点IP端□是否有效,无效,则结束流程,有效,则验证网页站点URL是否有效,无效,则结束流程,有效,则整理http头与网页站点数据一起向服务器发送请求,判断服务器是否响应;否,则结束流程,是,则获取服务器响应数据,判断获取的响应数据是否需要进行解压,否,则结束流程,是,则数据解压并进行数据格式转换,将数据格式转换为QTP支持的数据格式。进一步的,所述将数据格式转换为QTP支持的数据格式,即为将UTF格式转换为ASCLL 和 Unicode 格式。进一步的,所述提供开放可供QTP调用的接口,该接口的创建具体为:1)初始化Http多连接容器:1nitial izeHttp容器,该容器为支持多Http连接请求,并使各个请求数据响应不会错乱,需由容器进行管理;2)创建Http对象:CreateHttp ;由DLL程序的函数内部创建一个Http对象,并返回该对象在容器中的唯一 ID,后续均由该ID进行请求操作; 3)添加Http头:AddHeader;该Http头为支持不同浏览器或语言所需的Http头,此处将设计为自定义头方式管理;4)数据请求:SendHttpRequest;该数据请求为Http主要数据请求,请求时会附带所添加的Http头;5)获取服务器响应:GetHttpRequest;该GetHttpRequest是获取HTTP服务器响应数据接口,进行获取/解压/转换操作后,内部保存;6)获取服务端响应数据长度以及类容= GetRequestValue/GetRequestValueLength,获取最后保存的接口数据,并返参至QTP参数。进一步的,所述外部脚本具体实现方式为:初始化DLL程序中的函数,初始化DLL程序中的容器,创建外部脚本的内部Http对象获取唯一 ID,通过ID封装各个接口并提供给QTP调用。本专利技术具有如下优点:1、可对QTP支持Http协议方面接口测试; 2、可支持对BS(Browser/Server,浏览器/服务器模式)后台ajax(仓Il建交互式网页应用的网页开发技术)这方面的数据进行验证; 3、可扩展使用QTP进行SQL注入攻击等功能安全验证;4、方便QTP对Http请求调用,调用时只需使用QTP方式的装封类接口直接进行http数据请求,不需考虑其具体实现方式。【附图说明】图1为DLL程序具体的实现的流程示意图。图2为外部脚本具体实现的流程示意图。【具体实施方式】请参阅图1和图2所示,本专利技术的一种,所述方法为:设计一外部脚本和一 DLL程序,通过QTP调用所述外部脚本和DLL程序来对Http协议进行数据传输交互;所述外部脚本对DLL程序中函数进行QTP方式的类封装,并且处理数据传输的实现;所述DLL程序对Http协议的请求以及响应数据获取,并对所获取的数据进行相应的gzip解压;并提供开放可供QTP调用的接口,所述DLL程序将gzip解压的数据内容通过所述接口传输给QTP,使QTP能得到该部分数据内容进行相应的数据验证和数据传输操作。其中,所述DLL程序具体的实现方式为:DLL程序先进行数据初始化,解析网页站点的URL,验证网页站点IP端口是否有效,无效,则结束流程,有效,则验证网页站点URL是否有效,无效,则结束流程,有效,则整理http头与网页站点数据一起向服务器发送请求,判断服务器是否响应;否,则结束流程,是,则获取服务器响应数据,判断获取的响应数据是否需要进行解压,否,则结束流程,是,则数据解压并进行数据格式转换,将数据格式转换为QTP支持的数据格式;所述将数据格式转换为QTP支持的数据格式,即为将UTF格式转换为ASCLL和Unicode 格式。所述提供开放可供QTP调用的接口,该接口的创建具体为:I)初始化Http多连接容器:Ini tial izeHttp容器,该容器为支持多Http连接请求,并使各个请求数据响应不会错乱,需由容器进行管理;2)创建Http对象:CreateHttp ;由DLL程序的函数内部创建一个Http对象,并返回该对象在容器中的唯一 ID,后续均由该ID进行请求操作; 3)添加Http头:AddHeader ;该Http头为支持不同浏览器或语言所需的Http头,此处将设计为自定义头方式管理;4)数据请求:SendHttpRequest;该数据请求为Http主要数据请求,请求时会附带所添加的Http头;5)获取服务器响应:GetHttpRequest;该GetHttpRequest是获取HTTP服务器响应数据接口,进行获取/解压/转换操作后,内部保存;6)获取服务端响应数据长度以及类容= GetRequestValue/GetRequestValueLength,获取最后保存的接口数据,并返参至QTP参数。所述外部脚本具体实现方式为:初始化DLL程序中的函数,初始化DLL程序中的容器,创建外部脚本的内部Http对本文档来自技高网...

【技术保护点】
一种基于QTP对Http协议进行数据传输交互的方法,其特征在于:所述方法为:设计一外部脚本和一DLL程序,通过QTP调用所述外部脚本和DLL程序来对Http协议进行数据传输交互;所述外部脚本对DLL程序中函数进行QTP方式的类封装,并且处理数据传输的实现;所述DLL程序对Http协议的请求以及响应数据获取,并对所获取的数据进行相应的gzip解压;并提供开放可供QTP调用的接口,所述DLL程序将gzip解压的数据内容通过所述接口传输给QTP,使QTP能得到该部分数据内容进行相应的数据验证和数据传输操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈铎徐品高锦云乐惠丽陈建灵杨烨
申请(专利权)人:福建星海通信科技有限公司
类型:发明
国别省市:福建;35

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

1