接口自动化测试方法、装置以及相关产品制造方法及图纸

技术编号:24120833 阅读:15 留言:0更新日期:2020-05-13 03:02
本发明专利技术涉及一种自动化接口测试方法,其包括:(a)读取与一个以上接口中的第一接口相关的测试用例和接口参数,其中所述接口参数与所述测试用例彼此独立存储;(b)根据所述第一接口的请求方法,调用相应的接口函数来执行所述测试用例和所述接口参数,以得到响应报文;(c)对所述响应报文进行断言,得到断言结果;以及(d)生成测试报告。本发明专利技术还提供一种自动化接口测试装置以及相关产品。根据本发明专利技术公开的自动化接口测试方法和装置,能够极大提供了测试效率并大大减低对测试人员编码水平的要求,减少测试人员的工作量。

Interface automation test methods, devices and related products

【技术实现步骤摘要】
接口自动化测试方法、装置以及相关产品
本专利技术属于软件测试领域,特别是涉及接口自动化测试方法、装置以及相关产品。
技术介绍
接口测试是测试系统组件间接口的一种测试,接口测试不同于传统开发的单元测试,接口测试是站在用户的角度对系统接口进行全面高效持续的检测测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点联系,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。接口测试的原理是模拟客户端向服务器发送请求数据,得到响应数据,通过断言来判断接口的有效性。随着系统复杂程度的不断上升,传统的测试方法测试成本急剧增加,测试效率下降,而接口测试能够提供系统复杂度上升的情况下低成本高效率的解决方案。目前,接口测试工具比较多,包括postman,jmeter及fiddler等等,postman是Google开发的一款接口测试软件,能够发送任何类型的HTTP/HTTPS请求,可以批量管理和运行用例,缺点是自动化断言不够强大。jmeter是一款100%纯Java编写的免费开源工具,主要用来做性能测试。Fiddler要比其他的网络调试器要更加简单,操作便捷,格式显示清晰,这个工具也可以进行接口测试,但是不能写断言,只能用composer构造HTTP请求,需要人工确认返回结果的正确性。虽然接口测试工具比较多,并能满足简单的接口测试要求,但没有一个工具可以完全吻合的适用于一个项目,不同的项目有不同的数据处理及业务逻辑处理的方式,利用工具需要熟悉操作流程,完成各种必要的配置,不够灵活。从而,需要一种更灵活的接口测试框架来适应不同项目环境。
技术实现思路
因此,我们提出一种接口自动化测试方法和装置,通过实现一个接口自动化测试框架,在很大程度上减少了人与数据的交互,从而减少了功能测试人员的压力。根据本专利技术的第一个方面,提供一种用于接口测试的方法,包括:(a)读取与一个以上接口中的第一接口相关的测试用例和接口参数,其中所述接口参数与所述测试用例彼此独立存储;(b)根据所述第一接口的请求方法,调用相应的接口函数来执行所述测试用例和所述接口参数,以得到响应报文;(c)对所述响应报文进行断言,得到断言结果;以及(d)生成测试报告。根据本专利技术的第二个方面,提供一种用于接口测试的装置,包括:读取单元,用于读取与一个以上接口中的第一接口相关的测试用例和接口参数,其中所述接口参数与所述测试用例彼此独立存储;调用执行单元,用于根据所述第一接口的请求方法,调用相应的接口函数来执行所述测试用例和所述接口参数,以得到响应报文;断言单元,用于对所述响应报文进行断言,得到断言结果;以及生成单元,用于生成测试报告。第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的方法。第四方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的方法。第五方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第一方面提供的方法。该方法和装置遵循测试框架的基本原则,将业务逻辑与测试脚本分离,测试脚本与测试数据分离,一般来说,不同的项目有不同的业务逻辑,针对的业务逻辑通常需要有不同的测试脚本。然而,在本专利技术的方案中,测试框架与业务逻辑独立,这个测试框架可以应用于其他的业务逻辑,但是与具体业务逻辑相关的部分需要做相应的微调,不会把测试数据固定在脚本里,而把测试数据单列出来。从而,可以随时根据需求进行变更,实现数据驱动测试的模式,可较大减低对测试人员编码水平的要求。本专利技术的方法和装置,通过实现一个接口自动化测试框架,在很大程度上减少了人与数据的交互,从而减少了功能测试人员的压力。附图说明为进一步清楚解释本专利技术的特征及
技术实现思路
,请参阅以下有关本专利技术的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本专利技术加以限制。在下面的附图中:图1是根据本专利技术实施例的接口自动化测试方法的流程图。图2是根据本专利技术实施例的获取接口参数中的校验信息的示例图。图3是根据本专利技术实施例的得到的测试报告的示例图。图4是根据本专利技术实施例的接口自动化测试装置的示意图。图5是本申请实施例提供的一种电子设备的结构图。具体实施方式以下通过特定的具体实施例来说明本专利技术所公开的实施方式,本领域技术人员可由本说明书所公开的内容了解本专利技术的优点与效果。本专利技术可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本专利技术的构思下进行各种修改与变更。另外,本专利技术的附图仅为简单示意说明,并非依实际尺寸的描绘。以下的实施方式将进一步详细说明本专利技术的相关
技术实现思路
,但所公开的内容并非用以限制本专利技术的保护范围。根据本专利技术的一个方面,提出一种接口自动化测试方法。在本专利技术的方案中,测试框架与业务逻辑独立,这个测试框架可以应用于其他的业务逻辑,但是与具体业务逻辑相关的部分需要做相应的微调,而不会把测试数据固定在脚本里,把测试数据单列出来。从而,可以随时根据需求进行变更,实现数据驱动测试的模式,可极大提供了测试效率并大大减低对测试人员编码水平的要求,减少测试人员的工作量。图1是根据本专利技术实施例的接口自动化测试方法的流程图。如图1所示,该方法包括如下步骤:步骤S101,读取与一个以上接口中的第一接口相关的测试用例和接口参数,其中所述接口参数与所述测试用例彼此独立存储。首先,需要针对所要进行测试的所有接口中的每一个接口生成并存储测试用例以及所述测试用例中的接口参数。测试用例是测试的功能点,接口参数是与该接口相关的所有参数,在确定接口后,就能确定所需的接口参数。例如,该接口为登录接口时,那么测试用例包括:接口名、接口的请求方法(包括GET、POST等)、接口的域名和/或端口号、路径、接口参数等,而接口参数包括用户名(username)、密码(password)等参数。在一个具体实施例中,测试用例可以是测试人员在业务层书写的。测试用例包括接口参数,我们将接口参数的数值从测试用例中单独列出来,进行存储,并且,在测试用例中通过增加一个关键词,将测试用例与接口参数关联起来,在读取测试用例的过程中,通过该关键词可以找到存储接口参数的文件及其存储的接口参数的数值。将测试用例采用第一文件格式进行存储,而将接口参数采用第二文件格式进行存储。在一个具体实施例中,针对pythonunittest测试框架,可以将测试用例采用excel文件格式进行存储,而将接口参数采用json文件格式进行存储。根据不同类型的测试框架,还可以将测试用例以及接口参数采用其他文件格式进行存储,这些都属于本申请公开的范围。将测试用例与接口本文档来自技高网
...

