CN112181852A - 一种接口自动化测试方法、装置、计算机设备及存储介质 - Google Patents
一种接口自动化测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112181852A CN112181852A CN202011172299.0A CN202011172299A CN112181852A CN 112181852 A CN112181852 A CN 112181852A CN 202011172299 A CN202011172299 A CN 202011172299A CN 112181852 A CN112181852 A CN 112181852A
- Authority
- CN
- China
- Prior art keywords
- interface
- automation platform
- testing
- environment
- interface automation
- 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 142
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000013461 design Methods 0.000 claims abstract description 23
- 238000004806 packaging method and process Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 5
- 235000015849 Apium graveolens Dulce Group Nutrition 0.000 claims description 4
- 235000010591 Appio Nutrition 0.000 claims description 4
- 238000002955 isolation Methods 0.000 claims description 3
- 244000101724 Apium graveolens Dulce Group Species 0.000 claims 1
- 238000010998 test method Methods 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 44
- 230000008569 process Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 240000007087 Apium graveolens Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification 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
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种接口自动化测试方法、装置、计算机设备及存储介质,所述方法包括:在linux环境下安装python环境,并安装PyCharm工具以及配置对应的环境变量,从而构建接口自动化平台;利用树状角色权限控制方法对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口;将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述前端脚本和后端脚本进行封装;基于Httprunner测试框架对所述接口自动化平台进行测试,并在结束运行后返回测试报告。本发明提供的接口自动化测试方法可有效降低接口自动化测试的难度。
Description
技术领域
本发明涉及计算机软件技术领域,特别涉及一种接口自动化测试方法、装置、计算机设备及存储介质。
背景技术
目前市场上比较流行的接口自动化测试工具有soapui、postman、jmeter等工具,使用这些工具进行接口自动化测试时都需要进行新建sample,并输入接口名称、接口地址、请求方式、数据传输类型、请求参数、检查点等,从而需要跟工具进行频繁的交互,人为输入工作量较大,导致测试人员工作量增大、测试效率低,并且上述方法是基于客户端安装部署,不利于团队共同协作。近几年流行的一些接口自动化测试框架,例如基于python+unittest或者python+pytest框架,虽然极大改善了团队共同协作能力,但是代码编写工作量很大,具有一定的接口口测试门槛,从而给接口测试带来一定的隐患性和繁琐性,但是对测试人员代码编写能力要求比较高,测试人员学习及上手成本高,也不适合普及化。并且也不方便维护,无法实现数据和代码进行分离。
发明内容
本发明实施例提供了一种接口自动化测试方法、装置、计算机设备及存储介质,旨在降低接口自动化测试难度。
第一方面,本发明实施例提供了一种接口自动化测试方法,包括:
在linux环境下安装python环境,并安装PyCharm工具以及配置对应的环境变量,从而构建接口自动化平台;
利用树状角色权限控制方法对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口;
将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述前端脚本和后端脚本进行封装;
基于Httprunner测试框架对所述接口自动化平台进行测试,并在结束运行后返回测试报告。
进一步的,所述利用树状角色权限控制对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口,包括:
对所述接口自动化平台进行分层设计,得到从上至下的项目管理接口、模块管理接口、接口列表接口、用例管理接口、测试套件接口和测试报告接口;
其中,所述项目管理接口用于管理项目列表、新增项目和debugtalk.py;所述模块管理接口用于管理模块列表、新增模块和模块信息;所述接口列表接口用于管理各接口信息;所述用例列表接口用于条件查询且具有增加、删除、修改、查询和复制功能;所述测试套件接口用于管理项目列表、模块列表、用例列表;所述测试报告接口用于查看测试报告结果。
进一步的,所述利用树状角色权限控制对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口,还包括:
对所述接口自动化平台进行分层设计,还得到配置管理接口、运行环境接口和定时任务接口;
其中,所述配置管理接口用于管理配置列表、新增配置;所述运行环境接口用于配置不同项目的ip地址或者域名、环境名称和简要说明;所述定时任务接口用于自动定时执行项目和定时邮件发送测试报告。
进一步的,所述将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述脚本进行封装,包括:
通过vue框架处理所述接口自动化平台前端发送的请求,分别利用MySQL数据库和redis数据库对所述接口自动化平台进行数据存储和缓存,以及利用Docker镜像构建测试运行环境隔离测试数据。
进一步的,所述基于Httprunner测试框架对所述接口自动化平台进行测试,并在运行环境结束运行后返回测试报告,包括:
在所述用例列表接口中选择相应的接口自动化用例,以及在所述运行环境接口中选择对应的运行环境;
在所述运行环境下运行所述接口自动化用例,并在结束运行后返回测试报告。
进一步的,还包括:
在所述接口自动化平台上进行邮箱设置,并设置对应的邮箱HOST,以及为所述邮箱设置对应的端口号。
进一步的,还包括:
通过docker搭建rabbitMQ环境,并进行服务器配置;
在启动服务器后,启动celery定时任务监听器,监听是否有定时任务;
若监听至定时任务,则通过所述定时任务接口进行定时任务配置。
第二方面,本发明实施例提供一种接口自动化测试装置,包括:
构建单元,用于在linux环境下安装python环境,并安装PyCharm工具以及配置对应的环境变量,从而构建接口自动化平台;
管理单元,用于利用树状角色权限控制方法对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口;
封装单元,用于将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述前端脚本和后端脚本进行封装;
测试单元,用于基于Httprunner测试框架对所述接口自动化平台进行测试,并在结束运行后返回测试报告。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的接口自动化测试方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的接口自动化测试方法。
本发明实施例提供了一种接口自动化测试方法、装置、计算机设备及存储介质,所述方法包括:在linux环境下安装python环境,并安装PyCharm工具以及配置对应的环境变量,从而构建接口自动化平台;利用树状角色权限控制方法对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口;将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述前端脚本和后端脚本进行封装;基于Httprunner测试框架对所述接口自动化平台进行测试,并在结束运行后返回测试报告。本发明实施例提供的接口自动化测试方法可有效降低接口自动化测试的难度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种接口自动化测试方法的流程示意图;
图2为本发明实施例提供的一种接口自动化测试装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参加图1,图1为本发明实施例提供的一种接口自动化测试方法的流程示意图,具体包括:步骤S101~S104。
S101、在linux环境下安装python环境,并安装PyCharm工具以及配置对应的环境变量,从而构建接口自动化平台;
S102、利用树状角色权限控制方法对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口;
S103、将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述前端脚本和后端脚本进行封装;
S104、基于Httprunner测试框架对所述接口自动化平台进行测试,并在结束运行后返回测试报告。
本实施例中,首先在linux环境安装python环境,然后安装PyCharm,并配置相应的环境变量。具体的,在linux中通过yum安装依赖包,添加软链接,从而安装python环境,以及安装docker容器和MySQL数据库。在进行Django环境部署时,修改setting.py配置文件,对MySQL数据库配置相关的内容,并通过makemigrations和migrate将表和数据同步到MySQL数据库,然后创建django管理后台的超级账户,并启动Django服务,以及开放相应的端口号。本实施例在编写所述接口自动化平台的前端脚本和后端脚本时,使用python编程语言以及Django框架MVT模型,并在所述接口自动化平台的后端使用SpringBoot框架,在所述接口自动化平台的前端使用Jquery+vue框架,以及将RabbitMQ作为消息中间件,利用MySQL数据库进行数据存储,利用redis数据库进行数据缓存,还采用docker镜像技术和Httprunner测试框架等。
同时,本实施例将所述接口自动化平台的数据进行分层划分,保证所述接口自动化平台的数据规范性和一致性,减少了数据冗余。另外,所述接口自动化平台中可设置多个运行环境,可根据项目需要随时切换运行环境,使用debugtalk封装函数、方便调用。在所述接口自动化平台中,还可设置定时任务,可自定义丰富的测试报告模板和邮件发送功能。所述接口自动化平台中还支持单点调试,支持接口测试用例的在线调用,输出响应结果、请求信息等详细信息。流程拼装,将多个已创建的测试用例拼接成测试集合,执行有一定业务逻辑的流程。在一具体实施例中,采用PO(pageobject)模型进行分层设计。
通过本实施例所述的接口自动化测试方法搭建所述接口自动化平台,所述接口自动化平台可以降低测试人员开展接口自动化的门槛,也就是说,测试人员不需要具有较高的代码编写能力就可以进行接口自动化测试。用户通过web页面即可编写接口自动化用例,且本实施例提供的可视化页面管理方便,可以和其它用户可以共同协作。对于数据的添加与维护也十分方便。本实施例提供的接口自动化测试方法能够进行平台化展示和操作,具有较低的学习成本,且接口自动化的稳定性和可靠性均较高,从而提高性价比、减少测试脚本的维护成本,避免人为带来的概率性错误,提高测试效率。
在一实施例中,所述步骤S102包括:
对所述接口自动化平台进行分层设计,得到从上至下的项目管理接口、模块管理接口、接口列表接口、用例管理接口、测试套件接口和测试报告接口;
其中,所述项目管理接口用于管理项目列表、新增项目和debugtalk.py;所述模块管理接口用于管理模块列表、新增模块和模块信息;所述接口列表接口用于管理各接口信息;所述用例列表接口用于条件查询且具有增加、删除、修改、查询和复制功能;所述测试套件接口用于管理项目列表、模块列表、用例列表;所述测试报告接口用于查看测试报告结果。
本实施例中,项目管理包含项目列表、新增项目、debugtalk.py,可通过所述项目管理接口对其进行管理。并且在所述项目管理接口中,可单个新增项目,也可批量导入项目。项目列表中通常包括项目名称、负责人、测试人员、开发人员、发布应用、简要描述等项目信息,项目列表可根据项目名称或者负责人等条件进行查询,并且有增删改查功能(即增加、删除、修改和查询,下同)及运行功能(即可选择运行环境,以及同步运行或者异步运行等条件)。debugtalk.py主要用于定义公共函数,比如数据库的连接以及增删改查的封装函数等,在debugtalk的py文件里面写的函数用于供其它案例调用。
所述模块管理接口用于管理模块列表、新增模块等,其中,模块列表包括模块名称、所属项目、测试人员、简要描述等,模块列表可根据模块名称或者测试人员等条件进行查询,并且有增删改查功能及运行功能(即可选择运行环境,以及同步运行或者异步运行等条件)。
需要说明的是,一个项目可以包括多个模块,即一个项目管理接口中可以包含多个模块管理接口。在所述项目管理接口中,可以决定每个模块管理接口的归属,例如当新增接口时,必须创建在已有模块下,避免因数据过多导致所述接口自动化平台内的数据发生混乱。
所述用例管理接口用于管理用例列表、新增用例等,其中,用例列表包括messages、request、extract/validate、variables/parameters/hooks等页面。具体的,messages页面包括所属项目管理接口、所属模块管理接口、可选用例(用于前后有关联关系的用例)、可选配置(全局配置)、用例执行顺序等。request页面包括对应的接口的基本信息,例如路径、请求方法、请求参数、数据传输类型、请求头信息等。extract/validate页面包括关联参数的提取和设置、接口响应信息的校验等,其中,关联参数的提取和设置用于后续的测试套件过程,具体来说,当将一个用例加入测试套件,且测试套件后续的接口的参数依赖该用例响应结果的值,此时便需要在关联处理做预处理。variables/parameters/hooks页面包括局部变量的设置、参数化的设置、setup_hooks和teardown_hooks等。用例列表中还包括结果断言,而结果断言包括常规断言和beanshell断言两种形式,其中常规断言包括包含、相等、json、正则表达式等方式,beanshell断言通过编写beanshell来进行接口响应信息的校验。
在所述用例列表接口中,用户可根据用例名称或者创建者等条件进行查询,并且所述用例列表接口具有增删改查复制功能,并且可选择不同的运行环境执行对应的功能。一个模块管理接口可对应多个用例列表接口,用例之间参数值不同,用例将自动继承所属接口和模块的属性。用例类型分为标准用例、正常用例、异常用例,所述标准用例是指该用例的参数等信息都是能确保用例能正常执行并获取正常响应结果的用例,每个接口下只能有一个标准用例,当接口下创建了标准用例后,再次创建用例时,可以直接复制其参数信息等数据,从而极大增加创建用例的便利性。
所述测试套件接口用于管理项目列表、模块列表、用例列表等信息。在所述接口自动化平台中,单个用例调用参考价值有限,多个用例按照业务逻辑组成一条流程,才是接口自动化意义所在,因此可以多个测试用例可合并到一个测试套件中。当一系列接口用例创建完成后,在测试套件接口中,可以按照业务逻辑将创建的接口用例组装形成一个任务队列。在测试套件接口中,还可根据测试套件名称条件进行查询,并且有增删改查复制功能及相应的运行功能。
所述测试报告接口可用于查看详细的测试报告,并将测试报告图形化展示,例如显示各个接口运行时长、成功率、运行失败详细信息等,使测试报告简洁明了。
在一实施例中,所述步骤S102还包括:
对所述接口自动化平台进行分层设计,还得到配置管理接口、运行环境接口和定时任务接口;
其中,所述配置管理接口用于管理配置列表、新增配置;所述运行环境接口用于配置不同项目的ip地址或者域名、环境名称和简要说明;所述定时任务接口用于自动定时执行项目和定时邮件发送测试报告。
本实施例中,所述配置管理包括配置列表、新增配置等页面,所述配置管理接口则用于对配置列表、新增配置等页面进行管理,以及对全局变量进行配置,作用于整个项目维度。
所述运行环境接口用于配置不同项目的ip地址或者域名、环境名称、简要说明等,从而使后续调用测试套件接口中的测试套件时可以根据实际需要选择不同的运行环境运行。
所述定时任务接口主要用于后续自动化项目可自动定时执行并且邮件发送测试报告。本实施例通过crontab表达式设置定时策略,并通过邮件类SendMail设置邮件发送人、接收人等,同时,在定时任务列表页面可通过任务名称进行查询,并且展示定时任务是否启用、停止及增删改按钮,可实现无人值守自动定时运行并且邮件发送测试结果。
在一实施例中,所述步骤S103包括:
通过vue框架处理所述接口自动化平台前端发送的请求,分别利用MySQL数据库和redis数据库对所述接口自动化平台进行数据存储和缓存,以及利用Docker镜像构建测试运行环境隔离测试数据。
本实施例中,利用vue框架处理所述接口自动化平台前端发送的请求,并通过MySQL数据库保存项目、接口、测试用例、定时任务、测试报告等数据,Docker镜像主要用于构建测试运行环境和对测试数据进行隔离。定时任务调度可以使用Quartz库,从而可以灵活的定义各种定时规则,测试运行器采用则采用测试框架HttpRunner。
本实施例所述的Django框架MVT模型,其中,M即模型Model,数据存取层,用于处理与数据相关的所有事物;V即视图Views,用于业务逻辑处理,并在对应的时候调用Model和Template;T即模板Template,用于展示页面。代码结构包含ApiManager目录、HttpRunnerManager目录、images目录、logs目录、static目录、suite目录、templates目录、manage.py主文件等。其中,ApiManager目录用于存放接口信息,suite目录用于存放测试用例及测试用例套件,mysql目录用于存储数据,templates目录用于存放各种自定义的html模板信息,manage.py主文件用于启动服务,一般采用nohup挂后台启动方式,启动成功后可在浏览器中访问页面。另外,ApiManager目录包括admin.py、apps.py、migrations、models.py、utils、views.py等,其中的admin.py用于配置一些账号信息,apps.py用于配置应用信息,models.py用于配置mysl数据库相关信息,migrations用来同步数据库表数据,utils用来进行路由配置,views.py用来存放视图函数。另外还设置有邮箱配置、测试报告模板配置、定时任务设置等模块,celery和flower等服务配置。
在一实施例中,所述基于Httprunner测试框架对所述接口自动化平台进行测试,并在运行环境结束运行后返回测试报告,包括:
在所述用例列表接口中选择相应的接口自动化用例,以及在所述运行环境接口中选择对应的运行环境;
在所述运行环境下运行所述接口自动化用例,并在结束运行后返回测试报告。
本实施例中,在对所述接口自动化平台进行测试时,从所属用例列表接口中选择对应的接口自动化用例,并根据该接口自动化用例从所述运行环境接口中选择对应的运行环境。对于选择的运营环境,可以选择同步运行的方式,在运行环境执行完毕立即返回测试报告;也可以选择异步运行的方式,后台执行,执行完毕后可查看报告。
测试报告的模板可使用HttpRunner自带的测试报告模板,也可以选择其它的allure报告模板或者自定义的模板。测试报告通过网页版打开查看,图形化展示,简介明了,测试报告的页面上可显示执行时间,各个模块、各个测试套件、各个接口用例运行时长、运行成功率、通过数和失败数量以及运行失败用例的详细信息(包括接口用例的请求参数、响应信息、报错信息等)等等,便于测试结果统一汇总和以备日后查看。
在一实施例中,所述接口自动化测试方法还包括:
在所述接口自动化平台上进行邮箱设置,并设置对应的邮箱HOST,以及为所述邮箱设置对应的端口号。
本实施例中,利用所述接口自动化平台设置邮箱。具体的,在目录/root/web/httprunnermanger_web/HttpRunnerManager下的setting.py文件里面进行邮箱的设置,邮箱HOST根据实际情况设置,端口号设置为465,EMAIL_USR_SSL设置为True,设置EMAIL_HOST_USER和EMAIL_HOST_PASSWORD,EMAIL_SEND_USERNAME和EMAIL_SEND_PASSWORD,设置完毕后在emails.py中进行同步。当然,在其他实施例中,也可自定义邮件类SendMail发送和接收邮件,通过email.mime.multipart.MIMEMultipart()生成包含多个邮件体的对象msg,定义邮件sendperson、receiverperson、titie及content,也对excel附件和图片附件做了封装,可发送和接收包含正文、excel附件、图片附件的邮件。
在一实施例中,所述接口自动化测试方法还包括:
通过docker搭建rabbitMQ环境,并进行服务器配置;
在启动服务器后,启动celery定时任务监听器,监听是否有定时任务;
若监听至定时任务,则通过所述定时任务接口进行定时任务配置。
本实施例中,通过docker搭建rabbitMQ环境,并开放相应的端口号,然后进行服务器的配置并在配置完成后启动服务器,再启动celery定时任务监听器,用于监听是否存在定时任务,同时进行celery监控工具flower安装。在监听到定时任务后,通过所述定时任务接口进行定时任务配置。在设置定时任务时,选择任务类型、任务名称、运行环境、可选项目、可选模块、定时配置和接收邮件等。另外,定时任务配置使用cron表达式进行设置,遵循cron语法,七包含分、时、天、月、星期、命令、路径。在一具体应用场景中,每天运行一次定时任务。
图2为本发明实施例提供的一种接口自动化测试装置200的示意性框图,该装置200包括:
构建单元201,用于在linux环境下安装python环境,并安装PyCharm工具以及配置对应的环境变量,从而构建接口自动化平台;
管理单元202,用于利用树状角色权限控制方法对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口;
封装单元203,用于将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述前端脚本和后端脚本进行封装;
测试单元204,用于基于Httprunner测试框架对所述接口自动化平台进行测试,并在结束运行后返回测试报告。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种接口自动化测试方法,其特征在于,包括:
在linux环境下安装python环境,并安装PyCharm工具以及配置对应的环境变量,从而构建接口自动化平台;
利用树状角色权限控制方法对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口;
将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述前端脚本和后端脚本进行封装;
基于Httprunner测试框架对所述接口自动化平台进行测试,并在结束运行后返回测试报告。
2.根据权利要求1所述的接口自动化测试方法,其特征在于,所述利用树状角色权限控制对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口,包括:
对所述接口自动化平台进行分层设计,得到从上至下的项目管理接口、模块管理接口、接口列表接口、用例管理接口、测试套件接口和测试报告接口;
其中,所述项目管理接口用于管理项目列表、新增项目和debugtalk.py;所述模块管理接口用于管理模块列表、新增模块和模块信息;所述接口列表接口用于管理各接口信息;所述用例列表接口用于条件查询且具有增加、删除、修改、查询和复制功能;所述测试套件接口用于管理项目列表、模块列表、用例列表;所述测试报告接口用于查看测试报告结果。
3.根据权利要求2所述的接口自动化测试方法,其特征在于,所述利用树状角色权限控制对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口,还包括:
对所述接口自动化平台进行分层设计,还得到配置管理接口、运行环境接口和定时任务接口;
其中,所述配置管理接口用于管理配置列表、新增配置;所述运行环境接口用于配置不同项目的ip地址或者域名、环境名称和简要说明;所述定时任务接口用于自动定时执行项目和定时邮件发送测试报告。
4.根据权利要求1所述的接口自动化测试方法,其特征在于,所述将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述脚本进行封装,包括:
通过vue框架处理所述接口自动化平台前端发送的请求,分别利用MySQL数据库和redis数据库对所述接口自动化平台进行数据存储和缓存,以及利用Docker镜像构建测试运行环境隔离测试数据。
5.根据权利要求3所述的接口自动化测试方法,其特征在于,所述基于Httprunner测试框架对所述接口自动化平台进行测试,并在运行环境结束运行后返回测试报告,包括:
在所述用例列表接口中选择相应的接口自动化用例,以及在所述运行环境接口中选择对应的运行环境;
在所述运行环境下运行所述接口自动化用例,并在结束运行后返回测试报告。
6.根据权利要求1所述的接口自动化测试方法,其特征在于,还包括:
在所述接口自动化平台上进行邮箱设置,并设置对应的邮箱HOST,以及为所述邮箱设置对应的端口号。
7.根据权利要求3所述的接口自动化测试方法,其特征在于,还包括:
通过docker搭建rabbitMQ环境,并进行服务器配置;
在启动服务器后,启动celery定时任务监听器,监听是否有定时任务;
若监听至定时任务,则通过所述定时任务接口进行定时任务配置。
8.一种接口自动化测试装置,其特征在于,包括:
构建单元,用于在linux环境下安装python环境,并安装PyCharm工具以及配置对应的环境变量,从而构建接口自动化平台;
管理单元,用于利用树状角色权限控制方法对所述接口自动化平台进行权限管理,并对所述接口自动化平台进行分层设计,得到多个管理接口;
封装单元,用于将SpringBoot框架作为所述接口自动化平台的后端框架,将Jquery+vue框架作为所述接口自动化平台的前端框架,在对所述接口自动化平台的前端脚本和后端脚本编写完成后,利用Django框架的MVT模型对所述前端脚本和后端脚本进行封装;
测试单元,用于基于Httprunner测试框架对所述接口自动化平台进行测试,并在结束运行后返回测试报告。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的接口自动化测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的接口自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011172299.0A CN112181852A (zh) | 2020-10-28 | 2020-10-28 | 一种接口自动化测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011172299.0A CN112181852A (zh) | 2020-10-28 | 2020-10-28 | 一种接口自动化测试方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112181852A true CN112181852A (zh) | 2021-01-05 |
Family
ID=73922978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011172299.0A Pending CN112181852A (zh) | 2020-10-28 | 2020-10-28 | 一种接口自动化测试方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181852A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076249A (zh) * | 2021-04-13 | 2021-07-06 | 深圳前海联动云软件科技有限公司 | 一种基于企业需求开发的自动化测试应用平台及测试方法 |
CN113312256A (zh) * | 2021-05-21 | 2021-08-27 | 上海振华重工(集团)股份有限公司 | 一种自动化码头系统接口自动化测试系统和方法 |
CN113590113A (zh) * | 2021-07-20 | 2021-11-02 | 远光软件股份有限公司 | 一种接口生成方法、设备和计算机可读存储介质 |
CN117909246A (zh) * | 2024-03-06 | 2024-04-19 | 广东保伦电子股份有限公司 | 一种前端网页界面的自动化测试方法及平台 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601403A (zh) * | 2015-01-07 | 2015-05-06 | 上海瀚之友信息技术服务有限公司 | 一种自动化测试系统 |
CN105912473A (zh) * | 2016-04-15 | 2016-08-31 | 上海海万信息科技有限公司 | 基于bdd的移动app自动测试平台和测试方法 |
CN107634879A (zh) * | 2017-09-15 | 2018-01-26 | 深圳易嘉恩科技有限公司 | 基于PyUnit的XBRL平台接口自动化测试方法 |
CN109101428A (zh) * | 2018-08-21 | 2018-12-28 | 宜人恒业科技发展(北京)有限公司 | 一种ui自动化测试系统 |
CN109918310A (zh) * | 2019-03-15 | 2019-06-21 | 集奥聚合(北京)人工智能科技有限公司 | 一种建模平台接口测试方法 |
CN110442326A (zh) * | 2019-08-11 | 2019-11-12 | 西藏宁算科技集团有限公司 | 一种基于Vue简化前后端分离权限控制的方法及其系统 |
CN110851356A (zh) * | 2019-10-30 | 2020-02-28 | 河海大学 | 一种基于Selenium的Web应用自动化测试框架及其构建方法、系统 |
CN111026634A (zh) * | 2019-09-27 | 2020-04-17 | 珠海随变科技有限公司 | 一种接口自动化测试系统、方法、装置及存储介质 |
CN111444111A (zh) * | 2020-04-15 | 2020-07-24 | 深圳市万睿智能科技有限公司 | 基于python的性能测试方法、装置、计算机设备及存储介质 |
-
2020
- 2020-10-28 CN CN202011172299.0A patent/CN112181852A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601403A (zh) * | 2015-01-07 | 2015-05-06 | 上海瀚之友信息技术服务有限公司 | 一种自动化测试系统 |
CN105912473A (zh) * | 2016-04-15 | 2016-08-31 | 上海海万信息科技有限公司 | 基于bdd的移动app自动测试平台和测试方法 |
CN107634879A (zh) * | 2017-09-15 | 2018-01-26 | 深圳易嘉恩科技有限公司 | 基于PyUnit的XBRL平台接口自动化测试方法 |
CN109101428A (zh) * | 2018-08-21 | 2018-12-28 | 宜人恒业科技发展(北京)有限公司 | 一种ui自动化测试系统 |
CN109918310A (zh) * | 2019-03-15 | 2019-06-21 | 集奥聚合(北京)人工智能科技有限公司 | 一种建模平台接口测试方法 |
CN110442326A (zh) * | 2019-08-11 | 2019-11-12 | 西藏宁算科技集团有限公司 | 一种基于Vue简化前后端分离权限控制的方法及其系统 |
CN111026634A (zh) * | 2019-09-27 | 2020-04-17 | 珠海随变科技有限公司 | 一种接口自动化测试系统、方法、装置及存储介质 |
CN110851356A (zh) * | 2019-10-30 | 2020-02-28 | 河海大学 | 一种基于Selenium的Web应用自动化测试框架及其构建方法、系统 |
CN111444111A (zh) * | 2020-04-15 | 2020-07-24 | 深圳市万睿智能科技有限公司 | 基于python的性能测试方法、装置、计算机设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076249A (zh) * | 2021-04-13 | 2021-07-06 | 深圳前海联动云软件科技有限公司 | 一种基于企业需求开发的自动化测试应用平台及测试方法 |
CN113076249B (zh) * | 2021-04-13 | 2024-04-12 | 深圳前海联动云软件科技有限公司 | 一种基于企业需求开发的自动化测试应用平台及测试方法 |
CN113312256A (zh) * | 2021-05-21 | 2021-08-27 | 上海振华重工(集团)股份有限公司 | 一种自动化码头系统接口自动化测试系统和方法 |
CN113312256B (zh) * | 2021-05-21 | 2024-06-25 | 上海振华重工(集团)股份有限公司 | 一种自动化码头系统接口自动化测试系统和方法 |
CN113590113A (zh) * | 2021-07-20 | 2021-11-02 | 远光软件股份有限公司 | 一种接口生成方法、设备和计算机可读存储介质 |
CN113590113B (zh) * | 2021-07-20 | 2024-06-11 | 远光软件股份有限公司 | 一种接口生成方法、设备和计算机可读存储介质 |
CN117909246A (zh) * | 2024-03-06 | 2024-04-19 | 广东保伦电子股份有限公司 | 一种前端网页界面的自动化测试方法及平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181852A (zh) | 一种接口自动化测试方法、装置、计算机设备及存储介质 | |
US8584079B2 (en) | Quality on submit process | |
CN110716870B (zh) | 服务的自动化测试方法及装置 | |
US8839107B2 (en) | Context based script generation | |
US8898643B2 (en) | Application trace replay and simulation systems and methods | |
US20100306590A1 (en) | Automated Testing Platform for Event Driven Systems | |
US8832658B2 (en) | Verification framework for business objects | |
CN112286806B (zh) | 自动化测试方法、装置、存储介质及电子设备 | |
CN111832236A (zh) | 一种芯片回归测试方法、系统、电子设备及存储介质 | |
CN111722839A (zh) | 一种代码生成方法、装置、电子设备及存储介质 | |
US20060020931A1 (en) | Method and apparatus for managing complex processes | |
CN107562459B (zh) | 管理系统、界面生成/显示/操作方法、介质、终端 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN114741283A (zh) | 一种基于python设计的接口自动化测试方法及装置 | |
CN115422063A (zh) | 一种低代码接口自动化系统、电子设备及存储介质 | |
CN109739704A (zh) | 一种接口测试方法、服务端及计算机可读存储介质 | |
CN113448678A (zh) | 应用信息生成方法、部署方法及装置、系统、存储介质 | |
CN113656001A (zh) | 平台组件开发方法、装置、计算机设备及存储介质 | |
CN114610597A (zh) | 一种压力测试方法、装置、设备及存储介质 | |
CN110597722A (zh) | 一种在线开发平台的在线调试方法 | |
CN117707917A (zh) | 业务测试方法、装置及设备、介质、产品 | |
CN114691519A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN112363700A (zh) | 智能合约的协同创建方法、装置、计算机设备和存储介质 | |
CN114048118A (zh) | 一种用于计算机应用软件开发的测试系统 | |
CN113377620A (zh) | 一种基于Kubernetes的自动化系统自检方法及系统 |
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 |