CN115708070A - 一种接口自动化测试方法及装置 - Google Patents

一种接口自动化测试方法及装置 Download PDF

Info

Publication number
CN115708070A
CN115708070A CN202110957872.7A CN202110957872A CN115708070A CN 115708070 A CN115708070 A CN 115708070A CN 202110957872 A CN202110957872 A CN 202110957872A CN 115708070 A CN115708070 A CN 115708070A
Authority
CN
China
Prior art keywords
test
test script
script
interface
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.)
Pending
Application number
CN202110957872.7A
Other languages
English (en)
Inventor
张鹏飞
井绪海
夏溧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Finite Element Technology Co Ltd
Original Assignee
Beijing Finite Element Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Finite Element Technology Co Ltd filed Critical Beijing Finite Element Technology Co Ltd
Priority to CN202110957872.7A priority Critical patent/CN115708070A/zh
Publication of CN115708070A publication Critical patent/CN115708070A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种接口自动化测试方法及装置,涉及自动化测试领域,所述方法包括:收集待测试软件的接口信息;根据收集到的所述接口信息,判断所述待测试软件的测试阶段;并生成对应测试阶段的测试脚本;将生成的所述测试脚本,推送到负载机;由所述负载机执行所述测试脚本对待测试软件进行测试。可以根据不同阶段的测试要求生成脚本,并通过给负载机下发指令完成自动化测试,满足敏捷开发需求。

Description

一种接口自动化测试方法及装置
技术领域
本申请涉及自动化测试领域,特别是涉及一种接口自动化测试方法及装置。
背景技术
随着互联网软件行业的高速发展,软件系统逐渐变得庞大,其业务流程变得更加复杂。软件产品的测试工作更是细分了不同阶段。现有的测试流程分为UI测试,功能测试,接口测试,压力测试;由于不同阶段用到的工具不同,导致需要大量测试人员维护多套测试脚本,测试工作难以标准化、流程化导致效率难以提升。
现有技术需要测试人员根据开发人员的接口文档,编写各个阶段的测试脚本,每次接口信息有调整均要修改测试脚本,由于后台服务众多,需要的测试人员也比较多且难以维护,而且一旦接口信息有变化,测试人员还需要调整脚本。
面对以上问题,自动化测试的需求与日俱增,更是软件测试未来的一个发展趋势。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。
根据本申请的一个方面,提供了一种接口自动化测试方法,包括:
收集待测试软件的接口信息;
根据收集到的所述接口信息,判断所述待测试软件的测试阶段;并生成对应测试阶段的测试脚本;
将生成的所述测试脚本,推送到负载机;
由所述负载机执行所述测试脚本对待测试软件进行测试。
优选地,所述接口信息包括以下至少之一:
调用地址、请求方式、请求头、请求参数、响应参数。
优选地,所述方法还包括:
监控所述负载机执行所述测试脚本的过程,如果所述测试脚本不能顺利执行,则上报报错信息;
当所述测试脚本运行后,接收负载机回传的所述测试脚本运行的状态日志信息,如果出现已知异常,按照预设的处理操作对所述已知异常进行处理,如果出现未知异常,则上报报错信息。
优选地,生成对应测试阶段的测试脚本包括:
按照swagger规范,获取所有接口信息列表的链接,将所述接口信息转换成脚本格式;或者,
根据测试脚本规范读取到所述接口信息,将所述接口信息转换成对应格式的测试脚本。
优选地,所述方法还包括:
在所述测试脚本执行完成后,生成所述测试阶段的测试报告。
优选地,所述测试阶段包括以下至少之一:
界面测试,功能测试,接口测试,压力测试。
优选地,生成对应测试阶段的测试脚本包括:
根据预置的所述测试阶段中测试常量和文件类常量生成测试脚本。
第二方面,本发明还提供一种接口自动化测试装置,包括:
采集模块,设置为收集待测试软件的接口信息;
生成模块,设置为根据收集到的所述接口信息,判断所述待测试软件的测试阶段;并生成对应测试阶段的测试脚本;
推送模块,设置为将生成的所述测试脚本,推送到负载机。
优选地,所述的装置还包括:
监测模块,设置为监控所述负载机执行所述测试脚本的过程,如果所述测试脚本不能顺利执行,则上报报错信息;
当所述测试脚本运行后,接收负载机回传的所述测试脚本运行的状态日志信息,如果出现已知异常,按照预设的处理操作对所述已知异常进行处理,如果出现未知异常,则上报报错信息。
本发明还提供一种计算设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上述的方法。
本申请的接口自动化测试方法集成了多种测试工具脚本格式,可以通过采集接口,转换测试脚本,无需人力手动维护自动化测试脚本。可以根据不同阶段的测试要求生成脚本,并通过给负载机下发指令完成自动化测试,满足敏捷开发需求。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请一个实施例的接口自动化测试方法的示意性流程图;
图2是根据本申请一个实施例的接口自动化测试方法的示意性流程图;
图3是根据本申请一个实施例的接口自动化测试装置的示意图;
图4是根据本申请实施例的第一种计算机可读存储介质的示意性结构框图;
图5是根据本申请实施例的第二种计算机可读存储介质的示意性结构框图。
具体实施方式
图1是根据本申请一个实施例的一种接口自动化测试方法,一般性的可以包括步骤S101至步骤S104:
S101、收集待测试软件的接口信息;
S102、根据收集到的所述接口信息,判断所述待测试软件的测试阶段;并生成对应测试阶段的测试脚本;
S103、将生成的所述测试脚本,推送到负载机;
S104、由所述负载机执行所述测试脚本对待测试软件进行测试。
1、如图2所示,本发明实施例中,步骤S101自动采集接口信息,无需人工编写和参与;步骤S102中,可根据不同阶段的需要,生成相应的测试脚本;步骤S103中可通过命令将测试脚本推送到远程负载机中进行自动执行。当接口信息更新后,本发明实施例可再次自动化收集更新后的接口信息,并重新进行自动化测试。本发明实施例既可以通过软件运行测试也可以在服务器上通过命令的方式进行测试,本发明实施例中,测试脚本都是遵循规范的,脚本规范都是向下兼容的,也就是说测试软件的升级只会新增规范,不会导致以前的功能不能使用,个别情况除外。规范都是统一的,对应的测试脚本就都是统一的。
本发明实施例中,所述接口信息包括以下至少之一:
调用地址、请求方式、请求头、请求参数、响应参数。
本发明实施例中,调用地址(uri)例如:http://www.baidu.com;请求方式例如post,get,delete,put等;请求头英文表示为headers;请求参数英文表示为params;响应参数英文表示为response。
本发明实施例中,所述方法还包括:
步骤S105、监控所述负载机执行所述测试脚本的过程,如果所述测试脚本不能顺利执行,则上报报错信息;
当所述测试脚本运行后,接收负载机回传的所述测试脚本运行的状态日志信息,如果出现已知异常,按照预设的处理操作对所述已知异常进行处理,如果出现未知异常,则上报报错信息。
本发明实施例中步骤S105可监控每一台负载机执行任务的状态,日志等。
测试脚本如果不能顺利执行,则会把报错信息上报,用户或者开发人员通过操作界面可以看到报错原因,这时候需要用户或者开发人员对报错原因做逐一排查,解决后,再次运行;
当测试脚本运行后,负载机会回传测试脚本运行的状态日志等信息,如果出现已知异常,会根据预设的方式进行处理操作,如果是未知异常,就需要人工对异常进行排除,解决后再次运行。
本发明实施例中步骤S102生成对应测试阶段的测试脚本包括:
按照swagger规范,获取所有接口信息列表的链接,将所述接口信息转换成脚本格式;或者,
根据测试脚本规范读取到所述接口信息,将所述接口信息转换成对应格式的测试脚本。
本发明实施例基于2种方式生成测试脚本:
第一种:要测试的web服务遵循了swagger规范,swagger规范定义了怎么描述接口信息,只要遵循swagger规范,对接口的认知就在一个层面上了,以java编程语言的springboot项目为例,集成swagger规范以后,项目会自动提供一个获取所有接口信息列表的链接,这个链接返回的信息就是上述描述的接口信息集合,本发明通过读取这些信息,将其转换成对应的测试脚本格式即可
第二种:通过上传一种软件的测试脚本,根据其脚本规范读取到接口信息后,再将其转换成其他格式的测试脚本,现有技术中都需要人工处理,极其繁琐,使用了本发明后,就可以批量执行,不容易出错。
本发明实施例中,所述方法还包括:
步骤S106、在所述测试脚本执行完成后,生成所述测试阶段的测试报告。
本发明实施例中步骤S106负载机执行完任务后,自动生成测试报告,测试报告可以推送到云端。
本发明实施例中,所述测试阶段包括以下至少之一:
界面测试,功能测试,接口测试,压力测试。
本发明实施例中,步骤S102生成对应测试阶段的测试脚本包括:
根据预置的所述测试阶段中测试常量和文件类常量生成测试脚本。
本发明实施例预先将常用的测试变量提前预置到系统中,日后只需增量更新即可。
本发明实施例可以针对多种接口信息进行采集,优先采集swagger规范的接口,也可上传已有的postman/jmeter脚本,根据脚本自动采集接口信息。
本发明实施例将测试业务中常用的变量,例如:姓名/身份证号/生日/住址/年龄等常用测试常量自动生成。也可以自动生成文件类常量,例如:头像图片,语音文件等。
本发明实施例按照采集的接口信息的要求生成不同阶段的测试脚本,目前可以支持postman脚本/jmeter脚本/swagger脚本,也可支持扩展其他类型的脚本。
本发明实施例可以将测试脚本远程推送到负载机上,进行自动执行测试任务,支持多个负载机同时执行任务。
本发明实施例可将采集到的接口信息,自动mock出一套可调用的服务,以满足敏捷开发,各端开发人员与测试人员并行完成各自的任务。
如图3所示,本发明实施例还提供一种接口自动化测试装置,包括:
采集模块,设置为收集待测试软件的接口信息;
生成模块,设置为根据收集到的所述接口信息,判断所述待测试软件的测试阶段;并生成对应测试阶段的测试脚本;
推送模块,设置为将生成的所述测试脚本,推送到负载机。
本发明实施例所述的装置,还包括:
监测模块,设置为监控所述负载机执行所述测试脚本的过程,如果所述测试脚本不能顺利执行,则上报报错信息;
当所述测试脚本运行后,接收负载机回传的所述测试脚本运行的状态日志信息,如果出现已知异常,按照预设的处理操作对所述已知异常进行处理,如果出现未知异常,则上报报错信息。
本发明实施例所述的装置,还包括:
报告模块,设置为在所述测试脚本执行完成后,生成所述测试阶段的测试报告。
本发明实施例,生成对应测试阶段的测试脚本包括:
根据预置的所述测试阶段中测试常量和文件类常量生成测试脚本。
本申请实施例还提供了一种计算设备,参照图4,该计算设备包括存储器1120、处理器1110和存储在所述存储器1120内并能由所述处理器1110运行的计算机程序,该计算机程序存储于存储器1120中的用于程序代码的空间1130,该计算机程序在由处理器1110执行时实现用于执行任一项根据本发明的方法步骤1131。
本申请实施例还提供了一种计算机可读存储介质。参照图5,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本发明的方法步骤的程序1131′,该程序被处理器执行。
本申请实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机上运行时,使得计算机执行根据本发明的方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种接口自动化测试方法,包括:
收集待测试软件的接口信息;
根据收集到的所述接口信息,判断所述待测试软件的测试阶段;并生成对应测试阶段的测试脚本;
将生成的所述测试脚本,推送到负载机;
由所述负载机执行所述测试脚本对待测试软件进行测试。
2.根据权利要求1所述的方法,其特征在于,所述接口信息包括以下至少之一:
调用地址、请求方式、请求头、请求参数、响应参数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监控所述负载机执行所述测试脚本的过程,如果所述测试脚本不能顺利执行,则上报报错信息;
当所述测试脚本运行后,接收负载机回传的所述测试脚本运行的状态日志信息,如果出现已知异常,按照预设的处理操作对所述已知异常进行处理,如果出现未知异常,则上报报错信息。
4.根据权利要求1所述的方法,其特征在于,生成对应测试阶段的测试脚本包括:
按照swagger规范,获取所有接口信息列表的链接,将所述接口信息转换成脚本格式;或者,
根据测试脚本规范读取到所述接口信息,将所述接口信息转换成对应格式的测试脚本。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
在所述测试脚本执行完成后,生成所述测试阶段的测试报告。
6.根据权利要求1至4任一所述的方法,其特征在于,所述测试阶段包括以下至少之一:
界面测试,功能测试,接口测试,压力测试。
7.根据权利要求5所述的方法,其特征在于,生成对应测试阶段的测试脚本包括:
根据预置的所述测试阶段中测试常量和文件类常量生成测试脚本。
8.一种接口自动化测试装置,包括:
采集模块,设置为收集待测试软件的接口信息;
生成模块,设置为根据收集到的所述接口信息,判断所述待测试软件的测试阶段;并生成对应测试阶段的测试脚本;
推送模块,设置为将生成的所述测试脚本,推送到负载机。
9.根据权利要求8所述的装置,其特征在于,还包括:
监测模块,设置为监控所述负载机执行所述测试脚本的过程,如果所述测试脚本不能顺利执行,则上报报错信息;
当所述测试脚本运行后,接收负载机回传的所述测试脚本运行的状态日志信息,如果出现已知异常,按照预设的处理操作对所述已知异常进行处理,如果出现未知异常,则上报报错信息。
10.一种计算设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
CN202110957872.7A 2021-08-19 2021-08-19 一种接口自动化测试方法及装置 Pending CN115708070A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110957872.7A CN115708070A (zh) 2021-08-19 2021-08-19 一种接口自动化测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110957872.7A CN115708070A (zh) 2021-08-19 2021-08-19 一种接口自动化测试方法及装置

