CN109558290B - 服务器、接口自动化测试方法及存储介质 - Google Patents
服务器、接口自动化测试方法及存储介质 Download PDFInfo
- Publication number
- CN109558290B CN109558290B CN201811341726.6A CN201811341726A CN109558290B CN 109558290 B CN109558290 B CN 109558290B CN 201811341726 A CN201811341726 A CN 201811341726A CN 109558290 B CN109558290 B CN 109558290B
- Authority
- CN
- China
- Prior art keywords
- test
- interface
- xml
- configuration file
- parameter
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 12
- 238000012360 testing method Methods 0.000 claims abstract description 381
- 238000004891 communication Methods 0.000 claims abstract description 80
- 238000013515 script Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 abstract description 9
- 238000000926 separation method Methods 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000010224 classification analysis Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012800 visualization 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/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及功能测试,提出一种接口自动化测试方法,包括:接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;对所述XML测试配置文件进行解析,生成接口的测试脚本;调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。能够解决接口测试过程中数据分离带来的巨大工作量,提高接口测试效率。此外,本发明还提出一种服务器和存储介质。
Description
技术领域
本发明涉及接口测试领域,尤其涉及一种服务器、接口自动化测试方法及存储介质。
背景技术
随着微服务架构的发展,接口测试变得越来越重要。这是由于系统间的通信几乎都是通过接口来进行数据的交互,甚至同一系统的前后端也需要通过接口来进行数据的传递,甚至是通过SDK包来提供服务的系统,如游戏领域、第三方依赖库(语言库、人工智能库等)、jar包服务等均需要通过接口进行交互。
目前,接口测试工具很多,但大部分是通用型工具,在接口测试过程中需要进行脚本和数据的分离,导致测试效率不高,且对于异常测试不易维护。
发明内容
有鉴于此,本发明提出一种服务器、接口自动化测试方法及存储介质,通过引入XML测试配置文件,避免脚本和数据的分离,能够提高测试效率,且便于异常测试的维护。
首先,为实现上述目的,本发明提出一种服务器,所述服务器包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的接口自动化测试程序,所述接口自动化测试程序被所述处理器执行时实现如下步骤:
A1、接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;
A2、将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;
A3、对所述XML测试配置文件进行解析,生成接口的测试脚本;
A4、调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。
优选地,在所述步骤A2中,所述预定义的XML数据结构包括通过XML语言编写的携带有接口通信参数标签语句模板和目标测试参数标签语句模板的XML配置文件。
优选地,所述步骤A3包括:
将XML测试配置文件中的接口通信参数标签语句进行解析,得到接口测试脚本的请求头;
将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点。
优选地,所述将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点的步骤包括:
解析目标测试参数标签语句中的测试用例,将所述测试用例中需要处理的数据作为接口测试脚本的请求体,将所述测试用例中的断言参数作为接口测试脚本的断言点。
优选地,所述测试接口通信参数表示接口的连接访问信息,所述目标测试参数表示测试接口的测试代码的输入,用于实现测试接口的测试场景的测试。
此外,为了实现上述目的,本发明还提出一种接口自动化测试方法,所述方法包括如下步骤:
S1、接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;
S2、将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;
S3、对所述XML测试配置文件进行解析,生成接口的测试脚本;
S4、调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。
优选地,在所述步骤S2中,所述预定义的XML数据结构包括通过XML语言编写的携带有接口通信参数标签语句模板和目标测试参数标签语句模板的XML配置文件。
优选地,所述步骤S3包括:
将XML测试配置文件中的接口通信参数标签语句进行解析,得到接口测试脚本的请求头;
将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点。
优选地,所述将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点的步骤包括:
解析目标测试参数标签语句中的测试用例,将所述测试用例中需要处理的数据作为接口测试脚本的请求体,将所述测试用例中的断言参数作为接口测试脚本的断言点。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有接口自动化测试程序,所述接口自动化测试程序可被至少一个处理器执行,以使所述至少一个处理器执行如上所述的接口自动化测试方法的步骤。
本发明所提出的服务器、接口自动化测试方法及存储介质,通过接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;对所述XML测试配置文件进行解析,生成接口的测试脚本;调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。能够解决接口测试过程中数据分离带来的巨大工作量,提高接口测试效率。
附图说明
图1是本发明提出的服务器一可选的硬件架构的示意图;
图2是本发明服务器一实施例中接口自动化测试的程序模块示意图;
图3是本发明接口自动化测试方法较佳实施例的实施流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明提出的服务器一可选的硬件架构示意图。本实施例中,服务器10可包括,但不仅限于,可通过通信总线14相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-14的服务器10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11至少包括一种类型的计算机可读存储介质,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器11可以是服务器10的内部存储单元,例如服务器10的硬盘或内存。在另一些实施例中,存储器11也可以是服务器10的外包存储设备,例如服务器10上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器11还可以既包括服务器10的内部存储单元也包括其外包存储设备。本实施例中,存储器11通常用于存储安装于服务器10的操作系统和各类应用软件,例如接口自动化测试程序等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。处理器12通常用于控制服务器10的总体操作。本实施例中,处理器12用于运行存储器11中存储的程序代码或者处理数据,例如运行的接口自动化测试程序等。
网络接口13可包括无线网络接口或有线网络接口,网络接口13通常用于在服务器10与其他电子设备之间建立通信连接。
通信总线14用于实现组件11-13之间的通信连接。
图1仅示出了具有组件11-14以及接口自动化测试的服务器10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,服务器10还可以包括用户接口(图1中未示出),用户接口可以包括显示器、输入单元比如键盘,其中,用户接口还可以包括标准的有线接口、无线接口等。
可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED触摸器等。进一步地,显示器也可称为显示屏或显示单元,用于显示在服务器10中处理信息以及用于显示可视化的用户界面。
可选地,在一些实施例中,服务器10还可以包括音频单元(音频单元图1中未示出),音频单元可以在服务器10处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将接收的或者存储的音频数据转换为音频信号;进一步地,服务器10还可以包括音频输出单元,音频输出单元将音频单元转换的音频信号输出,而且音频输出单元还可以提供与服务器10执行的特定功能相关的音频输出(例如呼叫信号接收声音、消息接收声音等等),音频输出单元可以包括扬声器、蜂鸣器等等。
可选地,在一些实施例中,服务器10还可以包括警报单元(图中未示出),警报单元可以提供输出已将事件的发生通知给服务器10。典型的事件可以包括呼叫接收、消息接收、键信号输入、触摸输入等等。除了音频或者视频输出之外,警报单元可以以不同的方式提供输出以通知事件的发生。例如,警报单元可以以震动的形式提供输出,当接收到呼叫、消息或一些其他可以使服务器10进入通信模式时,警报单元可以提供触觉输出(即,振动)以将其通知给用户。
在一实施例中,存储器11中存储的接口自动化测试程序被处理器12执行时,实现如下操作:
A1,接收接口测试请求,所述测试请求包括测试接口通信参数和目标测试参数;
具体地,当需要进行接口测试时,服务器会接收到测试请求,测试请求中包括测试接口通信参数和目标测试参数。测试接口通信参数包括接口通信协议类型、接口通信模式和数据传输格式中的至少一种,用来表示接口的连接访问信息;目标测试参数用来表示测试接口的测试代码的输入,用于实现测试接口的测试场景的测试。
A2,将所述测试接口通信参数和所述目标测试参数分别代入预定义的
XML数据结构,生成XML测试配置文件;
具体地,XML(Extensible Markup Language,可扩展标记语言)是一种用于标记文件使其具有结构性的标记语言,所述预定义的XML数据结构包括通过XML语言编写的携带有接口通信参数标签语句模板和目标测试参数标签语句模板的XML配置文件。
进一步地,所述预定义的xml数据结构的编写规则包括:
1)编写所述接口通信参数标签语句模板,包括开始标签和结束标签;所述接口通信参数标签语句模板包括各通信参数的标签;例如通信协议类型标签、接口通信模式标签和数据传输格式标签等,具体地,涉及到接口名称需填写接口的中文名称;涉及到接口连接信息的域名和路径则根据不同的通信环境填写;涉及到接口方法名称则填写该接口定义的准确的名称等。
2)所述目标测试参数标签语句模板由测试用例标签组成,每条测试用例使用“testcase”标签来表示(“<testcase>,</testcase>”),而测试用例标签下面又分为“data”目标测试参数和“assert”断言参数,“data”标签下以“键值对”形式表示需要填写接口的测试参数与值,断言参数需要根据接口实际响应返回的情况正常填写;通常设置有多条测试用例对应的多个“testcase”标签,进一步地,欲构造目标测试参数传参key为空时,则直接不写目标测试参数的标签即可,不用像现有技术中的方式独立建立一个接口测试脚本,使用极其方便。
进一步地,所述预定义的XML数据结构还包括嵌套规则标签,这是由于目前的接口测试工具通常支持三层嵌套(共四层数据),在XML数据结构中在需要嵌套的标签语句中加属性type=“object”和isBatchQuantity="yes"(嵌套的支持批量填写yes,不支持批量填no),其中第一层嵌套数据需要填写在XML数据结构中“OneBatchQuantity”元素标签下,第二层嵌套数据需要填写在XML数据结构中“TwoBatchQuantity”元素标签下,第三层嵌套数据需要填写在XML数据结构中“ThreeBatchQuantity”元素标签下,并在该标签下填写嵌套的各个参数键值对。例如,在一实施方式中,假设生成的XML测试配置文件的名称为“getAccessToken.xml”,对应的数据结构如下:
本实施例中,XML的第一行为xml的声明语句,通常声明语句前面没有空格,若构造业务参数传参key为空时,则直接不写业务参数的标签即可,不需要独立建立一个接口测试脚本,极其方便。
A3、对所述XML测试配置文件进行解析,生成接口测试脚本;
具体地,所述对所述XML测试配置文件进行解析,生成测试脚本的步骤包括:
将XML测试配置文件中的接口通信参数标签语句进行解析,得到接口测试脚本的请求头;
将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点。
例如,在本实施例的一实施方式中,将XML测试配置文件中的接口通信参数标签语句中的接口通信参数进行拼接(interfacemethod+interfacename+interfaceservername+interfacepath),以得到对应的唯一键,将该唯一键作为接口测试脚本的请求头。
需要说明的是,XML测试配置文件中的接口通信标签语句的标签名以及主要标签名不可更改,基于这几个固定标签名进行分类解析,如标签名以interface开头的则视为接口通信标签,其解析结果直接组装成接口测试脚本的主体,所述接口测试脚本的主体即为请求头。
进一步地,将XML测试配置文件中的目标测试参数标签语句进行解析,具体的,解析目标测试参数标签语句中的testcase(测试用例),其解析结果作为接口测试脚本的请求体和断言点。具体地,将Testcase中的data(需要处理的数据,目标测试参数)和assert(断言点参数)标签,当存在多个testcase时,视为接口通信标签不变,基于多个testcase生成不同的请求体和断言点。
进一步地,当testcase中存在多层嵌套标签时,则进行多层嵌套解析,依次获取每一层嵌套的标签名和值,并进行包装传递。
A4、调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。
由上述事实例可知,本发明提出的服务器,通过接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;对所述XML测试配置文件进行解析,生成接口的测试脚本;调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。能够解决接口测试过程中数据分离带来的巨大工作量,提高接口测试效率。
此外,本发明的接口自动化测试依据其各部分所实现的功能不同,可用具有相同功能的程序模块进行描述。请参阅图2所示,是本发明服务器一实施例中接口自动化测试的程序模块示意图。本实施例中,接口自动化测试依据其各部分所实现的功能的不同,可以被分割成接收模块201、第一生成模块202、第二生成模块203、测试模块204以及确定模块205。由上面的描述可知,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述接口自动化测试程序在服务器10中的执行过程。所述模块201-204所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
接收模块201用于接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;
第一生成模块202用于将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;
第二生成模块203用于对所述XML测试配置文件进行解析,生成接口的测试脚本;
测试模块204用于调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。
此外,本发明还提出一种接口自动化测试方法,请参阅图3所示,所述接口自动化测试方法包括如下步骤:
S301,接收接口测试请求,所述测试请求包括测试接口通信参数和目标测试参数;
具体地,当需要进行接口测试时,服务器会接收到测试请求,测试请求中包括测试接口通信参数和目标测试参数。测试接口通信参数包括接口通信协议类型、接口通信模式和数据传输格式中的至少一种,用来表示接口的连接访问信息;目标测试参数用来表示测试接口的测试代码的输入,用于实现测试接口的测试场景的测试。
S302,将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;
具体地,XML(Extensible Markup Language,可扩展标记语言)是一种用于标记文件使其具有结构性的标记语言,所述预定义的XML数据结构包括通过XML语言编写的携带有接口通信参数标签语句模板和目标测试参数标签语句模板的XML配置文件。
进一步地,所述预定义的xml数据结构的编写规则包括:
1)编写所述接口通信参数标签语句模板,包括开始标签和结束标签;所述接口通信参数标签语句模板包括各通信参数的标签;例如通信协议类型标签、接口通信模式标签和数据传输格式标签等,具体地,涉及到接口名称需填写接口的中文名称;涉及到接口连接信息的域名和路径则根据不同的通信环境填写;涉及到接口方法名称则填写该接口定义的准确的名称等。
2)所述目标测试参数标签语句模板由测试用例标签组成,每条测试用例使用“testcase”标签来表示(“<testcase>,</testcase>”),而测试用例标签下面又分为“data”目标测试参数和“assert”断言参数,“data”标签下以“键值对”形式表示需要填写接口的测试参数与值,断言参数需要根据接口实际响应返回的情况正常填写;通常设置有多条测试用例对应的多个“testcase”标签,进一步地,欲构造目标测试参数传参key为空时,则直接不写目标测试参数的标签即可,不用像现有技术中的方式独立建立一个接口测试脚本,使用极其方便。
进一步地,所述预定义的XML数据结构还包括嵌套规则标签,这是由于目前的接口测试工具通常支持三层嵌套(共四层数据),在XML数据结构中在需要嵌套的标签语句中加属性type=“object”和isBatchQuantity="yes"(嵌套的支持批量填写yes,不支持批量填no),其中第一层嵌套数据需要填写在XML数据结构中“OneBatchQuantity”元素标签下,第二层嵌套数据需要填写在XML数据结构中“TwoBatchQuantity”元素标签下,第三层嵌套数据需要填写在XML数据结构中“ThreeBatchQuantity”元素标签下,并在该标签下填写嵌套的各个参数键值对。例如,在一实施方式中,假设生成的XML测试配置文件的名称为“getAccessToken.xml”,对应的数据结构如下:
本实施例中,XML的第一行为xml的声明语句,通常声明语句前面没有空格,若构造业务参数传参key为空时,则直接不写业务参数的标签即可,不需要独立建立一个接口测试脚本,极其方便。
S303,对所述XML测试配置文件进行解析,生成接口测试脚本;
具体地,所述对所述XML测试配置文件进行解析,生成测试脚本的步骤包括:
将XML测试配置文件中的接口通信参数标签语句进行解析,得到接口测试脚本的请求头;
将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点。
例如,在本实施例的一实施方式中,将XML测试配置文件中的接口通信参数标签语句中的接口通信参数进行拼接(interfacemethod+interfacename+interfaceservername+interfacepath),以得到对应的唯一键,将该唯一键作为接口测试脚本的请求头。
需要说明的是,XML测试配置文件中的接口通信标签语句的标签名以及主要标签名不可更改,基于这几个固定标签名进行分类解析,如标签名以interface开头的则视为接口通信标签,其解析结果直接组装成接口测试脚本的主体,所述接口测试脚本的主体即为请求头。
进一步地,将XML测试配置文件中的目标测试参数标签语句进行解析,具体的,解析目标测试参数标签语句中的testcase(测试用例),其解析结果作为接口测试脚本的请求体和断言点。具体地,将Testcase中的data(需要处理的数据,目标测试参数)和assert(断言点参数)标签,当存在多个testcase时,视为接口通信标签不变,基于多个testcase生成不同的请求体和断言点。
进一步地,当testcase中存在多层嵌套标签时,则进行多层嵌套解析,依次获取每一层嵌套的标签名和值,并进行包装传递。
S304,调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。
由上述事实例可知,本发明提出的接口自动化测试方法,通过接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;对所述XML测试配置文件进行解析,生成接口的测试脚本;调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。能够解决接口测试过程中数据分离带来的巨大工作量,提高接口测试效率。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有接口自动化测试程序,所述接口自动化测试程序被处理器执行时实现如下操作:
接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;
将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;
对所述XML测试配置文件进行解析,生成接口的测试脚本;
调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于所述测试结果输出测试报告。
本发明计算机可读存储介质的具体实施过程,与上述服务器以及接口自动化测试方法的具体实施过程类似,在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种接口自动化测试服务器,其特征在于,所述服务器包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的接口自动化测试程序,所述接口自动化测试程序被所述处理器执行时实现如下步骤:
A1、接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;
A2、将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;
A3、对所述XML测试配置文件进行解析,生成接口的测试脚本;
A4、调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于测试结果输出测试报告;
其中,所述步骤A3包括:将XML测试配置文件中的接口通信参数标签语句进行解析,得到接口测试脚本的请求头;将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点;
所述将XML测试配置文件中的接口通信参数标签语句进行解析,得到接口测试脚本的请求头的步骤包括:将XML测试配置文件中的接口通信参数标签语句中的接口通信参数进行拼接,以得到对应的唯一键,将该唯一键作为接口测试脚本的请求头;
所述将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点的步骤包括:解析目标测试参数标签语句中的测试用例,将所述测试用例中需要处理的数据作为接口测试脚本的请求体,将所述测试用例中的断言参数作为接口测试脚本的断言点。
2.如权利要求1所述的服务器,其特征在于,在所述步骤A2中,所述预定义的XML数据结构包括通过XML语言编写的携带有接口通信参数标签语句模板和目标测试参数标签语句模板的XML配置文件。
3.如权利要求1-2任一所述的服务器,其特征在于,所述测试接口通信参数表示接口的连接访问信息,所述目标测试参数表示测试接口的测试代码的输入,用于实现测试接口的测试场景的测试。
4.一种接口自动化测试方法,其特征在于,所述方法包括如下步骤:
S1、接收接口测试请求,测试请求包括测试接口通信参数和目标测试参数;
S2、将所述测试接口通信参数和所述目标测试参数分别代入预定义的XML数据结构,生成XML测试配置文件;
S3、对所述XML测试配置文件进行解析,生成接口的测试脚本;
S4、调用与所述测试脚本对应的测试工具,触发所述测试脚本进行接口测试,并基于测试结果输出测试报告;
其中,所述步骤S3包括:将XML测试配置文件中的接口通信参数标签语句进行解析,得到接口测试脚本的请求头;将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点;
所述将XML测试配置文件中的接口通信参数标签语句进行解析,得到接口测试脚本的请求头的步骤包括:将XML测试配置文件中的接口通信参数标签语句中的接口通信参数进行拼接,以得到对应的唯一键,将该唯一键作为接口测试脚本的请求头;
所述将所述XML测试配置文件中的目标测试参数标签语句进行解析,得到接口测试脚本的请求体和断言点的步骤包括:解析目标测试参数标签语句中的测试用例,将所述测试用例中需要处理的数据作为接口测试脚本的请求体,将所述测试用例中的断言参数作为接口测试脚本的断言点。
5.如权利要求4所述的接口自动化测试方法,其特征在于,在所述步骤S2中,所述预定义的XML数据结构包括通过XML语言编写的携带有接口通信参数标签语句模板和目标测试参数标签语句模板的XML配置文件。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有接口自动化测试程序,所述接口自动化测试程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求4-5中任一项所述的接口自动化测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811341726.6A CN109558290B (zh) | 2018-11-12 | 2018-11-12 | 服务器、接口自动化测试方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811341726.6A CN109558290B (zh) | 2018-11-12 | 2018-11-12 | 服务器、接口自动化测试方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558290A CN109558290A (zh) | 2019-04-02 |
CN109558290B true CN109558290B (zh) | 2023-06-02 |
Family
ID=65866334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811341726.6A Active CN109558290B (zh) | 2018-11-12 | 2018-11-12 | 服务器、接口自动化测试方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558290B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287069B (zh) * | 2019-05-21 | 2023-08-22 | 平安银行股份有限公司 | Esb接口自动化测试方法、服务器及计算机可读存储介质 |
CN110427188B (zh) * | 2019-08-02 | 2023-06-09 | 深圳前海微众银行股份有限公司 | 单测断言程序的配置方法、装置、设备及存储介质 |
CN111181805B (zh) * | 2019-12-25 | 2022-04-29 | 航天信息股份有限公司 | 一种基于测试用例的微服务测试挡板生成方法及系统 |
CN111352836A (zh) * | 2020-02-25 | 2020-06-30 | 香港乐蜜有限公司 | 一种压力测试方法及相关装置 |
CN111581083B (zh) * | 2020-04-26 | 2024-02-09 | 抖音视界有限公司 | 一种接口测试方法、装置、电子设备及存储介质 |
CN111679968A (zh) * | 2020-04-28 | 2020-09-18 | 平安普惠企业管理有限公司 | 接口调用异常的检测方法、装置、计算机设备及存储介质 |
CN111694733A (zh) * | 2020-05-22 | 2020-09-22 | 五八有限公司 | 一种软件开发工具包sdk的api测试方法以及测试装置 |
CN111694749A (zh) * | 2020-06-24 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 接口自动测试方法、装置、计算机设备及可读存储介质 |
CN111859830A (zh) * | 2020-06-30 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种验证计划及报告的生成方法、装置、设备及存储介质 |
CN112000581B (zh) * | 2020-08-31 | 2022-05-03 | 威创集团股份有限公司 | 一种用于Cocos2D框架软件的测试方法和工具 |
CN112131127B (zh) * | 2020-09-28 | 2024-04-16 | 北京同邦卓益科技有限公司 | 接口测试方法、装置、系统及电子设备 |
CN112699020A (zh) * | 2020-12-11 | 2021-04-23 | 浙江中控技术股份有限公司 | 一种工业实时数据库api接口测试方法 |
CN113590464A (zh) * | 2021-06-24 | 2021-11-02 | 北京邮电大学 | 一种接口测试模板脚本生成的方法与装置 |
CN116756046B (zh) * | 2023-08-16 | 2023-11-03 | 湖南长银五八消费金融股份有限公司 | 一种接口自动化测试方法、装置、设备及存储介质 |
CN118394663A (zh) * | 2024-06-25 | 2024-07-26 | 深圳华锐分布式技术股份有限公司 | 通用接口自动化测试方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488085A (zh) * | 2008-01-17 | 2009-07-22 | 中兴通讯股份有限公司 | 软件接口测试方法和装置 |
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN104035859A (zh) * | 2013-03-07 | 2014-09-10 | 腾讯科技(深圳)有限公司 | 一种可视化自动测试方法及其系统 |
CN107391379A (zh) * | 2017-07-28 | 2017-11-24 | 武汉斗鱼网络科技有限公司 | 接口自动测试方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080295076A1 (en) * | 2007-05-23 | 2008-11-27 | Microsoft Corporation | Graphical user interface testing |
-
2018
- 2018-11-12 CN CN201811341726.6A patent/CN109558290B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488085A (zh) * | 2008-01-17 | 2009-07-22 | 中兴通讯股份有限公司 | 软件接口测试方法和装置 |
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN104035859A (zh) * | 2013-03-07 | 2014-09-10 | 腾讯科技(深圳)有限公司 | 一种可视化自动测试方法及其系统 |
CN107391379A (zh) * | 2017-07-28 | 2017-11-24 | 武汉斗鱼网络科技有限公司 | 接口自动测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109558290A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558290B (zh) | 服务器、接口自动化测试方法及存储介质 | |
CN109634841B (zh) | 电子装置、接口自动化测试方法及存储介质 | |
CN109857506B (zh) | 引导信息的实现方法、装置、电子设备和存储介质 | |
CN111722935B (zh) | 页面端与原生端的通信方法、装置、电子设备及可读介质 | |
CN112684968A (zh) | 页面展示方法、装置、电子设备和计算机可读介质 | |
CN111240684A (zh) | 一种js代码的裁剪方法、装置、介质和电子设备 | |
CN109284198A (zh) | 一种校验数据的方法和装置 | |
CN112631590B (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
CN110389899B (zh) | 检测js程序的api数据类型的方法装置、介质和设备 | |
CN113050984A (zh) | 资源调取方法、装置、电子设备及存储介质 | |
CN110287093A (zh) | 移动终端、数据接口测试方法及存储介质 | |
CN114116078A (zh) | 基于微前端的应用数据处理方法、装置、设备及介质 | |
CN113836014A (zh) | 一种接口测试方法、装置、电子设备和存储介质 | |
CN111752820B (zh) | gRPC接口的压力测试方法、计算机设备和存储介质 | |
CN117407048B (zh) | 一种插件化数据处理软件的流程配置方法及系统 | |
CN112182160B (zh) | 一种日志数据处理方法、装置、存储介质及电子设备 | |
CN101964742B (zh) | 一种网络开放能力使用方法、系统和装置 | |
CN110489326B (zh) | 基于ids的httpapi调试方法装置、介质和设备 | |
CN111083145A (zh) | 消息发送方法、装置及电子设备 | |
CN111209739A (zh) | 电子表单、电子表单的校验方法、电子设备、及存储介质 | |
CN110191013A (zh) | 电子装置、多资方接口的Mock测试方法及存储介质 | |
CN115904317A (zh) | 一种前后端接口统一调用方法、装置、设备及存储介质 | |
CN113296771B (zh) | 页面显示方法、装置、设备和计算机可读介质 | |
CN112379967B (zh) | 模拟器检测方法、装置、设备及介质 | |
CN111400058B (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 |