CN111831547A - 自动化接口测试平台 - Google Patents
自动化接口测试平台 Download PDFInfo
- Publication number
- CN111831547A CN111831547A CN202010475004.0A CN202010475004A CN111831547A CN 111831547 A CN111831547 A CN 111831547A CN 202010475004 A CN202010475004 A CN 202010475004A CN 111831547 A CN111831547 A CN 111831547A
- Authority
- CN
- China
- Prior art keywords
- module
- request
- information
- assertion
- test platform
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 31
- 235000014510 cooky Nutrition 0.000 claims description 3
- 238000007429 general method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 10
- 238000000034 method Methods 0.000 abstract description 9
- 230000001960 triggered effect Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/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
本发明涉及数据审批领域,具体涉及一种校验力度强且灵活方便的自动化接口测试平台。本发明的自动化接口测试平台,通过断言模块、发送请求模块、参数替换模块以及基础数据模块等的配合,具有校验力度强且灵活方便的特点。excel和脚本编写请求信息都调用底层同一套请求方法,更灵活的满足测试人员的需求。自动从接口文档管理平台将接口信息写入yaml,无需人工手动写入。excel仅需录入需要参数化的字段,并与yaml读取出来的完整请求参数做替换,excel更加美观,易操作。通用性断言强化,全部作为字符串处理。必填、长度等校验通过递归实现,只需加个装饰器即可实现,减少代码量。ci集成,部署完成后自动触发自动化脚本执行,快速评估代码质量。
Description
技术领域
本发明涉及数据审批领域,具体涉及一种校验力度强且灵活方便的自动化接口测试平台。
背景技术
随着互联网技术的发展,大部分项目管理方式都是为敏捷型,且技术架构更多的转向微服务、中台等方式。
基于这种背景下,一是要保证服务与服务之间的接口通讯正确无误,以及保证系统内部的接口正确无误。系统中的有些bug如果想通过UI层功能测试会比较困难,或者构造测试数据和测试条件非常复杂,而通过自动化接口测试可以更简单、更全面的覆盖到底层的代码逻辑,从而发现一些隐藏bug。二是要让测试效率能够与持续交付所匹配,光靠人工效率很难跟上。
现有技术中主要有两种方式:(1)requests+unittest+htmltestrunner,该技术为一套基于代码接口测试框架,实现流程为:将接口基本信息写成一个一个的方法,通过requests库发起请求,然后进行接口校验,以htmltestrunner执行用例集并发送测试报告。存在以下缺点:无法满足不具备编码能力的测试人员,将接口基本信息写在代码中,过于分散繁琐,不便于管理,同时也会比较耗费时间。部分排列组合性通过脚本实现过于冗余。接口断言无通用类,导致重复性的代码量较大。测试数据与脚本未做分离,不太好维护。
(2)requests+ddt+htmltestrunner,该技术为一套基于excel接口测试框架,实现流程为:测试人员将接口基本信息、入参、出参、检查点、预期结果等写入到excel,无需编码,即可完成接口测试。存在以下缺点:接口校验力度有限,只能对接口返回做简单接口校验。若涉及到数据库断言、mq执行、数据库数据准备等,则无法实现。参数化不太灵活,比如第二个接口要调用第一个接口的出参,则无法进行实现excel展示不美观。当参数为大段json体时,在excel的单元格中展示和操作都不太方便。
发明内容
针对现有技术中的缺陷,本发明提供一种校验力度强且灵活方便的自动化接口测试平台。
本发明采用的技术方案是:自动化接口测试平台,包括相互关联的断言模块、发送请求模块、参数替换模块以及基础数据模块,
所述的基础数据模块,提供基础数据参数;
所述的参数替换模块,根据基础数据模块提供的基础数据参数,进行参数修改和替换,组装成完整的请求信息;
所述的发送请求模块,将参数替换模块组装成的完整的请求信息单独登录并分类向断言模块发送请求;
所述的断言模块,根据发送请求模块的请求信息进行断言。
为更好地实现本发明,所述的基础数据模块包括api信息、host信息、账户信息、数据连接信息以及邮箱信息。
为更好地实现本发明,所述的参数替换模块执行以下步骤:
a、yaml读取api基本信息接口;
b、传入用户,获取用户的session/cookie信息;
c、传入需要替换的脚本参数或者excel参数;
d、组装完成完整的请求信息。
为更好地实现本发明,所述的发送请求模块获取将参数替换模块组装成的完整的每条请求信息单独登录,并分类别发送请求,若为脚本参数则通过脚本发送请求,若为excel参数则通过excel发送请求。
为更好地实现本发明,所述的断言模块包括通用断言模块和脚本开放校验模块。
为更好地实现本发明,所述的通用断言模块包括必填校验模块、长度校验模块以及大小校验模块。
为更好地实现本发明,所述的脚本开放校验模块包括数据库校验模块、mq执行模块以及前置接口调用模块。
为更好地实现本发明,所述的脚本开放校验模块还包括通用方法类模块。
本发明的有益效果体现在:本发明的自动化接口测试平台,通过断言模块、发送请求模块、参数替换模块以及基础数据模块等的配合,具有校验力度强且灵活方便的特点。excel和脚本编写请求信息都调用底层同一套请求方法,更灵活的满足测试人员的需求。自动从接口文档管理平台将接口信息写入yaml,无需人工手动写入。excel仅需录入需要参数化的字段,并与yaml读取出来的完整请求参数做替换,excel更加美观,易操作。通用性断言强化,全部作为字符串处理。必填、长度等校验通过递归实现,只需加个装饰器即可实现,减少代码量。ci集成,部署完成后自动触发自动化脚本执行,快速评估代码质量。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明的自动化接口测试平台的一种流程框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
实施例1:
如图1所示,本发明的自动化接口测试平台,包括相互关联的断言模块、发送请求模块、参数替换模块以及基础数据模块,
所述的基础数据模块,提供基础数据参数;
所述的参数替换模块,根据基础数据模块提供的基础数据参数,进行参数修改和替换,组装成完整的请求信息;
所述的发送请求模块,将参数替换模块组装成的完整的请求信息单独登录并分类向断言模块发送请求;
所述的断言模块,根据发送请求模块的请求信息进行断言。
本发明的自动化接口测试平台,通过断言模块、发送请求模块、参数替换模块以及基础数据模块等的配合,具有校验力度强且灵活方便的特点。excel和脚本编写请求信息都调用底层同一套请求方法,更灵活的满足测试人员的需求。自动从接口文档管理平台将接口信息写入yaml,无需人工手动写入。excel仅需录入需要参数化的字段,并与yaml读取出来的完整请求参数做替换,excel更加美观,易操作。通用性断言强化,全部作为字符串处理。必填、长度等校验通过递归实现,只需加个装饰器即可实现,减少代码量。ci集成,部署完成后自动触发自动化脚本执行,快速评估代码质量。
作为优选的,所述的基础数据模块包括api信息、host信息、账户信息、数据连接信息以及邮箱信息。
所述的参数替换模块执行以下步骤:
a、yaml读取api基本信息接口;
b、传入用户,获取用户的session/cookie信息;
c、传入需要替换的脚本参数或者excel参数;
d、组装完成完整的请求信息。
自动从接口文档管理平台将接口信息写入yaml,无需人工手动写入。excel仅需录入需要参数化的字段,并与yaml读取出来的完整请求参数做替换,excel更加美观,易操作。通用性断言强化,全部作为字符串处理。
作为优选的,所述的发送请求模块获取将参数替换模块组装成的完整的每条请求信息单独登录,并分类别发送请求,若为脚本参数则通过脚本发送请求,若为excel参数则通过excel发送请求。excel和脚本编写请求信息都调用底层同一套请求方法,更灵活的满足测试人员的需求。自动从接口文档管理平台将接口信息写入yaml,无需人工手动写入。
作为优选的,所述的断言模块包括通用断言模块和脚本开放校验模块。
作为优选的,所述的通用断言模块包括必填校验模块、长度校验模块以及大小校验模块。必填、长度等校验通过递归实现,只需加个装饰器即可实现,减少代码量。ci集成,部署完成后自动触发自动化脚本执行,快速评估代码质量。
作为优选的,所述的脚本开放校验模块包括数据库校验模块、mq执行模块以及前置接口调用模块。ci集成,部署完成后自动触发自动化脚本执行,快速评估代码质量。
作为优选的,所述的脚本开放校验模块还包括通用方法类模块。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (8)
1.自动化接口测试平台,其特征在于:包括相互关联的断言模块、发送请求模块、参数替换模块以及基础数据模块,
所述的基础数据模块,提供基础数据参数;
所述的参数替换模块,根据基础数据模块提供的基础数据参数,进行参数修改和替换,组装成完整的请求信息;
所述的发送请求模块,将参数替换模块组装成的完整的请求信息单独登录并分类向断言模块发送请求;
所述的断言模块,根据发送请求模块的请求信息进行断言。
2.根据权利要求1所述的自动化接口测试平台,其特征在于:所述的基础数据模块包括api信息、host信息、账户信息、数据连接信息以及邮箱信息。
3.根据权利要求2所述的自动化接口测试平台,其特征在于:所述的参数替换模块执行以下步骤:
a、yaml读取api基本信息接口;
b、传入用户,获取用户的session/cookie信息;
c、传入需要替换的脚本参数或者excel参数;
d、组装完成完整的请求信息。
4.根据权利要求3所述的自动化接口测试平台,其特征在于:所述的发送请求模块获取将参数替换模块组装成的完整的每条请求信息单独登录,并分类别发送请求,若为脚本参数则通过脚本发送请求,若为excel参数则通过excel发送请求。
5.根据权利要求4所述的自动化接口测试平台,其特征在于:所述的断言模块包括通用断言模块和脚本开放校验模块。
6.根据权利要求5所述的自动化接口测试平台,其特征在于:所述的通用断言模块包括必填校验模块、长度校验模块以及大小校验模块。
7.根据权利要求6所述的自动化接口测试平台,其特征在于:所述的脚本开放校验模块包括数据库校验模块、mq执行模块以及前置接口调用模块。
8.根据权利要求7所述的自动化接口测试平台,其特征在于:所述的脚本开放校验模块还包括通用方法类模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010475004.0A CN111831547A (zh) | 2020-05-29 | 2020-05-29 | 自动化接口测试平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010475004.0A CN111831547A (zh) | 2020-05-29 | 2020-05-29 | 自动化接口测试平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111831547A true CN111831547A (zh) | 2020-10-27 |
Family
ID=72913781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010475004.0A Pending CN111831547A (zh) | 2020-05-29 | 2020-05-29 | 自动化接口测试平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831547A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395138A (zh) * | 2020-11-20 | 2021-02-23 | 北京华胜天成科技股份有限公司 | 一种校验参数的方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140068340A1 (en) * | 2012-09-03 | 2014-03-06 | Tata Consultancy Services Limited | Method and System for Compliance Testing in a Cloud Storage Environment |
US20150128103A1 (en) * | 2013-11-07 | 2015-05-07 | Runscope, Inc. | System and method for automating application programming interface integration |
CN104899149A (zh) * | 2015-06-29 | 2015-09-09 | 上海瀚银信息技术有限公司 | 一种自动化测试管理方法 |
US20170097882A1 (en) * | 2015-10-06 | 2017-04-06 | Ca, Inc. | Generating Tests for Testing Software Applications |
CN107122296A (zh) * | 2017-04-18 | 2017-09-01 | 上海雷腾软件股份有限公司 | 用于测试接口的数据断言的方法及设备 |
CN109101415A (zh) * | 2018-06-25 | 2018-12-28 | 平安科技(深圳)有限公司 | 基于数据库比对的接口测试方法、系统、设备和存储介质 |
CN110221975A (zh) * | 2019-05-28 | 2019-09-10 | 厦门美柚信息科技有限公司 | 创建接口用例自动化测试脚本的方法及装置 |
CN110262978A (zh) * | 2019-06-24 | 2019-09-20 | 四川新网银行股份有限公司 | 一种基于长流程自动化测试的接口重试方法及数据流 |
CN110297774A (zh) * | 2019-07-02 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种基于python的接口自动化测试方法 |
-
2020
- 2020-05-29 CN CN202010475004.0A patent/CN111831547A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140068340A1 (en) * | 2012-09-03 | 2014-03-06 | Tata Consultancy Services Limited | Method and System for Compliance Testing in a Cloud Storage Environment |
US20150128103A1 (en) * | 2013-11-07 | 2015-05-07 | Runscope, Inc. | System and method for automating application programming interface integration |
CN104899149A (zh) * | 2015-06-29 | 2015-09-09 | 上海瀚银信息技术有限公司 | 一种自动化测试管理方法 |
US20170097882A1 (en) * | 2015-10-06 | 2017-04-06 | Ca, Inc. | Generating Tests for Testing Software Applications |
CN107122296A (zh) * | 2017-04-18 | 2017-09-01 | 上海雷腾软件股份有限公司 | 用于测试接口的数据断言的方法及设备 |
CN109101415A (zh) * | 2018-06-25 | 2018-12-28 | 平安科技(深圳)有限公司 | 基于数据库比对的接口测试方法、系统、设备和存储介质 |
CN110221975A (zh) * | 2019-05-28 | 2019-09-10 | 厦门美柚信息科技有限公司 | 创建接口用例自动化测试脚本的方法及装置 |
CN110262978A (zh) * | 2019-06-24 | 2019-09-20 | 四川新网银行股份有限公司 | 一种基于长流程自动化测试的接口重试方法及数据流 |
CN110297774A (zh) * | 2019-07-02 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种基于python的接口自动化测试方法 |
Non-Patent Citations (3)
Title |
---|
军子~: "pytest+requests+Python3.7+yaml+Allure+Jenkins+docker实现接口自动化测试 接口自动化测试框架(用例自动生成)", pages 1 - 39, Retrieved from the Internet <URL:《https://www.cnblogs.com/jun-zi/p/12002626.html》> * |
李婧: "Android应用服务器通信接口安全性检测的方案设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, pages 138 - 110 * |
韩国峰: "Web系统分布式性能测试工具的研究与实现", 《万方》, pages 1 - 56 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395138A (zh) * | 2020-11-20 | 2021-02-23 | 北京华胜天成科技股份有限公司 | 一种校验参数的方法和装置 |
CN112395138B (zh) * | 2020-11-20 | 2024-04-02 | 北京华胜天成科技股份有限公司 | 一种校验参数的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103198009B (zh) | 一种通用测试方法、系统及相应装置 | |
CN101241467B (zh) | 一种面向Web应用的自动化白盒测试方法 | |
CN104021080B (zh) | 基于自定义脚本的自动化测试系统 | |
CN104007957B (zh) | 在编辑期间显示实时数据的改进图形用户界面编辑器 | |
CN106095673A (zh) | 基于web接口的自动化测试方法及系统 | |
CN101515232A (zh) | 一种软件持续集成系统及方法 | |
CN107451060A (zh) | 一种跨移动端自动化测试框架系统 | |
CN101261600B (zh) | 一种软件测试装置及测试软件的设计方法 | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
CN109408247A (zh) | 交互数据处理方法及装置 | |
US7761841B1 (en) | Enhanced data loading for test management tool | |
CN112306884A (zh) | 程序测试控制、执行方法及其相应的装置、设备、介质 | |
CN102855175B (zh) | 自动化测试方法及装置 | |
CN107015912A (zh) | 实现远程调试的系统、方法、装置、及电子设备 | |
CN110543301A (zh) | jenkins代码文件的生成方法及装置 | |
CN111679977A (zh) | 一种基于Jest的React项目单元测试方法、设备及存储介质 | |
CN111831547A (zh) | 自动化接口测试平台 | |
CN117370217A (zh) | 一种基于python的接口测试结果自动生成方法 | |
CN111142861B (zh) | 结构化综控系统集成方法及装置 | |
CN109344069A (zh) | 一种软件自动化测试的协同办公方法及协同办公平台 | |
CN102567066A (zh) | 业务系统开发方法、平台及系统 | |
CN112380118A (zh) | 单元测试方法、装置、介质及电子设备 | |
CN113900953A (zh) | 一种基于反射机制的软件自动化测试架构方法 | |
Gupta et al. | A component-based approach for test case generation | |
CN110096292A (zh) | 一种自适应刷新服务器bios固件的方法及系统 |
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 |