【技术保护点】
1.一种用于接口测试的方法,包括:/n(a)读取与一个以上接口中的第一接口相关的测试用例和接口参数,其中所述接口参数与所述测试用例彼此独立存储;/n(b)根据所述第一接口的请求方法,调用相应的接口函数来执行所述测试用例和所述接口参数,以得到响应报文;/n(c)对所述响应报文进行断言,得到断言结果;以及/n(d)生成测试报告。/n

【技术特征摘要】
1.一种用于接口测试的方法,包括:
(a)读取与一个以上接口中的第一接口相关的测试用例和接口参数,其中所述接口参数与所述测试用例彼此独立存储;
(b)根据所述第一接口的请求方法,调用相应的接口函数来执行所述测试用例和所述接口参数,以得到响应报文;
(c)对所述响应报文进行断言,得到断言结果;以及
(d)生成测试报告。


2.如权利要求1所述的方法,还包括:
遍历所述一个以上接口中的所有接口执行步骤(a)至步骤(c)。


3.如权利要求1或2所述的方法,还包括:
在读取所述测试用例以及所述接口参数的过程中,获取所述接口参数中的校验信息;以及/或者
在读取所述测试用例以及所述接口参数的过程中,格式化所述接口参数。


4.如权利要1或2所述的方法,其中,所述读取与一个以上接口中的第一接口相关的测试用例和接口参数包括:
从存储所述测试用例的文件中读取与所述接口参数有关的关键词;以及
通过所述关键词从存储所述接口参数的文件中读取所述接口参数。


5.如权利要求1所述的方法,其中,将所述测试用例存储为第一文件格式以及将所述接口参数存储为第二文件格式。


6.一种用于接口测试的装置,包括:<...

【专利技术属性】
技术研发人员:王晓杰李桢杨琪翔史静慧
申请(专利权)人:叮当快药科技集团有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1