CN111240958A - 一种接口测试方法、装置、电子设备及介质 - Google Patents

一种接口测试方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN111240958A
CN111240958A CN201911229396.6A CN201911229396A CN111240958A CN 111240958 A CN111240958 A CN 111240958A CN 201911229396 A CN201911229396 A CN 201911229396A CN 111240958 A CN111240958 A CN 111240958A
Authority
CN
China
Prior art keywords
frame
request
packaged
assertion
framework
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
CN201911229396.6A
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 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information 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 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201911229396.6A priority Critical patent/CN111240958A/zh
Publication of CN111240958A publication Critical patent/CN111240958A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

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

本发明公开了一种接口测试方法、装置、电子设备及介质。所述方法包括:对Rest‑Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于接口测试的自定义框架,采用被封装在所述自定义框架中的请求方法,向待测试接口提供请求参数,并获取待测试接口基于请求参数的返回值,采用被封装在自定义框架中的断言方法,对返回值进行验证,得到验证结果,采用被封装在自定义框架中的注解方法生成测试报告的配置信息,根据验证结果和配置信息生成测试报告,从而将Rest‑Assured框架和TestNG框架结合,封装出简单通用的自定义框架,既实现了待测试接口的执行,又实现了通过断言来验证,节省了单独使用现有测试框架的开发成本。

Description

