CN110798445B - 公共网关接口测试方法、装置、计算机设备及存储介质 - Google Patents
公共网关接口测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110798445B CN110798445B CN201910867033.9A CN201910867033A CN110798445B CN 110798445 B CN110798445 B CN 110798445B CN 201910867033 A CN201910867033 A CN 201910867033A CN 110798445 B CN110798445 B CN 110798445B
- Authority
- CN
- China
- Prior art keywords
- gateway interface
- public gateway
- tested
- public
- information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例属于软件开发领域,涉及一种公共网关接口测试方法、装置、计算机设备及存储介质,方法包括:在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数;通过数据导入工具将所述请求参数实时输入到全文搜索引擎;通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据;根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告。通过全文搜索引擎自动地提取出公共网关接口测试数据,并将公共网关接口匹配到接口测试平台进行自动化测试,从而提高了软件开发效率。
Description
技术领域
本申请涉及计算机软件开发技术领域,尤其涉及公共网关接口测试方法、装置、计算机设备及存储介质。
背景技术
目前,在web软件开发测试过程中,需要从前端获取数据来测试后端的接口,这些接口一般遵循公共网关接口(Common Gateway Interface,CGI)标准。CGI的工作流程,从Web服务器的角度看,是在特定的位置(URL,比如http://www.example.com/wiki.cgi)定义了可以运行CGI程序,当收到一个匹配URL的客户端请求,相应的程序就会被调用,并将客户端发送的数据作为输入;程序的输出会由Web服务器收集,并加上合适的标头,再发送回客户端。
进行公共网关接口测试时,现有技术首先需要借助抓包工具如fiddler、httpwatch等,获取到CGI接口通信相关数据;其次需要人工分析抓包获取的数据,人工的去构造和修改CGI接口的测试数据;最后要求测试人员必须了解编程技术,对接口调用方法和验证方法要有一定的理解和经验。导致开发过程耗时较长、而且还要求测试人员对接口测试代码熟悉,效率低。
发明内容
本申请实施例的目的在于提出一种公共网关接口测试方法、装置、计算机设备及存储介质,提高软件开发的效率。
为了解决上述技术问题,本申请实施例提供一种公共网关接口测试方法,采用了如下所述的技术方案:
包括下述步骤:
在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数;
通过数据导入工具将所述请求参数实时输入到全文搜索引擎;
通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据;
根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告。
进一步的,所述在接入层获取客户端的请求信息的步骤具体包括:
在接入层网关服务器截获通信流量;
从所诉通信流量获取所述客户端的请求信息。
进一步的,所述通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据的步骤具体包括:
通过全文搜索引擎扫描所述请求参数的每一个字段和对应的数据并存储到数据库;
根据典型的公共网关接口字段从数据库获取公共网关接口测试数据。
进一步的,所述根据典型的公共网关接口字段从数据库获取公共网关接口测试数据的步骤具体还包括:
为所述存储到数据库的每一个字段和对应的数据建立索引;
根据所述典型的公共网关接口字段获取该字段的索引,进而从数据库获得对应的公共网关接口测试数据。
进一步的,所述根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台的步骤具体还包括:
解析所述待测试公共网关接口信息,得到待测试公共网关接口;
根据待测试公共网关接口从公共网关服务器调用对应的待测试公共网关接口程序并导入到测试平台。
进一步的,所述解析所述待测试公共网关接口信息,得到待测试公共网关接口的步骤具体包括:
从所述待测试公共网关接口信息中提取出统一资源定位符字段所对应的数据;
映射所述统一资源定位符字段所对应的数据得到所述待测试公共网关接口。
进一步的,所述使用所述公共网关接口测试数据测试所述待测试公共网关接口的步骤之前还包括:
将所述公共网关接口测试数据去重处理。
为了解决上述技术问题,本申请实施例还提供一种公共网关接口测试装置,采用了如下所述的技术方案:
所述公共网关接口测试装置具体包括:
获取模块,用于在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数;
输入模块,用于通过数据导入工具将所述请求参数实时输入到全文搜索引擎;
解析模块,用于通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据;
测试模块,用于根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
所述计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现本申请实施例中提出的任一项所述的公共网关接口测试方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中提出的任一项所述的公共网关接口测试方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数;通过数据导入工具将所述请求参数实时输入到全文搜索引擎;通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据;根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告。通过在接入层获取请求信息并导入到全文搜索引擎,可以自动地提取出公共网关接口测试数据,避免安装配置抓包工具的麻烦和人工构造测试数据的低效;同时,将公共网关接口匹配到接口测试平台,可以进行自动化测试,不需人工编程测试,从而提高了软件开发效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性***架构图;
图2根据本申请的公共网关接口测试方法的一个实施例的流程图;
图3是图2中步骤201的一种具体实施方式的流程图;
图4是图2中步骤203的一种具体实施方式的流程图;
图5是图4中步骤402的一种具体实施方式的流程图;
图6是图2中步骤204的一种具体实施方式的流程图;
图7是图6中步骤601的一种具体实施方式的流程图;
图8是图2中步骤204中测试步骤之前包括的步骤的一种具体实施方式的流程图;
图9是根据本申请的公共网关接口测试装置的一个实施例的结构示意图;
图10所示为获取模块901一种具体实施方式的结构示意图;
图11为解析模块903的一种具体实施方式的结构示意图;
图12为获取子模块9032的一种具体实施方式的结构示意图;
图13为测试模块904的一种具体实施方式的结构示意图;
图14为解析子模块9041的一种具体实施方式的结构示意图;
图15为根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的公共网关接口测试方法一般由服务器执行,相应地,公共网关接口测试装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的公共网关接口测试的方法的一个实施例的流程图。所述的公共网关接口测试方法,包括以下步骤:
步骤201,在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数。
在本实施例中,公共网关接口测试方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收来自客户端(例如图1所示的终端设备)的请求信息。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
一般情况下,上述公共网关接口测试方法运行于其上的服务器上需要安装有HTTP静态服务器(如APACHE、NGINX等)来作为接入层,接收并预处理客户端的请求信息后转发到后端的CGI接口程序。本实例中,客户端的请求信息可以不用经过上述HTTP静态服务器预处理和转发,而是在上述服务器的数据缓冲区直接获取上述原始的请求信息。
其中,CGI接口程序是存储或运行在上述***架构服务器105上的程序,该程序可以是由编程语言如C、python、perl等编写并可以直接执行的程序,通常一个CGI程序处理一个客户端的请求,包括输入数据的检查、调用服务器的资源生成网页并返回给客户端。
步骤202,通过数据导入工具将所述请求参数实时输入到全文搜索引擎。
在本实施例中,使用的全文搜索引擎ElasticSearch是一个开源的程序,可以用来快速地建立索引、储存、搜索和分析海量文本数据,还可搭建成集群,为大量文本数据提供分布式实时的存储和索引服务,具有良好的扩展性。在本实施例中,可以通过数据导入工具如logstash将上述从HTTP静态服务器的接入层获取的客户端的请求参数快速实时导入到所述的全文搜索引擎ElasticSearch然后进行数据解析。
其中,logstash工具主要包括input、filter、output等组件,input用于读取内容,常用的有stdin(直接从控制台输入)、file(读取文件)、redis(数据库)等;filter用于对输入的信息进行初步处理以符合一定的格式;output用于把fitler得到的内容输出到指定的接收端,通常是elasticsearch(全文搜索引擎)、file(输出到文件)、stdout(直接输出到控制台)等。
步骤203,通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据。
在本实施例中,可以使用上述全文搜索引擎ElasticSearch来自动提取上述获取到请求参数的数据报文中的所有字段及对应数据,然后一一对应地建立索引并将其存储起来,作为公共网关接口的测试数据;进行查询时,全文搜索引擎的检索程序就根据事先建立的索引进行查找,并将查找的结果返回。
步骤204,根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告。
其中,使用测试平台如Yapi服务器进行自动化接口测试,可以提高测试效率,使测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;Yapi服务器是一个可在线管理、测试web应用程序接口的服务器***。
在本实施例中,上述从HTTP静态服务器的接入层获取的客户端的请求信息中包括待测试公共网关接口信息,一般是请求的URL所对应的数据,通过分析该数据可以得到后端要调用的公共网关接口,然后在上述***架构中存储或运行着公共网关接口程序的服务器105的后端程序库中匹配到该公共网关接口到上述测试平台,并使用上述步骤203获取的公共网关接口的测试数据输入到上述测试平台来测试上述待测试的公共网关接口,最后得到上述测试平台生成的测试报告。
其中,可以对上述待测试的公共网关接口作以下几方面的测试:
在该程序中对输入数据进行检查,如数据的类型是否匹配、是否在范围之内,如果检查不通过,记录异常信息并写入测试报告。
进一步的,在该程序中检查客户端请求的资源是否存在于服务器上,如果存在,则读取该资源并返回给客户端;如果不存在,则返回没有找到资源的信息给客户端,记录异常信息并写入上述测试报告。
在一些情况下,需要对客户端请求中的用户信息进行校验,如用户名密码、cookie等,需要测试相应的程序是否能正确处理,如果失败可以将失败信息写入上述测试报告。
需要说明的是,本申请实施例提供的公共网关接口测试方法可以应用于公共网关接口测试设备,例如:计算机、服务器、工作站等可以进行公共网关接口测试的设备。
本实施例中,在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数;通过数据导入工具将所述请求参数实时输入到全文搜索引擎;通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据;根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告。通过在接入层获取请求信息并导入到全文搜索引擎,可以自动地提取出公共网关接口测试数据,避免安装配置抓包工具的麻烦和人工构造测试数据的低效;同时,将公共网关接口匹配到接口测试平台,可以进行自动化测试,不需人工编程测试,从而提高了软件开发效率。
进一步的,如图3所示,上述步骤201可以包括:
步骤301,在接入层网关服务器截获通信流量。
其中,接入层网关服务器可以是上述APACHE、NGINX等HTTP静态服务器。在一种可能的实现方式中,可以在上述接入层网关服务器上的数据缓存区域读取上述客户端与服务器的通信流量(即遵循HTTP/HTTPS协议的数据包),而不需网关服务器将该数据包转发到应用层接口程序(如CGI接口程序)上进行处理或者存储到磁盘或者数据库;
可选地,可以在上述接入层网关服务器上使用一个线程并行去该服务器的数据缓存区域读取上述数据包,以加快读取速度;
在另一种可能的实现方式中,使用一个单独的进程,通过进程间的通信方式如消息队列、共享内存、管道等,去获取上述通信数据包。
或,还可以从上述HTTP静态服务器的底层套接字获取原始的未经静态服务器处理过的数据包。
步骤302,从所诉通信流量获取所述客户端的请求信息。
其中,客户端的请求信息可以是客户端浏览器程序主动发送给远程服务器的通信数据包中的主要数据(负载),一般包括请求URL(即请求的资源路径信息,对应公共网关接口信息)、请求的方式、状态码、请求的远程服务器的地址、数据报的类型和长度等字段;在另一些情况下,客户端的请求信息通常包括远程服务器在请求浏览器用户数据的时候,返回给服务器的数据报,除了上述字段还可以包括比如用户名、密码、安全验证码、令牌或cookie等字段。可以根据HTTP/HTTPS协议的数据报文格式去除一些非必要数据来提取上述的客户端的请求数据。
进一步的,如图4所示,上述步骤203可以包括:
步骤401,通过全文搜索引擎扫描所述请求参数的每一个字段和对应的数据并存储到数据库。
本实施例中,通过上述全文搜索引擎Elasti cSearch扫描上述获取到请求数据报文中的每一个字段,然后提取对应字段的数据来作为公共网关接口测试数据,最后将字段以及对应的数据存储到数据库中,以便重复利用。
步骤402,根据典型的公共网关接口字段从数据库获取公共网关接口测试数据。
其中,典型的公共网关CGI接口字段包括但不限于SERVER_NAME、REQUEST_METHOD、PATH_INFO、QUERY_STRING、REMOTE_HOST、CONTENT_TYPE、CONTENT_LENGTH、SCRIPT_NAME、ACCEPT等,根据这些字段可以从上述数据库中取得对应的数据,然后将这些典型的CGI接口字段和对应的数据写入到一个JSON或XML格式的文件或数据库里,还可以暂时放入内存中以便能快速获取这些公共网关接口测试数据。
更进一步的,如图5所示,上述步骤402可以包括:
步骤501,为所述存储到数据库的每一个字段和对应的数据建立索引。
本实施例中,通过上述全文搜索引擎ElasticSearch为扫描到的请求数据报文中的每一个字段建立一个索引,该索引包括该字段在报文中出现的次数和位置;然后提取对应字段的数据,最后将字段以及对应的数据存储起来。
例如,首先为上述获取到请求数据报设置一个总的索引index,再给该数据报中的每个字段分配一个子索引,生成一条记录,或称为Document(文档)。一条记录或Document使用JSON格式表示,比如,{“method”:“GET”}、{“URL”:“https://www.jianshu.com/p/5696f7d0d011”}、{“Remote Address”:“183.66.109.247:443”}等,这些记录或Document合起来构成一个总的索引index。
步骤502,根据所述典型的公共网关接口字段获取该字段的索引,进而从数据库获得对应的公共网关接口测试数据。
在步骤501中,根据通过全文搜索引擎ElasticSearch为请求数据报设置的总索引index取得整个请求数据报的JSON格式的数据索引,然后根据典型的公共网关CGI接口字段如SERVER_NAME、REQUEST_METHOD、PATH_INFO、QUERY_STRING、REMOTE_HOST、CONTENT_TYPE、CONTENT_LENGTH、SCRIPT_NAME、ACCEPT等到上述JSON格式的数据索引中查询并获取上述字段的索引,最后根据这些索引到数据库中获取对应数据来作为上述公共网关接口的测试数据。
进一步的,如图6所示,上述步骤204的根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台的步骤可以包括:
步骤601,解析所述待测试公共网关接口信息,得到待测试公共网关接口。
在本实施例中,待测试公共网关接口信息是指上述请求信息中的请求URL,即请求的资源路径信息,解析该资源路径信息可以得出客户端请求的后端的资源,相应地得到响应客户端请求的接口名称,在后端程序中调用对应的公共网关接口,来处理这一客户端请求,并返回请求的资源数据。
步骤602,根据待测试公共网关接口从公共网关服务器调用对应的待测试公共网关接口程序并导入到测试平台。
在步骤601中,通过解析请求信息中的请求URL可以得出响应客户端的请求要使用的后端待测试公共网关接口名称,然后根据该接口名称到存储有上述待测试公共网关接口的网关服务器上加载对应的待测试公共网关接口程序并导入到上述测试平台。
其中,测试平台如Yapi服务器,是一个可在线管理、测试web应用程序接口的服务器***,可以进行接口管理、自动化测试等,可以提高测试效率。
更进一步的,如图7所示,上述步骤601可以包括:
步骤701,从所述待测试公共网关接口信息中提取出统一资源定位符字段所对应的数据。
在本实施例中,可从通过解析上述客户端请求信息中的待测试公共网关接口信息,即解析请求URL(统一资源定位符)字段得到请求的数据的路径信息和相关参数,如下是一个Request URL:
https://www.patenthub.cn/patent/CN107179984A.html?ds=cn&ds=cn&d m=list&p=1&ps=20&s=score!&m=none&q=(tscd:(%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95))%20AND%20(ipc:(G06)),通过其中的?、&将整个URL切割开来,得到请求的页面所在的路径https://www.patenthub.cn/patent/CN107179984A.html,和数据查询的参数如ds=cn、ps=20等。
步骤702,映射所述统一资源定位符字段所对应的数据得到所述待测试公共网关接口。
在步骤701中解析统一资源定位符(URL)得到客户端请求的页面以及数据查询的参数后,通过路由程序将其映射到对应的公共网关接口程序,然后在公共网关接口程序中进行参数检查并作出响应。
需要说明的是,上述路由程序可以是web框架(如django)底层提供的,也可以是自己编写的实现统一资源定位符(URL)与公共网关接口绑定的程序,在服务器运行期间已经加载到内存中。
进一步的,如图8所示,上述步骤204的使用所述公共网关接口测试数据测试所述待测试公共网关接口的步骤之前还可以包括步骤:
步骤801,将所述公共网关接口测试数据去重处理。
可选的,为防止服务器上存储大量重复的测试数据占用服务器资源,需要根据上述接口测试平台已经录入过的数据,对上述生成的公共网关接口测试数据在测试开始之前进行去重和归类处理。
例如,扫面测试数据中的字段,判断该字段是否存在于接口测试平台的文件或数据库中,如果不存在则将该字段和对应的数据保存下来;如果存在则继续比较数据是否相同,如果相同则去掉该数据,否则将数据保存到测试平台的文件或数据库中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图9,作为对上述图2所示方法的实现,本申请提供了一种公共网关接口测试装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图9所示,本实施例所述的公共网关接口测试装置900包括:获取模块901、输入模块902、解析模块903以及测试模块904。其中:
获取模块901用于在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数;
输入模块902用于通过数据导入工具将所述请求参数实时输入到全文搜索引擎;
解析模块903用于通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据;
测试模块904用于根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告。
本申请实施例提供的公共网关接口测试装置能够实现图2至图8的方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。
参阅图10,为获取模块901的一种具体实施方式的结构示意图,获取模块901包括第一获取子模块9011以及第二获取子模块9012。其中,第一获取子模块9011用于在接入层网关服务器截获通信流量。第二获取子模块9012用于从所诉通信流量获取所述客户端的请求信息。
参阅图11,为解析模块903的一种具体实施方式的结构示意图,解析模块903包括扫描子模块9031以及获取子模块9032。其中,扫描子模块9031用于通过全文搜索引擎扫描所述请求参数的每一个字段和对应的数据并存储到数据库。获取子模块9032用于根据典型的公共网关接口字段从数据库获取公共网关接口测试数据。
进一步的,参阅图12,为上述获取子模块9032的一种具体实施方式的结构示意图,获取子模块9032包括建立子单元90321以及获取子单元90322。其中,建立子单元90321用于为所述存储到数据库的每一个字段和对应的数据建立索引。获取子单元90322用于根据所述典型的公共网关接口字段获取该字段的索引,进而从数据库获得对应的公共网关接口测试数据。
参阅图13,为测试模块904的一种具体实施方式的结构示意图,测试模块904包括解析子模块9041、导入子模块9042以及测试子模块9043。其中,解析子模块9041用于解析所述待测试公共网关接口信息,得到待测试公共网关接口。导入子模块9042用于根据待测试公共网关接口从公共网关服务器调用对应的待测试公共网关接口程序并导入到测试平台。测试子模块9043用于使用所述公共网关接口测试数据测试所述待测试公共网关接口并生成测试报告。
进一步的,参阅图14,为上述解析子模块9041的一种具体实施方式的结构示意图,解析子模块9041包括提取子单元90411以及映射子单元90412。其中,提取子单元90411用于从所述待测试公共网关接口信息中提取出统一资源定位符字段所对应的数据。映射子单元90412用于映射所述统一资源定位符字段所对应的数据得到所述待测试公共网关接口。
在本实施例的一些可选的实现方式中,上述装置900还包括:去重模块905,用于在使用所述公共网关接口测试数据测试所述待测试公共网关接口之前将所述公共网关接口测试数据去重处理。
本申请实施例提供的公共网关接口测试装置能够实现图2至图8的方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图15,图15为本实施例计算机设备基本结构框图。
所述计算机设备15包括通过***总线相互通信连接存储器151、处理器152、网络接口153。需要指出的是,图中仅示出了具有组件151-153的计算机设备15,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器151至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器151可以是所述计算机设备15的内部存储单元,例如该计算机设备15的硬盘或内存。在另一些实施例中,所述存储器151也可以是所述计算机设备15的外部存储设备,例如该计算机设备15上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器151还可以既包括所述计算机设备15的内部存储单元也包括其外部存储设备。本实施例中,所述存储器151通常用于存储安装于所述计算机设备15的操作***和各类应用软件,例如公共网关接口测试方法的程序代码等。此外,所述存储器151还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器152在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器152通常用于控制所述计算机设备15的总体操作。本实施例中,所述处理器152用于运行所述存储器151中存储的程序代码或者处理数据,例如运行所述公共网关接口测试方法的程序代码。
所述网络接口153可包括无线网络接口或有线网络接口,该网络接口153通常用于在所述计算机设备15与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有公共网关接口测试程序,所述公共网关接口测试程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的公共网关接口测试方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (9)
1.一种公共网关接口测试方法,其特征在于,包括下述步骤:
在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数;
通过数据导入工具将所述请求参数实时输入到全文搜索引擎;
通过全文搜索引擎解析所述请求参数,获取与待测试公共网关接口对应的公共网关接口测试数据;
根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告;
所述根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台的步骤具体还包括:
解析所述待测试公共网关接口信息,得到待测试公共网关接口,其中,所述待测试公共网关接口信息为所述请求信息中的请求URL;
根据待测试公共网关接口从公共网关服务器调用对应的待测试公共网关接口程序并导入到测试平台。
2.如权利要求1所述方法,其特征在于,所述在接入层获取客户端的请求信息的步骤具体包括:
在接入层网关服务器截获通信流量;
从所述 通信流量获取所述客户端的请求信息。
3.如权利要求1所述方法,其特征在于,所述通过全文搜索引擎解析所述请求参数,获取与所述待测试公共网关接口对应的公共网关接口测试数据的步骤具体包括:
通过全文搜索引擎扫描所述请求参数的每一个字段和对应的数据并存储到数据库;
根据典型的公共网关接口字段从数据库获取公共网关接口测试数据。
4.如权利要求3所述方法,其特征在于,所述根据典型的公共网关接口字段从数据库获取公共网关接口测试数据的步骤具体包括:
为所述存储到数据库的每一个字段和对应的数据建立索引;
根据所述典型的公共网关接口字段获取该字段的索引,进而从数据库获得对应的公共网关接口测试数据。
5.如权利要求1所述方法,其特征在于,所述解析所述待测试公共网关接口信息,得到待测试公共网关接口的步骤具体包括:
从所述待测试公共网关接口信息中提取出统一资源定位符字段所对应的数据;
映射所述统一资源定位符字段所对应的数据得到所述待测试公共网关接口。
6.如权利要求5所述方法,其特征在于,所述使用所述公共网关接口测试数据测试所述待测试公共网关接口的步骤之前还包括:
将所述公共网关接口测试数据去重处理。
7.一种公共网关接口测试装置,其特征在于,包括:
获取模块,用于在接入层获取客户端的请求信息,所述请求信息包括待测试公共网关接口信息和请求参数;
输入模块,用于通过数据导入工具将所述请求参数实时输入到全文搜索引擎;
解析模块,用于通过全文搜索引擎解析所述请求参数,获取与待测试公共网关接口对应的公共网关接口测试数据;
测试模块,用于根据所述待测试公共网关接口信息,将所述待测试公共网关接口匹配到对应接口测试平台,并使用所述公共网关接口测试数据测试所述待测试公共网关接口,生成测试报告;
所述测试模块包括解析子模块和导入子模块,其中:
解析子模块,用于解析所述待测试公共网关接口信息,得到待测试公共网关接口,其中,所述待测试公共网关接口信息为所述请求信息中的请求URL;
导入子模块,用于根据待测试公共网关接口从公共网关服务器调用对应的待测试公共网关接口程序并导入到测试平台。
8.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的公共网关接口测试方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的公共网关接口测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910867033.9A CN110798445B (zh) | 2019-09-12 | 2019-09-12 | 公共网关接口测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910867033.9A CN110798445B (zh) | 2019-09-12 | 2019-09-12 | 公共网关接口测试方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110798445A CN110798445A (zh) | 2020-02-14 |
CN110798445B true CN110798445B (zh) | 2022-06-10 |
Family
ID=69427157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910867033.9A Active CN110798445B (zh) | 2019-09-12 | 2019-09-12 | 公共网关接口测试方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110798445B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770004B (zh) * | 2020-06-26 | 2021-09-07 | 武汉众邦银行股份有限公司 | 一种http(s)流量内容自动化校验方法及存储介质 |
CN112346976A (zh) * | 2020-11-09 | 2021-02-09 | 深圳市安软科技股份有限公司 | 基于网页的接口文档生成方法、装置、***及计算机设备 |
CN112559362B (zh) * | 2020-12-23 | 2024-06-21 | 平安银行股份有限公司 | 动态用户界面的自动化测试方法及测试装置 |
CN114500348B (zh) * | 2021-12-22 | 2023-06-23 | 天翼云科技有限公司 | 一种cdn网关测试方法及*** |
CN115396501B (zh) * | 2022-08-31 | 2024-01-30 | 北京奇艺世纪科技有限公司 | 一种信息处理方法、装置、电子设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381604B1 (en) * | 1999-07-30 | 2002-04-30 | Cisco Technology, Inc. | Test information management system |
US6741967B1 (en) * | 1998-11-02 | 2004-05-25 | Vividence Corporation | Full service research bureau and test center method and apparatus |
CN106844188A (zh) * | 2015-12-04 | 2017-06-13 | 北京奇虎科技有限公司 | 一种测试代理方法、装置和测试*** |
CN108345540A (zh) * | 2018-02-07 | 2018-07-31 | 平安证券股份有限公司 | 基于私有云平台的应用测试***、方法、设备及存储介质 |
CN108519948A (zh) * | 2018-04-04 | 2018-09-11 | 上海携程商务有限公司 | 日志驱动的接口自动化测试方法及*** |
CN109491891A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 全自动接口压测方法、装置、计算机设备及存储介质 |
CN109522202A (zh) * | 2017-09-18 | 2019-03-26 | 北京京东尚科信息技术有限公司 | 一种软件测试的方法和装置 |
CN109542786A (zh) * | 2018-11-20 | 2019-03-29 | 北京千丁互联科技有限公司 | 可视化测试方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776289A (zh) * | 2016-11-24 | 2017-05-31 | 山东交通学院 | 多任务自适应云测试方法 |
CN110083540B (zh) * | 2019-04-29 | 2023-04-28 | 北京口袋时尚科技有限公司 | 接口测试方法及装置 |
CN110209578B (zh) * | 2019-05-21 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种信息在线测试平台 |
-
2019
- 2019-09-12 CN CN201910867033.9A patent/CN110798445B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6741967B1 (en) * | 1998-11-02 | 2004-05-25 | Vividence Corporation | Full service research bureau and test center method and apparatus |
US6381604B1 (en) * | 1999-07-30 | 2002-04-30 | Cisco Technology, Inc. | Test information management system |
CN106844188A (zh) * | 2015-12-04 | 2017-06-13 | 北京奇虎科技有限公司 | 一种测试代理方法、装置和测试*** |
CN109522202A (zh) * | 2017-09-18 | 2019-03-26 | 北京京东尚科信息技术有限公司 | 一种软件测试的方法和装置 |
CN108345540A (zh) * | 2018-02-07 | 2018-07-31 | 平安证券股份有限公司 | 基于私有云平台的应用测试***、方法、设备及存储介质 |
CN108519948A (zh) * | 2018-04-04 | 2018-09-11 | 上海携程商务有限公司 | 日志驱动的接口自动化测试方法及*** |
CN109491891A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 全自动接口压测方法、装置、计算机设备及存储介质 |
CN109542786A (zh) * | 2018-11-20 | 2019-03-29 | 北京千丁互联科技有限公司 | 可视化测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110798445A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110798445B (zh) | 公共网关接口测试方法、装置、计算机设备及存储介质 | |
WO2021003818A1 (zh) | 接口测试用例生成方法、装置、计算机设备及存储介质 | |
US10839038B2 (en) | Generating configuration information for obtaining web resources | |
CN109936621B (zh) | 信息安全的多页面消息推送方法、装置、设备及存储介质 | |
CN110808868B (zh) | 测试数据获取方法、装置、计算机设备及存储介质 | |
CN111552633A (zh) | 接口的异常调用测试方法、装置、计算机设备及存储介质 | |
CN111221739A (zh) | 业务测试方法、装置和*** | |
AU2014400621B2 (en) | System and method for providing contextual analytics data | |
US9654580B2 (en) | Proxy-based web application monitoring through script instrumentation | |
CN103347092A (zh) | 一种识别缓存文件的方法及装置 | |
CN112597020A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
KR20180074774A (ko) | 악의 웹 사이트 식별 방법, 장치 및 컴퓨터 기억매체 | |
CN112631924A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN111475705A (zh) | 基于sql查询的网络业务监控方法、装置、设备及存储介质 | |
CN113449339A (zh) | 日志收集方法、***、计算机设备及计算机可读存储介质 | |
CN112860662A (zh) | 数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN105550179A (zh) | 一种网页收藏方法和浏览器插件 | |
CN115794437A (zh) | 微服务的调用方法、装置、计算机设备及存储介质 | |
CN109862074B (zh) | 一种数据采集方法、装置、可读介质及电子设备 | |
CN107368407B (zh) | 信息处理方法和装置 | |
CN113282591B (zh) | 权限过滤方法、装置、计算机设备及存储介质 | |
CN108011936A (zh) | 用于推送信息的方法和装置 | |
CN110727576A (zh) | 一种web页面测试方法、装置、设备及存储介质 | |
CN111797297B (zh) | 页面数据处理方法、装置、计算机设备及存储介质 | |
CN114968822A (zh) | 接口测试方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |