CN115718705A - 一种综治平台接口自动化测试方法及系统 - Google Patents

一种综治平台接口自动化测试方法及系统 Download PDF

Info

Publication number
CN115718705A
CN115718705A CN202211517608.2A CN202211517608A CN115718705A CN 115718705 A CN115718705 A CN 115718705A CN 202211517608 A CN202211517608 A CN 202211517608A CN 115718705 A CN115718705 A CN 115718705A
Authority
CN
China
Prior art keywords
interface
test
assertion
execution
test case
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
CN202211517608.2A
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.)
Wuhan Hongxin Technology Service Co Ltd
Original Assignee
Wuhan Hongxin Technology Service 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 Wuhan Hongxin Technology Service Co Ltd filed Critical Wuhan Hongxin Technology Service Co Ltd
Priority to CN202211517608.2A priority Critical patent/CN115718705A/zh
Publication of CN115718705A publication Critical patent/CN115718705A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种综治平台接口自动化测试方法及系统,该方法包括:传入综治平台的Swagger地址,对Swagger接口内容进行解析,获取接口信息;接口信息至少包括请求参数;根据接口的请求参数对应的测试用例将接口信息写入接口测试用例文档;设定断言规则,调用断言规则中的断言规则预设值并写入接口测试用例文档的断言列中;手动编辑接口测试用例文档中的前置操作列、接口请求内容列、后置操作列与断言规则列;根据测试需求按照指定格式传入测试执行范围,根据接口测试用例文档中的用例顺序执行指定范围内的接口测试用例生成测试报告。本发明能够减少人工设计接口自动化测试用例花费的时间,并减少不同测试人员设计接口自动化测试用例的差异性带来的漏测。

Description

一种综治平台接口自动化测试方法及系统
技术领域
本申请涉及自动化测试技术领域,更具体地,涉及一种综治平台接口自动化测试方法及系统。
背景技术
目前的智慧平安社区综治平台在每次新版本上线前需要对原有的模块功能进行回归测试,采取的方式为测试人员在WEB界面上检查各个模块的基本功能是否正常,回归测试通过后发出测试报告并允许本次版本上线。但是,这种测试方法仍然存在以下缺陷:1)回归测试工作量大,采取人工测试耗费资源;2)人工重复测试时难以保证每次测试的准确性和全面性;3)测试完成后需要整理测试过程中的问题。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种综治平台接口自动化测试方法及系统,能够减少人工设计接口自动化测试用例花费的时间,以及减少不同测试人员设计接口自动化测试用例的差异性带来的漏测。
为实现上述目的,按照本发明的第一个方面,提供了一种综治平台接口自动化测试方法,该方法包括:
传入综治平台的Swagger地址,对Swagger接口内容进行解析,获取接口信息;其中,接口信息至少包括请求参数;
根据每个所述接口的请求参数对应的测试用例将所述接口信息写入接口测试用例文档;
设定断言规则,调用断言规则中的断言规则预设值,并写入所述接口测试用例文档的断言列中;
手动编辑所述接口测试用例文档中的前置操作列、接口请求内容列、后置操作列与断言规则列;
根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告。
进一步地,上述综治平台接口自动化测试方法,其中,还包括:配置测试执行的环境地址、端口、数据库连接信息与全局变量。
进一步地,上述综治平台接口自动化测试方法,其中,还包括:生成测试所需的测试数据,并保存为变量,提供给所述接口测试用例文档中进行调用;其中,
所述生成所述测试数据的方式具体包括:使用连接数据库进行查询的方式生成存量测试数据,以及,使用自定义函数生成新测试数据。
进一步地,上述综治平台接口自动化测试方法,其中,所述断言规则包括接口响应断言;
所述接口响应码的类型包括响应码断言、响应时间断言与响应正文断言;
所述响应码断言用于判断接口返回的响应码与所述接口测试用例文档中设定的预期响应码是否一致,若一致则断言成功,若不一致则断言失败;
所述响应时间断言用于判断接口响应时间是否在所述接口测试用例文档中设定的预期响应时间内,若响应时间在预期响应时间内则断言成功,若响应时间超过预期响应时间则断言失败;
所述响应正文断言用于判断响应正文中的内容与所述接口测试用例文档中设定的预期值是否一致。
进一步地,上述综治平台接口自动化测试方法,其中,所述断言规则还包括数据库查询断言;
所述数据库查询断言通过所述接口测试用例文档中设定的sql语句连接数据库进行查询,判断查询结果与所述接口测试用例文档中设定的预期值是否一致。
进一步地,上述综治平台接口自动化测试方法,其中,所述根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告,具体包括:
根据传入的测试执行范围,在所述接口测试用例文档中查找满足范围条件的行,获取该行测试用例数据;
解析执行该行前置步骤列中的内容,包括变量定义和sql执行;若前置步骤列中引用了变量,则调用所述测试数据进行替换,将变量名替换为对应的变量值;若前置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、update或delete语句,执行成功则返回true并保存为sqlResult变量,执行失败则返回false并保存为sqlResult变量;若sql执行语句为select语句,则返回查询结果并保存每一列结果到select语句中对应的查询字段的变量名中;
根据配置的所述测试环境地址和端口,拼接该行接口url列、请求方式列和请求参数信息列,利用python第三方包requests发送请求,并保存响应结果;
解析执行该行后置步骤列中的内容,若后置操作为空,则跳过此步;若后置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、update或delete语句,执行成功则返回true并保存为sqlResult变量,执行失败则返回false并保存为sqlResult变量;若sql执行语句为select语句,则返回查询结果并保存每一列结果到select语句中对应的查询字段的变量名中;
解析执行该行断言列中的内容,根据断言规则设定模块设定的规则,逐一进行判断,所有断言均成功则该用例执行成功,其中一个或多个断言失败则该用例执行失败;
进一步地,上述综治平台接口自动化测试方法,其中,还包括:
通过日志记录测试用例名称、请求地址、请求方式、请求参数、返回响应信息、前置步骤中执行sql语句保存的变量名称及对应的变量值、后置步骤中执行sql语句保存的变量名称及对应的变量值、断言中每一步断言结果及对应的实际值和预期值、用例执行成功或失败标识、用例执行时间。
进一步地,上述综治平台接口自动化测试方法,其中,还包括:
循环执行指定范围内的每一条接口测试用例,并使用标准库HTMLTestRunnerhtml生成html的测试报告。
按照本发明的第二个方面,还提供了一种综治平台接口自动化测试系统,该系统包括接口解析模块、用例设计模块、断言规则设定模块与测试执行模块;其中,
所述接口解析模块用于接收综治平台的Swagger地址,并对Swagger接口文档进行解析,获取接口信息;其中,接口信息至少包括请求参数;
所述用例设计模块与所述接口解析模块连接,所述用例设计模块用于根据每个所述接口的请求参数对应的测试用例将所述接口信息写入接口测试用例文档;
所述断言规则设定模块用于设定断言规则;
所述测试执行模块用于根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告。
进一步地,上述综治平台接口自动化测试系统,其中,还包括环境配置模块与数据生成模块;其中,
所述环境配置模块与所述测试执行模块连接,所述环境测试模块用于配置测试执行的环境地址、端口、数据库连接信息与全局变量;
所述数据生成模块用于生成测试所需的测试数据,并保存为变量,提供给所述接口测试用例文档中进行调用。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的综治平台接口自动化测试方法及系统,根据Swagger接口文档及接口请求参数,根据预设的规则自动生成接口自动化测试用例,减少人工设计接口自动化测试用例花费的时间,以及减少不同测试人员设计接口自动化测试用例的差异性带来的漏测。
(2)本发明提供的综治平台接口自动化测试方法及系统,能够根据智慧平安社区类产品的数据类型和特点,定制化的生成测试数据提供给测试人员使用,减少测试人员在接口自动化测试用例编写过程中数据参数化的工作量。
(3)本发明提供的综治平台接口自动化测试方法及系统,能够根据接口自动化测试的需要,设定特有的断言规则,供测试人员灵活使用;并根据需求灵活指定要测试的接口用例范围,针对性的执行指定范围内的测试用例。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种综治平台接口自动化测试方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
一方面,本申请提供了一种综治平台接口自动化测试方法,图1为本申请实施例提供的一种综治平台接口自动化测试方法的流程示意图,请参阅图1,该方法包括以下步骤:
(1)传入综治平台的Swagger地址,对Swagger接口内容进行解析,获取接口信息;其中,接口信息包括请求参数.
综治平台使用Swagger框架进行接口管理,测试人员传入综治平台的Swagger地址,对Swagger接口文档进行解析,获取接口信息。其中,接口信息包括所属功能模块、接口名称、接口url、请求方式和请求参数信息。
利用python第三方包requests发送Swagger接口管理api-docs地址请求,保存响应json内容,并根据接口所属功能模块、接口名称、接口url、请求方式和请求参数信息在json内容中的节点位置,逐一将每个接口的相关信息保存在列表中。
(2)根据每个接口的请求参数对应的测试用例将接口信息写入接口测试用例文档。
具体地,对每个接口针对特定的请求参数生成对应的接口测试用例,写入接口测试用例excel文档,且根据接口所属功能模块分别写入不同的sheet子页,每个测试用例在excel文档中占用一行。
解析接口请求参数信息中的每个参数,按照接口请求参数类型和名称自动生成对应的接口测试用例:对于类型为必填的参数,自动生成必填参数为非空、为空和为null三种测试用例;对于智慧平安社区综治平台特定的参数名称,如区、街道、社区、人口id、房屋id、证件号码等,自动生成该参数合法和该参数不合法两种测试用例;同时,用例设计模块根据参数名称设置该参数的预设值,并自动在接口请求内容中给参数填充对应的预设值。
生成接口测试用例的规则可以根据项目测试需求进行持续添加优化,自动按照设定好的规则生成智慧平安社区接口自动化测试用例。
生成的接口测试用例excel文档中,包含以下列:
1)接口所属功能模块:接口解析模块直接解析Swagger接口内容得到;
2)接口名称:接口解析模块直接解析Swagger接口内容得到;
3)测试用例名称:用例设计模块按照接口名称、接口请求参数类型和参数名称根据预设的规则自动生成,生成格式为【接口名称】-【参数名称】非空/为空/为null/合法/不合法;
4)接口url:接口解析模块直接解析Swagger接口内容得到;
5)请求方式:接口解析模块直接解析Swagger接口内容得到;
6)请求参数信息:接口解析模块解析Swagger接口内容得到原始请求参数信息后,用例设计模块再根据设定好的规则和预设值进行替换填充;
7)前置操作:为空,后续测试人员手动补充;
8)后置操作:为空,后续测试人员手动补充;
9)断言:若断言规则设定模块没有设定预设值,则为空,后续测试人员手动补充;若断言规则设定模块设定了预设值,则自动填充设定的预设值,后续测试人员可以手动编辑修改。
进一步地,还需配置接口自动化测试执行的环境地址、端口、数据库连接信息和全局变量。
进一步地,生成智慧平安社区综治平台接口自动化测试所需要的测试数据,并保存为变量,提供给测试人员在接口测试用例excel文档中进行调用;生成测试数据的方式包括:使用连接数据库进行查询的方式生成存量测试数据,使用自定义函数生成新测试数据。
定义存量测试数据变量包括:
1)人口管理模块:人口id、姓名、证件号码、手机号、关联小区、关联房屋、关联车辆、地址;
2)房屋管理模块:小区id、小区名称、楼栋id、楼栋名称、房屋id、房屋名称、居住人员;
3)车辆管理模块:车辆id、车牌号、车主证件号、车主电话;
4)告警管理模块:告警id、告警名称、告警地点、告警详情;
5)工单管理模块:工单id、工单负责人、关联告警id。
定义新测试数据变量包括:系统时间、新证件号码、新手机号、新出生日期、新车牌号;新的测试数据主要用于新增和编辑类的接口测试。
测试人员在编辑接口测试用例excel文档时,若需要引用数据生成模块定义的变量,以$符号开头、#结尾、中间写变量名称,即使用$变量名#的格式进行引用。
除了定义的变量之外,测试人员还可以在接口测试用例excel中按照指定的格式自定义变量,自定义的变量也可以在当前接口测试用例中引用,引用的格式同样是$变量名#。
输出的测试数据可以根据项目需求进行持续添加优化,提供各个不同功能模块自动化测试所需的测试数据。
(3)设定断言规则,调用断言规则中的断言规则预设值,并写入所述接口测试用例文档的断言列中。
其中,断言规则包括接口响应断言和数据库查询断言。
接口响应断言包括3种类型:
1)响应码断言:用于判断接口返回的响应码与接口测试用例excel文档中设定的预期响应码是否一致,若一致则断言成功,若不一致则断言失败;可以设置预设值,如响应码=200,若设置了预设值,则在用例设计模块生成接口测试用例excel文档时,自动将预设值填充到文档的断言列中;
2)响应时间断言:用于判断接口响应时间是否在接口测试用例excel文档中设定的预期响应时间内,若响应时间在预期响应时间内则断言成功,若响应时间超过预期响应时间则断言失败;可以设定预设值,如响应时间<=3000ms,若设置了预设值,则在用例设计模块生成接口测试用例excel文档时,自动将预设值填充到文档的断言列中;
3)响应正文断言:用于判断响应正文中的内容与接口测试用例excel文档中设定的预期值是否一致,有正则匹配、JsonPath提取和XPath提取3种方式。
数据库查询断言是通过接口测试用例excel文档中设定的sql语句连接数据库进行查询,判断查询结果与接口测试用例excel文档中设定的预期值是否一致。
断言规则设定模块可以根据测试人员需求继进行持续优化添加,满足不同场景下接口自动化测试断言的需求。
进一步地,调用断言规则中设定好的断言规则预设值,填充到接口测试用例excel文档的断言列中,减少测试人员手动添加部分固定断言规则的工作量
(4)手动编辑所述接口测试用例文档中的前置操作列、接口请求内容列、后置操作列与断言规则列。
具体地,根据需求手动添加每一条测试用例中前置操作列中的内容,前置操作单元格可以进行变量定义和sql语句的执行,可以包括多个步骤,每一个步骤用英文的分号分隔。
根据需求手动修改每一条测试用例中接口请求内容列中的参数值,将参数值修改为引用数据生成模块提供的测试数据变量名称,或者前置步骤中自定义的变量名称,或者常量值;
根据需求手动添加每一条测试用例中后置操作列中的内容,后置操作单元格可以进行sql语句的执行,可以包括多个步骤,每一个步骤用英文的分号分隔;
根据断言规则设定模块定义的规则手动添加或修改每一条测试用例中断言列中的内容,断言单元格可以包括多个断言步骤,每一个步骤用英文的分号分隔。
(5)根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告。
具体地,根据测试人员传入的测试执行范围,在接口测试用例excel文档中查找满足范围条件的行,获取该行测试用例数据;
解析执行该行前置步骤列中的内容,包括变量定义和sql执行;若前置步骤列中引用了变量,则调用数据生成模块生成的测试数据进行替换,将变量名替换为对应的变量值;若前置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、update或delete语句,执行成功则返回true并保存为sqlResult变量,执行失败则返回false并保存为sqlResult变量;若sql执行语句为select语句,则返回查询结果并保存每一列结果到select语句中对应的查询字段的变量名中;
根据环境配置模块设置的测试环境地址和端口,拼接该行接口url列、请求方式列和请求参数信息列,利用python第三方包requests发送请求,并保存响应结果;
解析执行该行后置步骤列中的内容,若后置操作为空,则跳过此步;若后置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、update或delete语句,执行成功则返回true并保存为sqlResult变量,执行失败则返回false并保存为sqlResult变量;若sql执行语句为select语句,则返回查询结果并保存每一列结果到select语句中对应的查询字段的变量名中;
解析执行该行断言列中的内容,根据断言规则设定模块设定的规则,逐一进行判断,所有断言均成功则该用例执行成功,其中一个或多个断言失败则该用例执行失败;
日志记录测试用例名称、请求地址、请求方式、请求参数、返回响应信息、前置步骤中执行sql语句保存的变量名称及对应的变量值、后置步骤中执行sql语句保存的变量名称及对应的变量值、断言中每一步断言结果及对应的实际值和预期值、用例执行成功或失败标识、用例执行时间;
循环执行指定范围内的每一条接口测试用例,并使用标准库HTMLTestRunnerhtml生成html的测试报告。
进一步地,测试人员传入的测试执行范围的格式为:【接口测试用例excel文档名称】-【接口所属功能模块】-【接口名称】-【测试用例名称】;传入的测试执行范围可以按照以下情况任意指定:
若测试执行范围只传入【接口测试用例excel文档名称】,则会逐条执行该文档中所有sheet的每一条接口测试用例;
若测试执行范围传入【接口测试用例excel文档名称】-【接口所属功能模块】,则会逐条执行该文档中名称为【接口所属功能模块】的sheet页中的每一条接口测试用例;
若测试执行范围传入【接口测试用例excel文档名称】-【接口所属功能模块】-【接口名称】,则会逐条执行该文档中名称为【接口所属功能模块】的sheet页中,接口名称列为该指定接口名称的每一条接口测试用例;
若测试执行范围传入【接口测试用例excel文档名称】-【接口所属功能模块】-【接口名称】-【测试用例名称】,则只会执行该文档中名称为【接口所属功能模块】的sheet页中,接口名称列为该指定接口名称且测试用例名称列为该指定测试用例名称的一条接口测试用例。
另一方面,本申请提供了一种综治平台接口自动化测试系统,该系统包括接口解析模块、用例设计模块、断言规则设定模块与测试执行模块。
接口解析模块用于接收智慧平安社区综治平台的Swagger地址,解析Swagger接口内容,获取接口所属功能模块、接口名称、接口url、请求方式和请求参数信息,并将获取的所有接口信息传给用例设计模块。
用例设计模块用于对每个接口针对特定的请求参数生成对应的接口测试用例,写入接口测试用例excel文档,且根据接口所属功能模块分别写入不同的sheet子页。
断言规则设定模块用于设定智慧平安社区综治平台接口自动化测试所需要的断言规则。
测试执行模块用于获取测试人员传入的测试执行范围,按接口测试用例excel文档中用例顺序逐条执行指定范围内的接口测试用例,并生成测试报告。
进一步地,综治平台接口自动化测试系统还包括环境配置模块与数据生成模块。
环境配置模块用于配置接口自动化测试执行的环境地址、端口、数据库连接信息和全局变量。
数据生成模块用于生成智慧平安社区综治平台接口自动化测试所需要的测试数据,并保存为变量,提供给测试人员在接口测试用例excel文档中进行调用。数据生成模块输出的测试数据可以根据项目需求进行持续添加优化,提供各个不同功能模块自动化测试所需的测试数据。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种综治平台接口自动化测试方法,其特征在于,包括:
传入综治平台的Swagger地址,对Swagger接口内容进行解析,获取接口信息;其中,接口信息至少包括请求参数;
根据每个所述接口的请求参数对应的测试用例将所述接口信息写入接口测试用例文档;
设定断言规则,调用断言规则中的断言规则预设值,并写入所述接口测试用例文档的断言列中;
手动编辑所述接口测试用例文档中的前置操作列、接口请求内容列、后置操作列与断言规则列;
根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告。
2.如权利要求1所述的综治平台接口自动化测试方法,其中,还包括:配置测试执行的环境地址、端口、数据库连接信息与全局变量。
3.如权利要求1所述的综治平台接口自动化测试方法,其中,还包括:生成测试所需的测试数据,并保存为变量,提供给所述接口测试用例文档中进行调用;其中,
所述生成所述测试数据的方式具体包括:使用连接数据库进行查询的方式生成存量测试数据,以及,使用自定义函数生成新测试数据。
4.如权利要求1所述的综治平台接口自动化测试方法,其中,所述断言规则包括接口响应断言;
所述接口响应码的类型包括响应码断言、响应时间断言与响应正文断言;
所述响应码断言用于判断接口返回的响应码与所述接口测试用例文档中设定的预期响应码是否一致,若一致则断言成功,若不一致则断言失败;
所述响应时间断言用于判断接口响应时间是否在所述接口测试用例文档中设定的预期响应时间内,若响应时间在预期响应时间内则断言成功,若响应时间超过预期响应时间则断言失败;
所述响应正文断言用于判断响应正文中的内容与所述接口测试用例文档中设定的预期值是否一致。
5.如权利要求4所述的综治平台接口自动化测试方法,其中,所述断言规则还包括数据库查询断言;
所述数据库查询断言通过所述接口测试用例文档中设定的sql语句连接数据库进行查询,判断查询结果与所述接口测试用例文档中设定的预期值是否一致。
6.如权利要求1、2或3所述的综治平台接口自动化测试方法,其中,所述根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告,具体包括:
根据传入的测试执行范围,在所述接口测试用例文档中查找满足范围条件的行,获取该行测试用例数据;
解析执行该行前置步骤列中的内容,包括变量定义和sql执行;若前置步骤列中引用了变量,则调用所述测试数据进行替换,将变量名替换为对应的变量值;若前置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、update或delete语句,执行成功则返回true并保存为sqlResult变量,执行失败则返回false并保存为sqlResult变量;若sql执行语句为select语句,则返回查询结果并保存每一列结果到select语句中对应的查询字段的变量名中;
根据配置的所述测试环境地址和端口,拼接该行接口url列、请求方式列和请求参数信息列,利用python第三方包requests发送请求,并保存响应结果;
解析执行该行后置步骤列中的内容,若后置操作为空,则跳过此步;若后置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、update或delete语句,执行成功则返回true并保存为sqlResult变量,执行失败则返回false并保存为sqlResult变量;若sql执行语句为select语句,则返回查询结果并保存每一列结果到select语句中对应的查询字段的变量名中;
解析执行该行断言列中的内容,根据断言规则设定模块设定的规则,逐一进行判断,所有断言均成功则该用例执行成功,其中一个或多个断言失败则该用例执行失败。
7.如权利要求6所述的综治平台接口自动化测试方法,其中,还包括:
通过日志记录测试用例名称、请求地址、请求方式、请求参数、返回响应信息、前置步骤中执行sql语句保存的变量名称及对应的变量值、后置步骤中执行sql语句保存的变量名称及对应的变量值、断言中每一步断言结果及对应的实际值和预期值、用例执行成功或失败标识、用例执行时间。
8.如权利要求6所述的综治平台接口自动化测试方法,其中,还包括:
循环执行指定范围内的每一条接口测试用例,并使用标准库HTMLTestRunnerhtml生成html的测试报告。
9.一种综治平台接口自动化测试系统,其特征在于,包括接口解析模块、用例设计模块、断言规则设定模块与测试执行模块;其中,
所述接口解析模块用于接收综治平台的Swagger地址,并对Swagger接口文档进行解析,获取接口信息;其中,接口信息至少包括请求参数;
所述用例设计模块与所述接口解析模块连接,所述用例设计模块用于根据每个所述接口的请求参数对应的测试用例将所述接口信息写入接口测试用例文档;
所述断言规则设定模块用于设定断言规则;
所述测试执行模块用于根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告。
10.如权利要求9所述的综治平台接口自动化测试系统,其中,还包括环境配置模块与数据生成模块;其中,
所述环境配置模块与所述测试执行模块连接,所述环境测试模块用于配置测试执行的环境地址、端口、数据库连接信息与全局变量;
所述数据生成模块用于生成测试所需的测试数据,并保存为变量,提供给所述接口测试用例文档中进行调用。
CN202211517608.2A 2022-11-30 2022-11-30 一种综治平台接口自动化测试方法及系统 Pending CN115718705A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211517608.2A CN115718705A (zh) 2022-11-30 2022-11-30 一种综治平台接口自动化测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211517608.2A CN115718705A (zh) 2022-11-30 2022-11-30 一种综治平台接口自动化测试方法及系统

Publications (1)

Publication Number Publication Date
CN115718705A true CN115718705A (zh) 2023-02-28

Family

ID=85256992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211517608.2A Pending CN115718705A (zh) 2022-11-30 2022-11-30 一种综治平台接口自动化测试方法及系统

Country Status (1)

Country Link
CN (1) CN115718705A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118349479A (zh) * 2024-06-14 2024-07-16 北京宇信科技集团股份有限公司 一种自动生成测试用例的报文和断言的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118349479A (zh) * 2024-06-14 2024-07-16 北京宇信科技集团股份有限公司 一种自动生成测试用例的报文和断言的方法及装置
CN118349479B (zh) * 2024-06-14 2024-09-17 北京宇信科技集团股份有限公司 一种自动生成测试用例的报文和断言的方法及装置

Similar Documents

Publication Publication Date Title
CN109814856B (zh) 数据录入方法、装置、终端及计算机可读存储介质
CN109800258B (zh) 数据文件部署方法、装置、计算机设备及存储介质
CN111210842B (zh) 语音质检方法、装置、终端及计算机可读存储介质
CN110276074B (zh) 自然语言处理的分布式训练方法、装置、设备及存储介质
CN115718705A (zh) 一种综治平台接口自动化测试方法及系统
CN115118582A (zh) 日志分析的方法和装置
US11985029B2 (en) Pico-base station configuration method and apparatus, storage medium and electronic apparatus
CN114116801A (zh) 数据清单核查方法及装置
CN113434405A (zh) 测试文件的确定方法及装置、存储介质及电子装置
CN117194255A (zh) 测试数据维护方法、装置、设备及存储介质
CN115454865A (zh) 软件测试数据设计方法、装置、电子设备及存储介质
CN114817024A (zh) 用例生成方法及装置、设备、存储介质
CN114090435A (zh) 测试方法、装置、电子设备及存储介质
CN115225654A (zh) 基于可配置化通讯协议的通信方法及设备
CN117724986B (zh) 一种在用例执行中自动操作kafka的方法及装置
CN113850683A (zh) 车险询价请求处理方法、装置、计算机设备和存储介质
CN113190236A (zh) Hql脚本校验方法及装置
CN114115833B (zh) 协议审计代码自动生成方法及装置
CN117234512B (zh) 业务快速开发方法、系统、电子设备及存储介质
CN114025031B (zh) 基于地面测控系统数据传输协议的数据处理方法和装置
CN113704320B (zh) 数据处理方法、装置、电子设备及存储介质
CN112988555B (zh) 接口测试方法、装置、设备及存储介质
CN113141366A (zh) 报文报送方法及装置、存储介质和电子设备
CN116720020A (zh) 一种页面更新的方法、装置、设备及介质
CN114119263A (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