CN110399296B - 测试客户端与服务端之间交互接口的方法、系统和介质 - Google Patents
测试客户端与服务端之间交互接口的方法、系统和介质 Download PDFInfo
- Publication number
- CN110399296B CN110399296B CN201910582479.7A CN201910582479A CN110399296B CN 110399296 B CN110399296 B CN 110399296B CN 201910582479 A CN201910582479 A CN 201910582479A CN 110399296 B CN110399296 B CN 110399296B
- Authority
- CN
- China
- Prior art keywords
- database
- command
- rest api
- client
- bottom layer
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 12
- 230000000977 initiatory effect Effects 0.000 claims abstract description 11
- 238000004088 simulation Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及测试客户端与服务端之间交互接口的方法、系统和介质,包括以下步骤:S1:测试前预处理的步骤;S2:测试REST API的步骤,包括:S2.1:客户端向服务端发起REST API请求,S2.2:判断REST API请求发起时的资源定位符,根据上述资源定位符,调用底层命令;S2.3:根据调用的底层命令,获取操作对象名称,如果在数据库中存在与操作对象名称相同的列表,则将底层命令转化为对应的数据库操作语言,对数据库进行操作;如果在数据库中不存在与操作对象名称相同的列表,则在实际资源对象上执行底层命令;并将结果反馈到发起REST API请求的客户端。
Description
技术领域
本发明属于接口测试技术领域,涉及一种交互接口的测试方法和系统;尤其是一种测试客户端与服务端之间交互接口的方法、系统和介质。
背景技术
REST API是一种客户端与服务端交互的接口形式。服务端的信息以资源的形式提供给客户端。客户端通过REST API实现对服务端的资源请求,包括查询、创建、修改、删除等操作。
现有技术中,在实际项目开发过程时,由于底层命令开发进度缓慢等原因,导致系统或设备不支持底层命令或无法返回所需要的信息。使得REST API开发完成后无法进行正常的调试或测试工作,继而影响开发进度和交付质量。此为现有技术中存在的技术问题。
有鉴于此,本发明给出一种测试客户端与服务端之间交互接口的方法、系统和介质的技术方案;以解决现有技术中存在的缺陷和问题。
发明内容
针对现有技术中存在的由于底层命令开发进度缓慢等原因,导致系统或设备不支持底层命令或无法返回所需要的信息,使得REST API开发完成后无法进行正常的调试或测试工作,继而带来开发进度慢和交付质量差的问题;本发明提供一种测试客户端与服务端之间交互接口的方法、系统和介质,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
第一方面,本发明提供一种测试客户端与服务端之间交互接口的方法,包括以下步骤:
S1:测试前预处理的步骤:在Mock数据文件中定义查询类底层命令的输出结果,并存储到数据库中;
S2:测试REST API的步骤,具体包括:
S2.1:客户端向服务端发起REST API请求,
S2.2:判断REST API请求发起时的资源定位符,根据上述资源定位符,调用底层命令;
S2.3:根据调用的底层命令,获取操作对象名称,如果在数据库中存在与操作对象名称相同的列表,则将底层命令转化为对应的数据库操作语言,对数据库进行操作;如果在数据库中不存在与操作对象名称相同的列表,则在实际资源对象上执行底层命令;并将结果反馈到发起REST API请求的客户端。
作为优选,所述步骤S1包括以下步骤:
S1.1:将开发完成的REST API调用的查询类底层命令的输出结果写入Mock数据文件;
S1.2:运行数据库初始化代码,将Mock数据文件中的数据写入数据库中;
S1.3:编写操作数据库代码,实现模拟底层命令执行结果。
该步骤的效果是:预先约定文件格式,根据约定格式在文件中配置查询类底层命令的输出结果;摆脱对实际系统或设备的底层命令的依赖。
作为优选,所述步骤S2.3中,对数据库进行操作包括:对数据库进行读取、修改、增加或删除数据的操作。
该步骤的效果是:直接对数据库进行相应数据的模拟处理;加快REST API的测试效率。
作为优选,所述步骤S2.3中,实际资源对象包括实际系统或设备。
该步骤的效果是:对于在数据库中不存在的底层命令,直接在实际系统或设备中运行;提高了测试的准确度和效率。
第二方面,本发明提供一种测试客户端与服务端之间交互接口的系统,包括:
预处理模块:在Mock数据文件中定义查询类底层命令的输出结果,并存储到数据库中;
测试模块:包括有:
请求发起单元:客户端向服务端发起REST API请求,
底层命令调单元:判断REST API请求发起时的资源定位符,根据上述资源定位符,调用底层命令,
底层命令管理单元:根据调用的底层命令,获取操作对象名称,如果在数据库中存在与操作对象名称相同的列表,则通过数据库操作单元将底层命令转化为对应的数据库操作语言,对数据库进行操作;如果在数据库中不存在与操作对象名称相同的列表,则在实际资源对象上执行底层命令,
请求反馈单元:将底层命令的处理结果反馈到发起REST API请求的客户端。
作为优选,所述的预处理模块包括有:
Mock数据文件写入单元:将开发完成的REST API调用的查询类底层命令的输出结果写入Mock数据文件,
数据库写入单元:运行数据库初始化代码,将Mock数据文件中的数据写入数据库中,
数据库代码编写单元:编写操作数据库代码,实现模拟底层命令执行结果。预先约定文件格式,根据约定格式在文件中配置查询类底层命令的输出结果;摆脱对实际系统或设备的底层命令的依赖。
作为优选,所述底层命令管理单元中,对数据库进行操作包括:对数据库进行读取、修改、增加或删除数据的操作。
直接对数据库进行相应数据的模拟处理;加快REST API的测试效率。
作为优选,所述底层命令管理单元中,实际资源对象包括实际系统或设备。
对于在数据库中不存在的底层命令,直接在实际系统或设备中运行;提高了测试的准确度和效率。
第三方面,本发明提供一种计算机存储介质,所述计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述方法。
第四方面,提供一种终端,包括:
处理器、存储器,其中,该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述方法。
本发明的有益效果在于,采用数据库存储数据以及数据库操作模块模拟实际系统或设备的底层命令,可在调试或测试REST API过程中,摆脱对实际系统或设备的底层命令的依赖,加快REST API的开发进度,及早发现REST API的问题,提高产品质量。通过Mock数据文件以及数据库初始化代码,可快速初始化数据库,避免因为维护数据库系统而增加工作量。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种测试客户端与服务端之间交互接口的方法的流程图。
图2是本发明实施例2提供的一种测试客户端与服务端之间交互接口的系统的原理框图。
其中,1-预处理模块,1.1-Mock数据文件写入单元,1.2-数据库写入单元,1.3-数据库代码编写单元,2-测试模块,2.1-请求发起单元,2.2-底层命令调单元,2.3-底层命令管理单元,2.4-请求反馈单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本实施例提供一种测试客户端与服务端之间交互接口的方法,包括以下步骤:
SS1:测试前预处理的步骤:在Mock数据文件中定义查询类底层命令的输出结果,并存储到数据库中;
所述步骤S1包括以下步骤:
S1.1:将开发完成的REST API调用的查询类底层命令的输出结果写入Mock数据文件;
S1.2:运行数据库初始化代码,将Mock数据文件中的数据写入数据库中;
S1.3:编写操作数据库代码,实现模拟底层命令执行结果。
该步骤的效果是:预先约定文件格式,根据约定格式在文件中配置查询类底层命令的输出结果;摆脱对实际系统或设备的底层命令的依赖。
S2:测试REST API的步骤,具体包括:
S2.1:客户端向服务端发起REST API请求,
S2.2:判断REST API请求发起时的资源定位符,根据上述资源定位符,调用底层命令;
S2.3:根据调用的底层命令,获取操作对象名称,如果在数据库中存在与操作对象名称相同的列表,则将底层命令转化为对应的数据库操作语言,对数据库进行操作;如果在数据库中不存在与操作对象名称相同的列表,则在实际资源对象上执行底层命令;并将结果反馈到发起REST API请求的客户端。该步骤中,对数据库进行操作包括:对数据库进行读取、修改、增加或删除数据的操作。该步骤的效果是:直接对数据库进行相应数据的模拟处理;加快REST API的测试效率。该步骤中,实际资源对象包括实际系统或设备;效果是:对于在数据库中不存在的底层命令,直接在实际系统或设备中运行;提高了测试的准确度和效率。
本实施例中,约定文件格式;根据约定格式在文件中配置查询类底层命令的输出结果;输出结果是对查询类底层命令在实际系统或设备上的执行结果的模拟;输出结果会被数据库初始化模块写入数据库中。
约定文件格式:根据项目实际情况选择合适的文件类型,包括但不限于j son、xml等格式。根据实际情况设计底层命令和相应输出结果的配置方式,例如设置标签用于标记文件内容的某个部分是查询类底层命令,某个部分是相应输出结果。
Mock数据配置:Mock数据配置包括查询类底层命令和相应输出结果的配置。根据测试REST API的需要,在文件中按照约定的格式配置查询类底层命令及相应输出结果
实施例2:
如图2所示,本实施例提供一种测试客户端与服务端之间交互接口的系统,包括:
预处理模块1:在Mock数据文件中定义查询类底层命令的输出结果,并存储到数据库中;
所述的预处理模块1包括有:
Mock数据文件写入单元1.1:将开发完成的REST API调用的查询类底层命令的输出结果写入Mock数据文件,
数据库写入单元1.2:运行数据库初始化代码,将Mock数据文件中的数据写入数据库中,
数据库代码编写单元1.3:编写操作数据库代码,实现模拟底层命令执行结果。预先约定文件格式,根据约定格式在文件中配置查询类底层命令的输出结果;摆脱对实际系统或设备的底层命令的依赖。
测试模块2:包括有:
请求发起单元2.1:客户端向服务端发起REST API请求,
底层命令调单元2.2:判断REST API请求发起时的资源定位符,根据上述资源定位符,调用底层命令,
底层命令管理单元2.3:根据调用的底层命令,获取操作对象名称,如果在数据库中存在与操作对象名称相同的列表,则通过数据库操作单元将底层命令转化为对应的数据库操作语言,对数据库进行操作;如果在数据库中不存在与操作对象名称相同的列表,则在实际资源对象上执行底层命令;所述底层命令管理单元中,对数据库进行操作包括:对数据库进行读取、修改、增加或删除数据的操作;直接对数据库进行相应数据的模拟处理;加快REST API的测试效率。所述底层命令管理单元中,实际资源对象包括实际系统或设备;对于在数据库中不存在的底层命令,直接在实际系统或设备中运行;提高了测试的准确度和效率。
请求反馈单元2.4:将底层命令的处理结果反馈到发起REST API请求的客户端。
实施例3:
本实施例提供一种计算机存储介质,所述计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述方法。
实施例4:
本实施例提供一种终端,包括:
处理器、存储器,其中,该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述方法。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (9)
1.一种测试客户端与服务端之间交互接口的方法,其特征在于,包括以下步骤:
S1:测试前预处理的步骤:在Mock数据文件中定义查询类底层命令的输出结果,并存储到数据库中;
S2:测试REST API的步骤,具体包括:
S2.1:客户端向服务端发起REST API请求,
S2.2:判断REST API请求发起时的资源定位符,根据上述资源定位符,调用底层命令;
S2.3:根据调用的底层命令,获取操作对象名称,如果在数据库中存在与操作对象名称相同的列表,则将底层命令转化为对应的数据库操作语言,对数据库进行操作;如果在数据库中不存在与操作对象名称相同的列表,则在实际资源对象上执行底层命令;并将结果反馈到发起REST API请求的客户端。
2.根据权利要求1所述的一种测试客户端与服务端之间交互接口的方法,其特征在于,所述步骤S1包括以下步骤:
S1.1:将开发完成的REST API调用的查询类底层命令的输出结果写入Mock数据文件;
S1.2:运行数据库初始化代码,将Mock数据文件中的数据写入数据库中;
S1.3:编写操作数据库代码,实现模拟底层命令执行结果。
3.根据权利要求2所述的一种测试客户端与服务端之间交互接口的方法,其特征在于,所述步骤S2.3中,对数据库进行操作包括:对数据库进行读取、修改、增加或删除数据的操作。
4.根据权利要求3所述的一种测试客户端与服务端之间交互接口的方法,其特征在于,所述步骤S2.3中,实际资源对象包括实际系统或设备。
5.一种测试客户端与服务端之间交互接口的系统,其特征在于,包括:
预处理模块:在Mock数据文件中定义查询类底层命令的输出结果,并存储到数据库中;
测试模块:包括有:
请求发起单元:客户端向服务端发起REST API请求,
底层命令调单元:判断REST API请求发起时的资源定位符,根据上述资源定位符,调用底层命令,
底层命令管理单元:根据调用的底层命令,获取操作对象名称,如果在数据库中存在与操作对象名称相同的列表,则通过数据库操作单元将底层命令转化为对应的数据库操作语言,对数据库进行操作;如果在数据库中不存在与操作对象名称相同的列表,则在实际资源对象上执行底层命令,
请求反馈单元:将底层命令的处理结果反馈到发起REST API请求的客户端。
6.根据权利要求5所述的一种测试客户端与服务端之间交互接口的系统,其特征在于,所述的预处理模块包括有:
Mock数据文件写入单元:将开发完成的REST API调用的查询类底层命令的输出结果写入Mock数据文件,
数据库写入单元:运行数据库初始化代码,将Mock数据文件中的数据写入数据库中,
数据库代码编写单元:编写操作数据库代码,实现模拟底层命令执行结果。
7.根据权利要求6所述的一种测试客户端与服务端之间交互接口的系统,其特征在于,所述底层命令管理单元中,对数据库进行操作包括:对数据库进行读取、修改、增加或删除数据的操作。
8.根据权利要求7所述的一种测试客户端与服务端之间交互接口的系统,其特征在于,所述底层命令管理单元中,实际资源对象包括实际系统或设备。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-4任一项 所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910582479.7A CN110399296B (zh) | 2019-06-29 | 2019-06-29 | 测试客户端与服务端之间交互接口的方法、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910582479.7A CN110399296B (zh) | 2019-06-29 | 2019-06-29 | 测试客户端与服务端之间交互接口的方法、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399296A CN110399296A (zh) | 2019-11-01 |
CN110399296B true CN110399296B (zh) | 2022-12-27 |
Family
ID=68323935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910582479.7A Active CN110399296B (zh) | 2019-06-29 | 2019-06-29 | 测试客户端与服务端之间交互接口的方法、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399296B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177240A (zh) * | 2019-12-13 | 2020-05-19 | 贝壳技术有限公司 | API数据导入方法、系统以及Mock数据生成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893237A (zh) * | 2015-08-04 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种测试数据驱动的方法及设备 |
CN106648964A (zh) * | 2016-10-12 | 2017-05-10 | 上海爱数信息技术股份有限公司 | 数据库备份方法及系统 |
CN109032801A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种请求调度方法、系统及电子设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10942907B2 (en) * | 2016-11-04 | 2021-03-09 | Oracle International Corporation | Safe release of database sessions for planned maintenance operations |
-
2019
- 2019-06-29 CN CN201910582479.7A patent/CN110399296B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893237A (zh) * | 2015-08-04 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种测试数据驱动的方法及设备 |
CN106648964A (zh) * | 2016-10-12 | 2017-05-10 | 上海爱数信息技术股份有限公司 | 数据库备份方法及系统 |
CN109032801A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种请求调度方法、系统及电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
分布式数据库安全代理的研究与实现;李敏;《现代电子技术》;20170801(第15期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110399296A (zh) | 2019-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491485B (zh) | 生成执行计划的方法、计划单元装置和分布式NewSQL数据库系统 | |
CN108304201B (zh) | 对象更新方法、装置及设备 | |
EP3859533A2 (en) | Method and apparatus for testing map service, electronic device, storage medium and computer program product | |
CN111930489B (zh) | 一种任务调度方法、装置、设备及存储介质 | |
CN117033249B (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
US10235223B2 (en) | High-performance computing framework for cloud computing environments | |
US20210026756A1 (en) | Deriving software application dependency trees for white-box testing | |
CN111522796A (zh) | 系统间的数据迁移方法、装置、计算机设备及介质 | |
US20230185702A1 (en) | Method and Apparatus for Generating and Applying Deep Learning Model based on Deep Learning Framework | |
CN110990108A (zh) | 应用于多语言app的词条翻译方法及装置 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN112182089A (zh) | 基于数据仓库模型的报表生成方法、装置和设备 | |
CN110399296B (zh) | 测试客户端与服务端之间交互接口的方法、系统和介质 | |
CN113297081B (zh) | 一种持续集成流水线的执行方法和装置 | |
CN113032256B (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
CN107070679A (zh) | 一种在不同平台统一发布信息的方法 | |
CN117827879A (zh) | 一种存储过程的转换方法、装置、设备及介质 | |
CN117235527A (zh) | 端到端容器化的大数据模型构建方法、装置、设备及介质 | |
CN116257226A (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN113392014B (zh) | 测试用例生成方法、装置、电子设备和介质 | |
US10509659B1 (en) | Input processing logic to produce outputs for downstream systems using configurations | |
US11797770B2 (en) | Self-improving document classification and splitting for document processing in robotic process automation | |
CN114547106A (zh) | 数据查询方法及装置、存储介质、计算机系统 | |
CN114489674A (zh) | 动态数据模型的数据校验方法和装置 | |
CN113742104A (zh) | 基于ai的rpa分身功能的生成方法及装置 |
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 |