Publications (1)

Publication Number Publication Date
CN115708070A true CN115708070A (zh) 2023-02-21

Family

ID=85212317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110957872.7A Pending CN115708070A (zh) 2021-08-19 2021-08-19 一种接口自动化测试方法及装置

Country Status (1)

Country Link
CN (1) CN115708070A (zh)

Similar Documents

Publication Publication Date Title
US12130732B2 (en) System and method for performing automated API tests
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
CN108446190B (zh) 接口测试方法及装置
CN110825619A (zh) 接口测试用例自动生成方法、装置及存储介质
CN107526676B (zh) 一种跨系统测试方法及装置
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
US10824541B1 (en) System and method for test data fabrication
CN110309039B (zh) 自动化获取应用程序日志的方法、装置、设备及存储介质
CN107451058B (zh) 一种软件开发方法和装置
CN112540924A (zh) 接口自动化测试方法、装置、设备及存储介质
CN112650688A (zh) 自动化回归测试方法、关联设备以及计算机程序产品
CN114625645A (zh) 业务测试方法、装置、电子设备以及可读存储介质
CN112527312B (zh) 一种嵌入式系统的测试方法和测试装置
CN116541270B (zh) 一种操作系统的适配验证测试方法及装置
CN116955203A (zh) 服务接口的自动化测试方法
CN112346981A (zh) 联调测试覆盖率检测方法及系统
CN116662197A (zh) 一种接口自动化测试方法、系统、计算机和可读存储介质
CN115708070A (zh) 一种接口自动化测试方法及装置
CN115185570A (zh) 基于jira系统的任务流处理方法、系统、设备、介质和计算机程序产品
CN116450511A (zh) 信息更新方法、装置、电子设备和计算机可读介质
CN115438026A (zh) 一种数据库扫描方法、装置、设备、存储介质及产品
CN117348848A (zh) 算子开发、处理方法、装置、电子设备、系统及存储介质
CN114238130A (zh) 性能测试方法、装置、设备及存储介质
CN116820975A (zh) 一种基于脚本的接口软件测试方法、系统及电子设备
CN116016270B (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