一种接口测试方法、装置、电子设备及介质
技术领域
本发明涉及数据处理技术领域,特别是涉及一种接口测试方法、一种接口测试装置、一种电子设备及一种计算机可读存储介质。
背景技术
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口一般分为两种:程序内部的接口和系统对外的接口。其中,系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。
现有的接口测试技术为代码层面的测试,而接口测试过程繁琐,现有的测试框架不够灵活,使用现有的测试框架进行接口测试的开发成本较高。
发明内容
鉴于上述问题,提出了一种接口测试方法、装置、电子设备及计算机可读存储介质,以解决现有的测试框架不够灵活,使用现有的测试框架进行接口测试的开发成本较高的问题。
依据本发明的一个方面,提供了一种接口测试方法,包括:
对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于接口测试的自定义框架;
采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值;
采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果;
采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告。
可选地,所述自定义框架包括封装的测试用例基类、封装的测试用例执行结果基类、封装的请求方法枚举类、封装的断言方法枚举类、封装的用于测试报告生成的注解方法类、封装的所述Rest-Assured框架和TestNG框架的测试用例执行方法类;
所述对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于所述接口测试的自定义框架还包括:
对所述测试用例基类、测试用例执行结果基类、所述Rest-Assured框架和TestNG框架的测试用例执行方法类进行封装。
可选地,所述对Rest-Assured框架的请求方法、TestNG框架的断言方法进行封装包括:
将所述Rest-Assured框架的多种请求方法封装为请求方法枚举类;
将所述TestNG框架的多种断言方法封装为断言方法枚举类。
可选地,在所述采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告之后,所述方法还包括:
采用封装的测试用例执行结果对象,提供所述测试报告。
依据本发明的另一个方面,提供了一种接口测试装置,包括:
封装模块,用于对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于接口测试的自定义框架;
请求模块,用于采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值;
断言模块,用于采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果;
报告生成模块,用于采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告。
可选地,所述自定义框架包括封装的测试用例基类、封装的测试用例执行结果基类、封装的请求方法枚举类、封装的断言方法枚举类、封装的测试报告生成方法类、封装的所述Rest-Assured框架和TestNG框架的测试用例执行方法类;
所述封装模块,还用于对所述测试用例基类、测试用例执行结果基类、测试报告生成方法类、所述Rest-Assured框架和TestNG框架的测试用例执行方法类进行封装。
可选地,所述封装模块包括:
请求封装子模块,用于将所述Rest-Assured框架的多种请求方法封装为请求方法枚举类;
断言封装子模块,用于将所述TestNG框架的多种断言方法封装为断言方法枚举类。
可选地,所述装置还包括:
报告提供模块,用于在所述采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告之后,采用封装的测试用例执行结果对象,提供所述测试报告。
依据本发明的另一个方面,提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的接口测试方法。
依据本发明的另一个方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的接口测试方法。
综上所述,依据本发明实施例,通过对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于所述接口测试的自定义框架,采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值,采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果,采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告,从而将Rest-Assured框架和TestNG框架结合,封装出简单通用的自定义框架,既实现了待测试接口的执行,又实现了通过断言来验证,节省了单独使用现有测试框架的开发成本。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一中的一种接口测试方法的流程图;
图2示出了本发明实施例二中的一种接口测试方法的流程图;
图3示出了本发明实施例三中的一种接口测试装置的结构框图;
图4示出了本发明实施例提供的一种电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了本发明实施例一中的一种接口测试方法的流程图,具体可以包括:
步骤101,对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于接口测试的自定义框架。
Rest-Assured(Representational State Transfer-Assured,表述性状态传递测试框架)框架是一种基于REST服务测试的Java DSL(针对某一领域,具有受限表达性的一种计算机程序设计语言),可以简化在HTTP Builder(一种网络请求/响应生成器)之上构建的测试和验证REST服务的过程。Rest-Assured框架支持发送POST,GET,PUT,DELETE,OPTIONS,PATCH和HEAD请求,并且可以验证请求的相关信息。
TestNG(Test Next Generation,下一代测试)框架是一个开源自动化测试框架,它引入了许多新的创新功能,如依赖测试,分组概念,使测试更强大,更容易做到,涵盖所有类别的测试:单元,功能,端到端,集成等。
在本发明实施例中,Rest-Assured框架提供了多种请求方法,请求方法用于表明要对给定资源执行的操作,指示针对给定资源要执行的期望动作。具体可以包括任意适用的多种请求方法,本发明实施例对此不做限制。
例如,GET请求,用于请求指定的页面信息,并返回实体主体;HEAD请求,类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头;POST请求,用于向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改;PUT请求,用于从客户端向服务器传送的数据取代指定的文档的内容;DELETE请求,用于服务器删除指定的页面;CONNECT请求,为HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器;OPTIONS请求,用于允许客户端查看服务器的性能;TRACE请求,用于回显服务器收到的请求,主要用于测试或诊断;PATCH请求是对PUT方法的补充,用来对已知资源进行局部更新。
在本发明实施例中,TestNG框架提供了多种断言方法,断言方法用于判断待测试接口执行完成后的实际结果是否与预期结果一致。TestNG框架提供的断言方法分为两种:软断言和硬断言。在TestNG中,Assert类为硬断言,里面有多个静态方法被称为硬断言,特点就是,如果脚本运行断言失败,马上停止运行,后面代码将不会被执行。在TestNG中,SoftAssert类为软断言,特点是如果运行断言失败,不会停止运行,会继续执行这个断言下的其他语句或者断言,不影响其他断言的运行。具体可以包括任意适用的多种断言方法,本发明实施例对此不做限制。
例如,assertTrue断言方法用于判断是否为True;assertFalse断言方法用于判断是否为false;assertSame断言方法用于判断引用地址是否相同;assertNotSame断言方法用于判断引用地址是否不相同;assertNull断言方法用于判断是否为null;assertNotNull断言方法用于判断是否不为null;assertEquals断言方法用于判断是否相等,Object类型的对象需要实现haseCode及equals方法;assertNotEquals断言方法用于判断是否不相等;assertEqualsNoOrder断言方法用于判断忽略顺序是否相等。
在本发明实施例中,TestNG框架提供注解方法,注解方法是一种元数据,能够被脚本编译所识别,起到一定的控制作用。具体可以包括任意适用的注解方法,本发明实施例对此不做限制。
例如,@BeforeSuite注解的方法将只运行一次,运行所有测试前此套件中;@AfterClass注解的方法将只运行一次后已经运行在当前类中的所有测试方法;@BeforeTest注解的方法将被运行之前的任何测试方法属于内部类的标签的运行;@BeforeGroups组的列表,这种配置方法将之前运行;@BeforeMethod注解的方法将每个测试方法之前运行。
在本发明实施例中,为了结合Rest-Assured框架和TestNG框架,得到自定义框架来用于接口测试,需要对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装。在面向对象程式设计方法中,封装(Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。封装是将对象运行所需的资源封装在程序对象中,基本上,是方法和数据。对象是“公布其接口”。其他附加到这些接口上的对象不需要关心对象实现的方法即可使用这个对象。
在本发明实施例中,自定义框架是为了解决接口测试而开发的产品,框架用户一般只需要使用框架提供的类或函数,即可实现全部功能。通过封装Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法,即可以封装出自定义框架。后续就可以采用封装的请求方法、断言方法和注解方法执行接口测试。
步骤102,采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值。
在本发明实施例中,待测试接口为软件接口,软件接口可以为应用程序接口、人与软件之间的交互界面等,或者其他任意适用的软件接口,本发明实施例并不对上述软件接口的具体类型进行限定,只要属于软件接口的范畴,都可以采用本说明书实施例所提供的方法进行接口测试。
在本发明实施例中,自定义框架可以执行一套完整的测试流程,例如,可以包括数据准备、结果校验、数据清理等多个测试流程。自定义框架中封装有Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法。在对待测试接口进行接口测试的过程中,采用被封装在所述自定义框架中的Rest-Assured框架的请求方法,向待测试接口提供请求参数。
其中,请求参数即提供给接口的待执行参数,采用请求方法向待测试接口发送请求,将请求参数提供给待测试接口,待测试接口基于请求参数产生返回值并返回。返回值可以是基本类型的返回值,例如:布尔型、字符型、字节或整型等,也可以是拓展类型的返回值,即:返回值是一个对象。类和对象是面向对象编程技术中的最基本的概念。类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象是具有类类型的变量,即:类的一个实例对象。
例如,利用自定义框架对某应用程序的登录接口进行测试,则一般登录过程包括用户名输入、密码输入等,一个简单的测试用例可以包括两组请求参数,一组请求参数为用户正常登录的用户名以及密码,另一组请求参数为密码错误拒绝登录的用户名以及密码,采用被封装在所述自定义框架中的请求方法将请求参数提供给登录接口,并获取登录接口基于请求参数的返回值,若登录接口是正常的,那么用户正常登录时,返回值包括会话标识,密码错误拒绝登录时,返回值包括密码错误的提示消息。
步骤103,采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果。
在本发明实施例中,被封装在自定义框架中的断言方法,即TestNG框架的断言方法,通过提供请求参数给待测试接口后获取的返回值、和期望的返回值,进行接口测试中的断言验证处理,得到验证结果。
例如,TestNG框架的assertEquals断言方法,该方法可以判断actualValue(实际值)与expectedValue(期望值)是否一致,如果两者不一致,则会抛出java.lang.AssertionError错误,打印出message(如果参数中有message的话),并跳出这个测试方法。
步骤104,采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告。
在本发明实施例中,TestNG框架提供很多注解方法,采用被封装在自定义框架中的注解方法进行配置,生成测试报告的配置信息,根据验证结果和配置信息可以生成测试报告。TestNG框架默认情况下,会生产两种类型的测试报告HTML(Hyper Text MarkupLanguage,超文本标记语言)的和XML(eXtensible Markup Language,可扩展标记语言)的。测试报告位于"test-output"目录下。TestNG框架的还允许用户自己写的报告,并用它使用TestNG框架。还有一个选项来写你自己的记录器,在运行时通过TestNG框架的通知。具体可以采用注解方法对记录器进行配置,并生成配置信息,配置测试报告展示哪些信息,以及信息的展现形式等,或者其他任意适用的配置,本发明实施例对此不做限制。然后根据验证结果和配置信息,可以生成测试报告。
综上所述,依据本发明实施例,通过对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于所述接口测试的自定义框架,采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值,采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果,采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告,从而将Rest-Assured框架和TestNG框架结合,封装出简单通用的自定义框架,既实现了待测试接口的执行,又实现了通过断言来验证,节省了单独使用现有测试框架的开发成本。
实施例二
参照图2,示出了本发明实施例二中的一种接口测试方法的流程图,具体可以包括:
步骤201,对所述Rest-Assured框架的请求方法类、TestNG框架的断言方法类和注解方法类、测试用例基类、测试用例执行结果基类、所述Rest-Assured框架和TestNG框架的测试用例执行方法类进行封装,得到用于所述接口测试的自定义框架。
在本发明实施例中,自定义框架包括封装的测试用例基类、封装的测试用例执行结果基类、封装的请求方法枚举类、封装的断言方法枚举类、封装的用于测试报告生成的注解方法类、封装的所述Rest-Assured框架和TestNG框架的测试用例执行方法类。
其中,在构建新类的过程中,新建立的类被称为“派生类”;而被继承的包含相同特征的类称为“基类”。派生类继承了基类的全部成员,并且可以增加基类所没有的数据成员和成员函数,以满足描述新对象的需求。测试用例基类包含测试用例共同的基本信息,例如,用例编码、用例名称/标题、前置条件、测试数据、测试步骤、预期结果、实际结果、测试时间、备注等,本发明实施例对测试用例基类的具体封装的内容不做限制。测试用例执行结果基类包含测试用例的执行结果共同的基本信息,例如,测试报告的具体内容等,本发明实施例对测试用例执行结果基类的具体封装的内容不做限制。封装的注解方法类用于测试报告生成,具体包括用于对测试报告进行配置的注解方法,本发明实施例对注解方法类的具体封装的内容不做限制。测试用例执行方法类包含控制测试用例进行执行的方法,封装的测试用例执行方法中调用了Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法等,因此,称为Rest-Assured框架和TestNG框架的测试用例执行方法类。
在本发明实施例中,可选地,对所述Rest-Assured框架的请求方法、TestNG框架的断言方法进行封装的一种实现方式可以包括:
子步骤S1,将所述Rest-Assured框架的多种请求方法封装为请求方法枚举类。
子步骤S2,将所述TestNG框架的多种断言方法封装为断言方法枚举类。
请求方法和断言方法分别封装为枚举类,称为请求方法枚举类、断言方法枚举类。枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。使用枚举类封装请求方法和断言方法,不再使用存储类或数据库类,不需要占用本地存储空间,可以节省空间,且便于扩展。
步骤202,采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤203,采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤204,采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤205,采用封装的测试用例执行结果对象,提供所述测试报告。
在本发明实施例中,生成测试报告后,接口测试的程序需要向调用者提供测试报告,需要将测试报告封装在测试用例执行结果对象中,再返回给调用者使用。测试用例执行结果对象是测试用例执行结果类的一个实例对象。
综上所述,依据本发明实施例,通过对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于所述接口测试的自定义框架,采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值,采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果,采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告,从而将Rest-Assured框架和TestNG框架结合,封装出简单通用的自定义框架,既实现了待测试接口的执行,又实现了通过断言来验证,节省了单独使用现有测试框架的开发成本。
实施例三
参照图3,示出了本发明实施例三中的一种接口测试装置的结构框图,具体可以包括:
封装模块301,用于对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于接口测试的自定义框架;
请求模块302,用于采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值;
断言模块303,用于采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果;
报告生成模块304,用于采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告。
在本发明实施例中,可选地,所述自定义框架包括封装的测试用例基类、封装的测试用例执行结果基类、封装的请求方法枚举类、封装的断言方法枚举类、封装的测试报告生成方法类、封装的所述Rest-Assured框架和TestNG框架的测试用例执行方法类;
所述封装模块,还用于对所述测试用例基类、测试用例执行结果基类、测试报告生成方法类、所述Rest-Assured框架和TestNG框架的测试用例执行方法类进行封装。
在本发明实施例中,可选地,所述封装模块包括:
请求封装子模块,用于将所述Rest-Assured框架的多种请求方法封装为请求方法枚举类;
断言封装子模块,用于将所述TestNG框架的多种断言方法封装为断言方法枚举类。
在本发明实施例中,可选地,所述装置还包括:
报告提供模块,用于在所述采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告之后,采用封装的测试用例执行结果对象,提供所述测试报告。
综上所述,依据本发明实施例,通过对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于所述接口测试的自定义框架,采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值,采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果,采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告,从而将Rest-Assured框架和TestNG框架结合,封装出简单通用的自定义框架,既实现了待测试接口的执行,又实现了通过断言来验证,节省了单独使用现有测试框架的开发成本。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图4为本发明实施例提供的一种电子设备的结构框图。如图4所示,该电子设备800可以包括一个或多个处理器801以及与处理器801连接的一个或多个存储器802。电子设备800还可以包括输入接口803和输出接口804,用于与另一装置或系统进行通信。被处理器801的CPU执行的程序代码可存储在存储器802中。
电子设备800中的处理器801调用存储在存储器802的程序代码,以执行上述实施例中的接口测试方法。
处理器为上述服务器的控制中心,并提供处理装置,用于执行指令,进行中断操作,提供计时功能以及多种其他功能。处理器可为单核(单CPU)处理器或多核(多CPU)处理器。除非另有声明,描述为用于执行任务的例如处理器或存储器的部件可实现为通用部件,其暂时用于在给定时间执行任务,或实现为专门制造用于执行该任务的特定部件。此处所用的术语“处理器”指一个或多个装置,电路和/或处理核,用于处理数据,例如计算机程序指令。
上述服务器中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
根据本发明的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,存储介质可以是只读存储器(Read-Only Memory,ROM),或是可读写的,例如硬盘、闪存。所述计算机程序被处理器执行时实现前述实施例的接口测试方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种接口测试方法、装置、电子设备及介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种接口测试方法,其特征在于,包括:
对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于接口测试的自定义框架;
采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值;
采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果;
采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告。
2.根据权利要求1所述的方法,其特征在于,所述自定义框架包括封装的测试用例基类、封装的测试用例执行结果基类、封装的请求方法枚举类、封装的断言方法枚举类、封装的用于测试报告生成的注解方法类、封装的所述Rest-Assured框架和TestNG框架的测试用例执行方法类;
所述对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于所述接口测试的自定义框架还包括:
对所述测试用例基类、测试用例执行结果基类、所述Rest-Assured框架和TestNG框架的测试用例执行方法类进行封装。
3.根据权利要求2所述的方法,其特征在于,所述对Rest-Assured框架的请求方法、TestNG框架的断言方法进行封装包括:
将所述Rest-Assured框架的多种请求方法封装为请求方法枚举类;
将所述TestNG框架的多种断言方法封装为断言方法枚举类。
4.根据权利要求1所述的方法,其特征在于,在所述采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告之后,所述方法还包括:
采用封装的测试用例执行结果对象,提供所述测试报告。
5.一种接口测试装置,其特征在于,包括:
封装模块,用于对Rest-Assured框架的请求方法、TestNG框架的断言方法和注解方法进行封装,得到用于接口测试的自定义框架;
请求模块,用于采用被封装在所述自定义框架中的所述请求方法,向待测试接口提供请求参数,并获取所述待测试接口基于所述请求参数的返回值;
断言模块,用于采用被封装在所述自定义框架中的所述断言方法,对所述返回值进行验证,得到验证结果;
报告生成模块,用于采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告。
6.根据权利要求5所述的装置,其特征在于,所述自定义框架包括封装的测试用例基类、封装的测试用例执行结果基类、封装的请求方法枚举类、封装的断言方法枚举类、封装的测试报告生成方法类、封装的所述Rest-Assured框架和TestNG框架的测试用例执行方法类;
所述封装模块,还用于对所述测试用例基类、测试用例执行结果基类、测试报告生成方法类、所述Rest-Assured框架和TestNG框架的测试用例执行方法类进行封装。
7.根据权利要求6所述的装置,其特征在于,所述封装模块包括:
请求封装子模块,用于将所述Rest-Assured框架的多种请求方法封装为请求方法枚举类;
断言封装子模块,用于将所述TestNG框架的多种断言方法封装为断言方法枚举类。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
报告提供模块,用于在所述采用被封装在所述自定义框架中的所述注解方法生成测试报告的配置信息,根据所述验证结果和配置信息生成所述测试报告之后,采用封装的测试用例执行结果对象,提供所述测试报告。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-4任一项所述的接口测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4任一项所述的接口测试方法。
CN201911229396.6A 2019-12-04 2019-12-04 一种接口测试方法、装置、电子设备及介质 Pending CN111240958A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911229396.6A CN111240958A (zh) 2019-12-04 2019-12-04 一种接口测试方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911229396.6A CN111240958A (zh) 2019-12-04 2019-12-04 一种接口测试方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN111240958A true CN111240958A (zh) 2020-06-05

Family

ID=70875839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911229396.6A Pending CN111240958A (zh) 2019-12-04 2019-12-04 一种接口测试方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN111240958A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214412A (zh) * 2020-10-23 2021-01-12 郑州阿帕斯数云信息科技有限公司 一种测试报告的生成方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419884B1 (en) * 2012-12-28 2016-08-16 Emc Corporation Intelligent automated testing method for restful web services
CN106547689A (zh) * 2016-10-20 2017-03-29 金航数码科技有限责任公司 一种基于web的自动化测试用例开发系统及方法
CN107678963A (zh) * 2017-09-27 2018-02-09 国云科技股份有限公司 一种基于java的接口自动化测试方法
CN108763083A (zh) * 2018-05-30 2018-11-06 平安普惠企业管理有限公司 自动化测试方法、装置、计算机设备及存储介质
CN108932194A (zh) * 2018-06-21 2018-12-04 北京京东金融科技控股有限公司 自动化测试方法、装置、系统、介质及电子设备
CN109614313A (zh) * 2018-10-25 2019-04-12 平安科技(深圳)有限公司 自动化测试方法、装置及计算机可读存储介质
CN110515848A (zh) * 2019-08-29 2019-11-29 行吟信息科技(上海)有限公司 自动化测试系统与自动化测试方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419884B1 (en) * 2012-12-28 2016-08-16 Emc Corporation Intelligent automated testing method for restful web services
CN106547689A (zh) * 2016-10-20 2017-03-29 金航数码科技有限责任公司 一种基于web的自动化测试用例开发系统及方法
CN107678963A (zh) * 2017-09-27 2018-02-09 国云科技股份有限公司 一种基于java的接口自动化测试方法
CN108763083A (zh) * 2018-05-30 2018-11-06 平安普惠企业管理有限公司 自动化测试方法、装置、计算机设备及存储介质
CN108932194A (zh) * 2018-06-21 2018-12-04 北京京东金融科技控股有限公司 自动化测试方法、装置、系统、介质及电子设备
CN109614313A (zh) * 2018-10-25 2019-04-12 平安科技(深圳)有限公司 自动化测试方法、装置及计算机可读存储介质
CN110515848A (zh) * 2019-08-29 2019-11-29 行吟信息科技(上海)有限公司 自动化测试系统与自动化测试方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANTHONY_TESTER: "RestAssured接口自动化从入门到框架搭建-20-框架组装-Maven项目环境搭建和BaseTest类和日志模块", 《CSDN》 *
HAGYAO520: "API自动化解决方案[开源项目]基于Rest Assured的接口自动化测试框架完美版", 《简书》 *
博客已迁移I米阳: "23 接口自动化测试 --- Rest Assured", 《简书》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214412A (zh) * 2020-10-23 2021-01-12 郑州阿帕斯数云信息科技有限公司 一种测试报告的生成方法和装置
CN112214412B (zh) * 2020-10-23 2023-04-28 郑州阿帕斯数云信息科技有限公司 一种测试报告的生成方法和装置

Similar Documents

Publication Publication Date Title
US10817409B2 (en) System and method for testing software applications in a software defined network
US11010283B2 (en) Mock-based unit test(s) for an end-to-end test of a code snippet
CN111782330B (zh) 一种基于Web应用的页面数据获取方法、装置及设备
US20030149799A1 (en) System supporting unified event handling in ECMAScript
US20040199818A1 (en) Automated testing of web services
US20110093773A1 (en) Automated application compatibility testing
US20030182625A1 (en) Language and object model for describing MIDlets
US20120159446A1 (en) Verification framework for business objects
CN111143087A (zh) 一种接口调用方法、装置、存储介质和服务器
US11023365B2 (en) Systems and methods for automated provisioning of a virtual mainframe test environment
CN108459850B (zh) 生成测试脚本的方法、装置及系统
CN106909498A (zh) 一种Java程序注入故障的方法和系统
CN109871312B (zh) 一种接口测试方法、装置、设备及可读存储介质
CN111367821B (zh) 一种软件测试方法及系统
CN113225379A (zh) 一种http请求消息的发送方法及装置
CN111444103A (zh) 一种Web页面自动化测试方法及相关设备
CN112579461A (zh) 断言处理方法、系统和存储介质
CN111240958A (zh) 一种接口测试方法、装置、电子设备及介质
CN110221945A (zh) 基于安全鉴权的自动化测试方法、装置、终端及存储介质
WO2023232052A1 (zh) 远程证明报告的处理方法、数据库服务端和数据库客户端
CN111813385B (zh) 一种基于Web应用的页面插件化方法、装置及设备
CN112035163A (zh) 软件开发包配置方法、设备和存储介质
WO2016048294A1 (en) Infrastructure rule generation
CA2297597A1 (en) Method and system for testing internet-based applications
CN116627544B (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