CN111831563A - 接口自动测试方法、装置及存储介质 - Google Patents
接口自动测试方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111831563A CN111831563A CN202010656439.5A CN202010656439A CN111831563A CN 111831563 A CN111831563 A CN 111831563A CN 202010656439 A CN202010656439 A CN 202010656439A CN 111831563 A CN111831563 A CN 111831563A
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- tested
- script
- node data
- 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
Links
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
-
- 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
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
本发明涉及区块链技术,提供一种接口自动测试方法,包括:根据接收到的接口测试指令,获取与接口测试指令相对应的配置环境参数和待测试接口名称;根据配置环境参数对预设脚本进行初始化,得到初始化脚本;将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相应的接口测试方法加载至所述初始化脚本,得到运行脚本;通过执行运行脚本,对待测试接口进行接口测试。本发明能够解决现有的接口测试方法对于业务复杂、涉及参数多、校验复杂的接口不适用、使用灵活性差以及对测试用例缺少有效管理等问题。本发明还涉及区块链技术,所述预设节点数据存储于区块链中。
Description
技术领域
本发明属于区块链技术领域,尤其涉及一种接口自动测试方法、装置及计算机可读存储介质。
背景技术
接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是检查数据的交换、传递和控制管理过程,保证接口的正确性和健壮性。现在很多系统都采用前后端分离的架构,很多服务之间都通过接口来实现相互通信,对接口进行测试,可以更全面的覆盖各类测试场景,发现页面操作中可能发现不了的bug。
现有的接口测试工具,如Jmeter、Postman等适合对比较简单的、相对独立的接口进行测试,对于复杂的业务场景、多个接口组合测试支持不够,使用起来比较麻烦,也无法对测试用例进行有效的管理。
开源框架Robotframework,提供了内置关键字、UI页面编写案例等功能,适合简单接口测试,对于业务复杂、涉及参数多、校验复杂的接口,需要二次开发python脚本再封装为关键字,使用起来不灵活,且测试案例为本地文件,随着测试用例数的增加,不便于维护管理。
发明内容
基于上述现有技术中存在的问题,本发明提供一种接口自动测试方法、装置及计算机可读存储介质,其主要目的在于,通过将每个待测试接口名称匹配相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配相应的接口测试方法,在接口测试时,只需要执行运行脚本将测试用例列表中的每条测试用例依次传入测试方法执行,便可实现了一个测试方法执行多条测试用例,从而解决了现有的接口测试方法对于业务复杂、涉及参数多、校验复杂的接口不适用、使用灵活性差以及对测试用例缺少有效管理等问题。
第一方面,为实现上述目的,本发明提供一种接口自动测试方法,该方法包括:
根据接收到的接口测试指令,获取与所述接口测试指令相对应的配置环境参数和待测试接口名称;
根据所述配置环境参数对预设脚本进行初始化,得到初始化脚本;
将与所述待测试接口名称对应的预设节点数据中的测试用例列表,以及与所述预设节点数据相对应的接口测试方法加载至所述初始化脚本,得到运行脚本;
其中,每个待测试接口名称匹配有相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配有相应的接口测试方法;
通过执行所述运行脚本,对所述待测试接口进行接口测试。
第二方面,为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器、处理器,所述存储器中存储有接口自动测试程序,所述接口自动测试程序被所述处理器执行时实现如下步骤:
根据接收到的接口测试指令,获取与所述接口测试指令相对应的配置环境参数和待测试接口名称;
根据所述配置环境参数对预设脚本进行初始化,得到初始化脚本;
将与所述待测试接口名称对应的预设节点数据中的测试用例列表,以及与所述预设节点数据相对应的接口测试方法加载至所述初始化脚本,得到运行脚本;
其中,每个待测试接口名称匹配有相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配有相应的接口测试方法;
通过执行所述运行脚本,对所述待测试接口进行接口测试。
第三方面,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有接口自动测试程序,所述接口自动测试程序被处理器执行时,实现如上所述的接口自动测试方法中的任意步骤。
本发明提出的接口自动测试方法、装置及计算机可读存储介质,通过将每个待测试接口名称匹配相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配相应的接口测试方法,在接口测试时,只需要执行运行脚本,将测试用例列表中的每条测试用例依次传入测试方法执行,便可实现一个测试方法执行多条测试用例;每条测试用例都是独立的,在测试报告中独立呈现,可以清楚看到每条测试用例的传入参数和返回结果,便于对测试用例进行维护管理;测试用例与测试代码分离,便于管理。
附图说明
图1为本发明接口自动测试方法较佳实施例的流程图;
图2为本发明接口自动测试方法较佳实施例的应用环境示意图;
图3为图2中接口自动测试程序较佳实施例的模块示意图。
图4为本发明接口自动测试方法对应的系统逻辑图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种接口自动测试方法。参照图1所示,为本发明接口自动测试方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,接口自动测试方法包括:步骤S110-步骤S150。
步骤S110,根据接收到的接口测试指令,获取与接口测试指令相对应的配置环境参数和待测试接口名称。
具体地,当接收到接口测试指令时,处理器根据当前的运行环境,从配置文件中读取相应的配置环境参数,并获取传入的待测试接口名称。其中,配置环境参数包括基础配置信息,如服务器地址、端口、用户等,从而控制接口自动测试程序在指定的环境运行测试;另外,待测试接口名称从传入的测试suite(套件)处获取,根据传入的测试suite(套件)控制测试用例的执行范围,以适应不同侧重点的测试需求。
步骤S120,根据配置环境参数对预设脚本进行初始化,得到初始化脚本。
具体地,通过运行预设脚本的命令行启动预设脚本,根据传入的配置环境参数对预设脚本进行初始化配置,从而得到初始化脚本。
步骤S130,将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相对应的接口测试方法加载至初始化脚本,得到运行脚本。
其中,每个待测试接口名称匹配有相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配有相应的接口测试方法。
具体地,待测试接口的测试用例以及待测试接口的配置数据储存在yaml文件(配置文件)中,一套测试方法对应于yaml文件(配置文件)中的一个预设节点数据,该预设节点数据下配置待测试接口的多条测试用例;多条测试用例采用字典列表格式储存,从而可以实现一套测试方法执行多条测试用例,每条测试用例都是独立的,在测试报告中独立呈现,可以清楚看到每条测试用例的传入参数和返回结果,便于对测试用例进行维护管理。需要强调的是,为进一步保证上述预设节点数据的私密和安全性,上述述预设节点数据还可以存储于一区块链的节点中。
如:待测试的接口有接口1、接口2、接口3;其中,接口1需要用到的测试用例为用例1、用例2和用例8,接口2需要用到的测试用例为用例3、用例4和用例5;接口3需要用到的测试用例为用例6、用例7、用例9和用例10。
预设节点数据包括节点1和节点2,在节点1中配置测试用例列表1,测试用例列表1包括用例1、用例2、用例3、用例4、用例5和用例6;
在节点2中配置测试用例列表2,测试用例列表2包括用例7、用例8、用例9和用例10。
节点1匹配有测试方法1;节点2匹配有测试方法2;
则,接口1匹配有节点1和节点2;接口2匹配有节点1;接口3匹配有节点1和节点2;
因此,当执行接口测试时,将测试用例列表1中的用例依次传入测试方法1执行接口测试;将测试用例列表2中的用例依次传入测试方法2执行接口测试,达到一套测试方法执行多条测试用例,且每条测试用例都是独立的,在测试报告中独立呈现的效果。
作为本发明的一个优选方案,在将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相应的接口测试方法加载至初始化脚本,得到运行脚本之前,还包括:
通过在接口测试方法的头部添加装饰器,使每个预设节点数据中的测试用例列表与测试方法相关联。
具体地,通过在测试方法头部添加@pytest.mark.parametrize装饰器,根据预设节点名称从yaml文件中读取测试用例列表作为测试方法的参数,测试执行时,测试用例列表中的每条测试用例依次传入测试方法执行。
步骤S140,通过执行运行脚本,对待测试接口进行接口测试。
具体地,测试用例列表中包括多条用于待测试接口的测试用例,其中,每个测试用例包括测试目标、测试环境、输入数据、测试步骤、预期结果等,根据每个测试用例以及接口测试方法对待测试接口进行测试。其中,接口测试方法主要功能是从接口配置文件中读取接口请求地址、接口请求方式(post/get/delete等)、请求数据格式等信息,并根据传入的测试数据生成请求参数,然后发送http请求,返回接口响应信息。发送http请求底层可使用python脚本的requests模块。可通过将接口调用封装起来,这样每个测试方法不用重复写接口调用逻辑,减少了重复代码,提高了效率,也便于后续维护。
作为本发明的一个优选方案,在通过执行运行脚本,对待测试接口进行接口测试之前,还包括:
当待测试接口需要登录后进行接口测试时,向待测试接口发送接口调用请求;
根据获取的接口调用请求的授权信息,调用所述待测试接口。
具体地,为了保护待测试系统的安全,待测试系统需要登录后才可进行接口测试,则在执行待测试接口测试之前需要,先获取接口调用请求的授权信息。
作为本发明的一个优选方案,通过执行运行脚本,对待测试接口进行接口测试,包括:
将测试用例列表中各测试用例的数据填入待测试接口内,得到待执行测试接口;
根据接口测试方法,对待执行测试接口进行接口测试。
具体地,将测试目标、测试环境、输入数据、测试步骤、预期结果等数据填入待测试接口内,得到待执行测试接口,再通过相应的接口测试方法,对待执行测试接口进行接口测试。
作为本发明的一个优选方案,在通过执行运行脚本,对待测试接口进行接口测试的过程中,还包括:
检查待测试接口是否存在前置依赖接口;
如果存在前置依赖接口,依次调取前置依赖接口,并将各测试用例的数据依次从前置依赖接口中传入至待测试接口内,得到待执行测试接口。
具体地,当检查到待测试接口存在前置依赖接口,则按顺序调用依赖接口,从接口返回结果中获取需要的数据向下传递。
作为本发明的一个优选方案,在通过执行运行脚本,对待测试接口进行接口测试的过程中,还包括:
判断测试用例的数据中,是否存在关键字变量;
如果存在关键字变量,根据关键字变量获取关键字的填充数据;
将关键字的填充数据填入待测试接口内,得到待执行测试接口。
具体地,对关键字变量进行填充,有两种填充方式,一种是根据前置步骤获取的数据进行填充,另外一种是调用相应的函数获得数据进行填充。测试数据支持关键字变量,能够满足复杂的、有依赖的接口测试场景。
作为本发明的一个优选方案,在通过执行运行脚本,对待测试接口进行接口测试之后,还包括:
获取待测试接口的测试结果;
根据预设结果验证函数对测试结果进行验证;
根据验证结果,生成接口测试结果报告。
具体地,调用预先封装的结果验证函数,对接口响应进行验证。根据结果验证函数返回的结果,生成接口测试结果报告。可通过封装接口调用和接口响应验证模块,减少重复代码,易于上手,可以更快速的实现新的接口测试;可持续集成到Jenkins运行,测试报告清晰美观,报告支持详细步骤埋点,便于定位问题。
本发明提供的接口自动测试方法,应用于一种电子装置1。参照图2所示,为本发明接口自动测试方法较佳实施例的应用环境示意图。
在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置1包括:处理器12、存储器11、网络接口13及通信总线14。
存储器11包括至少一种类型的可读存储介质。至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡及卡型存储器11等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,可读存储介质也可以是电子装置1的外部存储器11,例如电子装置1上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(FlashCard)等。
在本实施例中,存储器11的可读存储介质通常用于存储安装于电子装置1的接口自动测试程序10等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行接口自动测试程序10等。
网络接口13可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置1与其它电子设备之间建立通信连接。
通信总线14用于实现上述这些组件之间的连接通信。
图2仅示出了具有组件11-14的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置1还可以包括摄像装置,摄像装置既可以是电子装置1的一部分,也可以独立于电子装置1。在一些实施例中,电子装置1为智能手机、平板电脑、便携计算机等具有摄像头的终端设备,则摄像装置即为电子装置1的摄像头。在其他实施例中,电子装置1可以为服务器,摄像装置独立于该电子装置1、与该电子装置1通过有线或者无线网络连接。例如,该摄像装置安装于特定场所,如办公场所、监控区域,对进入该特定场所的目标进行实时拍摄得到实时图像,通过网络将拍摄得到的实时图像传输至处理器12。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置1还包括触摸传感器。该触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,触摸传感器可以为单个传感器,也可为例如阵列布置的多个传感器。
此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
可选地,该电子装置1还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图2所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作系统以及接口自动测试程序10;处理器12执行存储器11中存储的接口自动测试程序10时实现如下步骤:
步骤S110、根据接收到的接口测试指令,获取与接口测试指令相对应的配置环境参数和待测试接口名称;
步骤S120、根据配置环境参数对预设脚本进行初始化,得到初始化脚本;
步骤S130、将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相对应的接口测试方法加载至初始化脚本,得到运行脚本;
其中,每个待测试接口名称匹配有相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配有相应的接口测试方法;
步骤S140、通过执行运行脚本,对待测试接口进行接口测试。
作为本发明的一个优选方案,在将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相应的接口测试方法加载至初始化脚本,得到运行脚本之前,还包括:
通过在接口测试方法的头部添加装饰器,使每个预设节点数据中的测试用例列表与测试方法相关联。需要强调的是,为进一步保证上述预设节点数据的私密和安全性,上述预设节点数据还可以存储于一区块链的节点中。
作为本发明的一个优选方案,在通过执行运行脚本,对待测试接口进行接口测试之前,还包括:
当待测试接口需要登录后进行接口测试时,向待测试接口发送接口调用请求;
根据获取的接口调用请求的授权信息,调用所述待测试接口。
作为本发明的一个优选方案,通过执行运行脚本,对待测试接口进行接口测试,包括:
将测试用例列表中各测试用例的数据填入待测试接口内,得到待执行测试接口;
根据接口测试方法,对待执行测试接口进行接口测试。
作为本发明的一个优选方案,在通过执行运行脚本,对待测试接口进行接口测试的过程中,还包括:
检查待测试接口是否存在前置依赖接口;
如果存在前置依赖接口,依次调取所述前置依赖接口,并将各测试用例的数据依次从前置依赖接口中传入至待测试接口内,得到待执行测试接口。
作为本发明的一个优选方案,在通过执行运行脚本,对待测试接口进行接口测试的过程中,还包括:
判断测试用例的数据中,是否存在关键字变量;
如果存在关键字变量,根据关键字变量获取关键字的填充数据;
将关键字的填充数据填入待测试接口内,得到待执行测试接口。
作为本发明的一个优选方案,在通过执行所述运行脚本,对待测试接口进行接口测试之后,还包括:
获取待测试接口的测试结果;
根据预设结果验证函数对测试结果进行验证;
根据验证结果,生成接口测试结果报告。
在其他实施例中,接口自动测试程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。
本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图3所示,为图2中接口自动测试程序10较佳实施例的程序模块图。所述接口自动测试程序10可以被分割为:指令接收模块110、脚本初始化模块120、加载模块130、脚本执行模块140。
所述模块110-140所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
指令接收模块110、用于根据接收到的接口测试指令,获取与接口测试指令相对应的配置环境参数和待测试接口名称。
脚本初始化模块120、用于根据配置环境参数对预设脚本进行初始化,得到初始化脚本。
加载模块130、用于将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相对应的接口测试方法加载至初始化脚本,得到运行脚本。
脚本执行模块140、用于通过执行运行脚本,对待测试接口进行接口测试。
如图4所示,此外,与上述方法相对应,本发明的实施例还提出一种接口自动测试系统400,包括:指令接收单元410、脚本初始化单元420、加载单元430、脚本执行单元440,其中,指令接收单元410、脚本初始化单元420、加载单元430和脚本执行单元440的实现功能与实施例中接口自动测试方法的步骤一一对应。
指令接收单元410、用于根据接收到的接口测试指令,获取与接口测试指令相对应的配置环境参数和待测试接口名称。
脚本初始化单元420、用于根据配置环境参数对预设脚本进行初始化,得到初始化脚本。
加载单元430、用于将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相对应的接口测试方法加载至初始化脚本,得到运行脚本。
脚本执行单元440、用于通过执行运行脚本,对待测试接口进行接口测试。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有接口自动测试程序,所述接口自动测试程序被处理器执行时实现如下操作:
根据接收到的接口测试指令,获取与接口测试指令相对应的配置环境参数和待测试接口名称;
根据配置环境参数对预设脚本进行初始化,得到初始化脚本;
将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相对应的接口测试方法加载至初始化脚本,得到运行脚本;
其中,每个待测试接口名称匹配有相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配有相应的接口测试方法;
通过执行运行脚本,对待测试接口进行接口测试。
优选地,预设节点数据存储于区块链中,在将与待测试接口名称对应的预设节点数据中的测试用例列表,以及与预设节点数据相应的接口测试方法加载至初始化脚本,得到运行脚本之前,还包括:
通过在接口测试方法的头部添加装饰器,使每个预设节点数据中的测试用例列表与测试方法相关联。
优选地,在通过执行运行脚本,对待测试接口进行接口测试之前,还包括:
当待测试接口需要登录后进行接口测试时,向待测试接口发送接口调用请求;
根据获取的接口调用请求的授权信息,调用待测试接口。
优选地,通过执行运行脚本,对待测试接口进行接口测试,包括:
将测试用例列表中各测试用例的数据填入待测试接口内,得到待执行测试接口;
根据接口测试方法,对待执行测试接口进行接口测试。
优选地,在通过执行运行脚本,对待测试接口进行接口测试的过程中,还包括:
检查待测试接口是否存在前置依赖接口;
如果存在前置依赖接口,依次调取前置依赖接口,并将各测试用例的数据依次从前置依赖接口中传入至待测试接口内,得到待执行测试接口。
优选地,在通过执行运行脚本,对待测试接口进行接口测试的过程中,还包括:
判断测试用例的数据中,是否存在关键字变量;
如果存在关键字变量,根据关键字变量获取关键字的填充数据;
将关键字的填充数据填入待测试接口内,得到待执行测试接口。
优选地,在通过执行运行脚本,对待测试接口进行接口测试之后,还包括:
获取待测试接口的测试结果;
根据预设结果验证函数对测试结果进行验证;
根据验证结果,生成接口测试结果报告。
本发明之计算机可读存储介质的具体实施方式与上述接口自动测试方法、电子装置的具体实施方式大致相同,在此不再赘述。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种接口自动测试方法,应用于电子装置,其特征在于,所述方法包括:
根据接收到的接口测试指令,获取与所述接口测试指令相对应的配置环境参数和待测试接口名称;
根据所述配置环境参数对预设脚本进行初始化,得到初始化脚本;
将与所述待测试接口名称对应的预设节点数据中的测试用例列表,以及与所述预设节点数据相对应的接口测试方法加载至所述初始化脚本,得到运行脚本;
其中,每个待测试接口名称匹配有相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配有相应的接口测试方法;
通过执行所述运行脚本,对所述待测试接口进行接口测试。
2.根据权利要求1所述的接口自动测试方法,其特征在于,所述预设节点数据存储于区块链中,在将与所述待测试接口名称对应的预设节点数据中的测试用例列表,以及与所述预设节点数据相应的接口测试方法加载至所述初始化脚本,得到运行脚本之前,还包括:
通过在所述接口测试方法的头部添加装饰器,使每个所述预设节点数据中的测试用例列表与所述测试方法相关联。
3.根据权利要求1所述的接口自动测试方法,其特征在于,在通过执行所述运行脚本,对所述待测试接口进行接口测试之前,还包括:
当待测试接口需要登录后进行接口测试时,向所述待测试接口发送接口调用请求;
根据获取的所述接口调用请求的授权信息,调用所述待测试接口。
4.根据权利要求1所述的接口自动测试方法,其特征在于,通过执行所述运行脚本,对所述待测试接口进行接口测试,包括:
将所述测试用例列表中各测试用例的数据填入所述待测试接口内,得到待执行测试接口;
根据所述接口测试方法,对所述待执行测试接口进行接口测试。
5.根据权利要求4所述的接口自动测试方法,其特征在于,在通过执行所述运行脚本,对所述待测试接口进行接口测试的过程中,还包括:
检查所述待测试接口是否存在前置依赖接口;
如果存在所述前置依赖接口,依次调取所述前置依赖接口,并将所述各测试用例的数据依次从所述前置依赖接口中传入至所述待测试接口内,得到待执行测试接口。
6.根据权利要求4所述的接口自动测试方法,其特征在于,在通过执行所述运行脚本,对所述待测试接口进行接口测试的过程中,还包括:
判断所述测试用例的数据中,是否存在关键字变量;
如果存在所述关键字变量,根据所述关键字变量获取关键字的填充数据;
将所述关键字的填充数据填入所述待测试接口内,得到待执行测试接口。
7.根据权利要求1所述的接口自动测试方法,其特征在于,在通过执行所述运行脚本,对所述待测试接口进行接口测试之后,还包括:
获取所述待测试接口的测试结果;
根据预设结果验证函数对所述测试结果进行验证;
根据验证结果,生成接口测试结果报告。
8.一种电子装置,其特征在于,该电子装置包括:存储器、处理器,所述存储器中存储有接口自动测试程序,所述接口自动测试程序被所述处理器执行时实现如下步骤:
根据接收到的接口测试指令,获取与所述接口测试指令相对应的配置环境参数和待测试接口名称;
根据所述配置环境参数对预设脚本进行初始化,得到初始化脚本;
将与所述待测试接口名称对应的预设节点数据中的测试用例列表,以及与所述预设节点数据相对应的接口测试方法加载至所述初始化脚本,得到运行脚本;
其中,每个待测试接口名称匹配有相应的预设节点数据,每个预设节点数据均包括测试用例列表,每个预设节点数据均匹配有相应的接口测试方法;
通过执行所述运行脚本,对所述待测试接口进行接口测试。
9.根据权利要求8所述的电子装置,其特征在于,在将与所述待测试接口名称对应的预设节点数据中的测试用例列表,以及与所述预设节点数据相应的接口测试方法加载至所述初始化脚本,得到运行脚本之前,还包括:
通过在所述接口测试方法的头部添加装饰器,使每个所述预设节点数据中的测试用例列表与所述测试方法相关联。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有接口自动测试程序,所述接口自动测试程序被处理器执行时,实现如权利要求1至7中任一项所述的接口自动测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010656439.5A CN111831563A (zh) | 2020-07-09 | 2020-07-09 | 接口自动测试方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010656439.5A CN111831563A (zh) | 2020-07-09 | 2020-07-09 | 接口自动测试方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111831563A true CN111831563A (zh) | 2020-10-27 |
Family
ID=72899736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010656439.5A Pending CN111831563A (zh) | 2020-07-09 | 2020-07-09 | 接口自动测试方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831563A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286806A (zh) * | 2020-10-28 | 2021-01-29 | 成都佰维存储科技有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
CN112346991A (zh) * | 2020-11-27 | 2021-02-09 | 新华三大数据技术有限公司 | 一种接口测试脚本的生成方法及装置 |
CN112395138A (zh) * | 2020-11-20 | 2021-02-23 | 北京华胜天成科技股份有限公司 | 一种校验参数的方法和装置 |
CN112463588A (zh) * | 2020-11-02 | 2021-03-09 | 北京健康之家科技有限公司 | 一种自动化测试系统及方法、存储介质、计算设备 |
CN112542200A (zh) * | 2020-12-30 | 2021-03-23 | 深圳市芯天下技术有限公司 | 非易失型闪存上电参数检查方法、装置、存储介质和终端 |
CN112699027A (zh) * | 2020-12-29 | 2021-04-23 | 平安银行股份有限公司 | 一种接口测试方法、装置、设备及可读存储介质 |
CN112882927A (zh) * | 2021-01-26 | 2021-06-01 | 北京高因科技有限公司 | 一种接口自动化测试方法、装置、设备及介质 |
CN112948252A (zh) * | 2021-03-09 | 2021-06-11 | 上海万向区块链股份公司 | 基于联盟链存储的可视化用例管理方法、系统及介质 |
CN112968812A (zh) * | 2021-02-22 | 2021-06-15 | 北京华胜天成科技股份有限公司 | 一种网络性能测试方法、装置、设备及存储介质 |
CN114116522A (zh) * | 2022-01-27 | 2022-03-01 | 四川野马科技有限公司 | 一种基于swagger进行接口自动测试的方法 |
-
2020
- 2020-07-09 CN CN202010656439.5A patent/CN111831563A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286806A (zh) * | 2020-10-28 | 2021-01-29 | 成都佰维存储科技有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
CN112286806B (zh) * | 2020-10-28 | 2023-10-03 | 成都佰维存储科技有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
CN112463588A (zh) * | 2020-11-02 | 2021-03-09 | 北京健康之家科技有限公司 | 一种自动化测试系统及方法、存储介质、计算设备 |
CN112395138A (zh) * | 2020-11-20 | 2021-02-23 | 北京华胜天成科技股份有限公司 | 一种校验参数的方法和装置 |
CN112395138B (zh) * | 2020-11-20 | 2024-04-02 | 北京华胜天成科技股份有限公司 | 一种校验参数的方法和装置 |
CN112346991B (zh) * | 2020-11-27 | 2022-03-22 | 新华三大数据技术有限公司 | 一种接口测试脚本的生成方法及装置 |
CN112346991A (zh) * | 2020-11-27 | 2021-02-09 | 新华三大数据技术有限公司 | 一种接口测试脚本的生成方法及装置 |
CN112699027A (zh) * | 2020-12-29 | 2021-04-23 | 平安银行股份有限公司 | 一种接口测试方法、装置、设备及可读存储介质 |
CN112542200A (zh) * | 2020-12-30 | 2021-03-23 | 深圳市芯天下技术有限公司 | 非易失型闪存上电参数检查方法、装置、存储介质和终端 |
CN112882927A (zh) * | 2021-01-26 | 2021-06-01 | 北京高因科技有限公司 | 一种接口自动化测试方法、装置、设备及介质 |
CN112968812A (zh) * | 2021-02-22 | 2021-06-15 | 北京华胜天成科技股份有限公司 | 一种网络性能测试方法、装置、设备及存储介质 |
CN112948252A (zh) * | 2021-03-09 | 2021-06-11 | 上海万向区块链股份公司 | 基于联盟链存储的可视化用例管理方法、系统及介质 |
CN114116522A (zh) * | 2022-01-27 | 2022-03-01 | 四川野马科技有限公司 | 一种基于swagger进行接口自动测试的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111831563A (zh) | 接口自动测试方法、装置及存储介质 | |
CN109376078B (zh) | 移动应用的测试方法、终端设备及介质 | |
CN111414407A (zh) | 数据库的数据查询方法、装置、计算机设备及存储介质 | |
CN106341381A (zh) | 管理机架服务器系统的安全金钥的方法与系统 | |
CN105577648A (zh) | 获取和发送短信验证码的方法、计算设备和移动终端 | |
CN112416458A (zh) | 基于ReactNative的预加载方法、装置、计算机设备及存储介质 | |
CN111176794A (zh) | 一种容器管理方法、装置及可读存储介质 | |
CN112039826A (zh) | 一种应用于小程序端的登录方法和装置 | |
CN109493087A (zh) | 一种基于二维码查验不动产登记信息的方法、计算机装置及计算机可读存储介质 | |
CN113536185B (zh) | 应用页面的加载方法、存储介质、及其相关设备 | |
CN112039900A (zh) | 网络安全风险检测方法、系统、计算机设备和存储介质 | |
CN105554137A (zh) | 一种备份系统及方法 | |
CN112631924A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112199622A (zh) | 页面跳转方法、系统及存储介质 | |
CN106605231A (zh) | 帐户控制 | |
CN112328486A (zh) | 接口自动化测试方法、装置、计算机设备及存储介质 | |
CN108600259B (zh) | 设备的认证和绑定方法及计算机存储介质、服务器 | |
CN113434254A (zh) | 客户端部署方法、装置、计算机设备及存储介质 | |
CN113987421A (zh) | 一种软件授权方法、系统及存储介质 | |
CN111722994A (zh) | 一种任务请求的响应方法及设备 | |
CN112083925A (zh) | 基于h5页面开发的数据获取方法、装置、设备及存储介质 | |
CN111538672A (zh) | 测试案例分层测试方法、计算机设备及计算机可读存储介质 | |
CN107315610B (zh) | 实现密码功能的方法、装置及计算机可读存储介质 | |
CN113434217B (zh) | 漏洞扫描方法、装置、计算机设备及介质 | |
CN113873450B (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 |