本申请公开了一种综治平台接口自动化测试方法及系统,该方法包括:传入综治平台的Swagger地址,对Swagger接口内容进行解析,获取接口信息;接口信息至少包括请求参数;根据接口的请求参数对应的测试用例将接口信息写入接口测试用例文档;设定断言规则,调用断言规则中的断言规则预设值并写入接口测试用例文档的断言列中;手动编辑接口测试用例文档中的前置操作列、接口请求内容列、后置操作列与断言规则列;根据测试需求按照指定格式传入测试执行范围,根据接口测试用例文档中的用例顺序执行指定范围内的接口测试用例生成测试报告。本发明专利技术能够减少人工设计接口自动化测试用例花费的时间,并减少不同测试人员设计接口自动化测试用例的差异性带来的漏测。动化测试用例的差异性带来的漏测。动化测试用例的差异性带来的漏测。
【技术实现步骤摘要】
一种综治平台接口自动化测试方法及系统
[0001]本申请涉及自动化测试
,更具体地,涉及一种综治平台接口自动化测试方法及系统。
技术介绍
[0002]目前的智慧平安社区综治平台在每次新版本上线前需要对原有的模块功能进行回归测试,采取的方式为测试人员在WEB界面上检查各个模块的基本功能是否正常,回归测试通过后发出测试报告并允许本次版本上线。但是,这种测试方法仍然存在以下缺陷:1)回归测试工作量大,采取人工测试耗费资源;2)人工重复测试时难以保证每次测试的准确性和全面性;3)测试完成后需要整理测试过程中的问题。
技术实现思路
[0003]针对现有技术的至少一个缺陷或改进需求,本专利技术提供了一种综治平台接口自动化测试方法及系统,能够减少人工设计接口自动化测试用例花费的时间,以及减少不同测试人员设计接口自动化测试用例的差异性带来的漏测。
[0004]为实现上述目的,按照本专利技术的第一个方面,提供了一种综治平台接口自动化测试方法,该方法包括:
[0005]传入综治平台的Swagger地址,对Swagger接口内容进行解析,获取接口信息;其中,接口信息至少包括请求参数;
[0006]根据每个所述接口的请求参数对应的测试用例将所述接口信息写入接口测试用例文档;
[0007]设定断言规则,调用断言规则中的断言规则预设值,并写入所述接口测试用例文档的断言列中;
[0008]手动编辑所述接口测试用例文档中的前置操作列、接口请求内容列、后置操作列与断言规则列;
[0009]根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告。
[0010]进一步地,上述综治平台接口自动化测试方法,其中,还包括:配置测试执行的环境地址、端口、数据库连接信息与全局变量。
[0011]进一步地,上述综治平台接口自动化测试方法,其中,还包括:生成测试所需的测试数据,并保存为变量,提供给所述接口测试用例文档中进行调用;其中,
[0012]所述生成所述测试数据的方式具体包括:使用连接数据库进行查询的方式生成存量测试数据,以及,使用自定义函数生成新测试数据。
[0013]进一步地,上述综治平台接口自动化测试方法,其中,所述断言规则包括接口响应断言;
[0014]所述接口响应码的类型包括响应码断言、响应时间断言与响应正文断言;
[0015]所述响应码断言用于判断接口返回的响应码与所述接口测试用例文档中设定的预期响应码是否一致,若一致则断言成功,若不一致则断言失败;
[0016]所述响应时间断言用于判断接口响应时间是否在所述接口测试用例文档中设定的预期响应时间内,若响应时间在预期响应时间内则断言成功,若响应时间超过预期响应时间则断言失败;
[0017]所述响应正文断言用于判断响应正文中的内容与所述接口测试用例文档中设定的预期值是否一致。
[0018]进一步地,上述综治平台接口自动化测试方法,其中,所述断言规则还包括数据库查询断言;
[0019]所述数据库查询断言通过所述接口测试用例文档中设定的sql语句连接数据库进行查询,判断查询结果与所述接口测试用例文档中设定的预期值是否一致。
[0020]进一步地,上述综治平台接口自动化测试方法,其中,所述根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告,具体包括:
[0021]根据传入的测试执行范围,在所述接口测试用例文档中查找满足范围条件的行,获取该行测试用例数据;
[0022]解析执行该行前置步骤列中的内容,包括变量定义和sql执行;若前置步骤列中引用了变量,则调用所述测试数据进行替换,将变量名替换为对应的变量值;若前置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、update或delete语句,执行成功则返回true并保存为sqlResult变量,执行失败则返回false并保存为sqlResult变量;若sql执行语句为select语句,则返回查询结果并保存每一列结果到select语句中对应的查询字段的变量名中;
[0023]根据配置的所述测试环境地址和端口,拼接该行接口url列、请求方式列和请求参数信息列,利用python第三方包requests发送请求,并保存响应结果;
[0024]解析执行该行后置步骤列中的内容,若后置操作为空,则跳过此步;若后置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、update或delete语句,执行成功则返回true并保存为sqlResult变量,执行失败则返回false并保存为sqlResult变量;若sql执行语句为select语句,则返回查询结果并保存每一列结果到select语句中对应的查询字段的变量名中;
[0025]解析执行该行断言列中的内容,根据断言规则设定模块设定的规则,逐一进行判断,所有断言均成功则该用例执行成功,其中一个或多个断言失败则该用例执行失败;
[0026]进一步地,上述综治平台接口自动化测试方法,其中,还包括:
[0027]通过日志记录测试用例名称、请求地址、请求方式、请求参数、返回响应信息、前置步骤中执行sql语句保存的变量名称及对应的变量值、后置步骤中执行sql语句保存的变量名称及对应的变量值、断言中每一步断言结果及对应的实际值和预期值、用例执行成功或失败标识、用例执行时间。
[0028]进一步地,上述综治平台接口自动化测试方法,其中,还包括:
[0029]循环执行指定范围内的每一条接口测试用例,并使用标准库HTMLTestRunnerhtml生成html的测试报告。
[0030]按照本专利技术的第二个方面,还提供了一种综治平台接口自动化测试系统,该系统包括接口解析模块、用例设计模块、断言规则设定模块与测试执行模块;其中,
[0031]所述接口解析模块用于接收综治平台的Swagger地址,并对Swagger接口文档进行解析,获取接口信息;其中,接口信息至少包括请求参数;
[0032]所述用例设计模块与所述接口解析模块连接,所述用例设计模块用于根据每个所述接口的请求参数对应的测试用例将所述接口信息写入接口测试用例文档;
[0033]所述断言规则设定模块用于设定断言规则;
[0034]所述测试执行模块用于根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告。
[0035]进一步地,上述综治平台接口自动化测试系统,其中,还包括环境配置模块与数据生成模块;其中,
[0036]所述环境配置模块与所述测试执行模块连接,所述环境测试模块用于配置测试执行的环境地址、端口、数据库连接信息与全局变量;
[0037]所述数本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种综治平台接口自动化测试方法,其特征在于,包括:传入综治平台的Swagger地址,对Swagger接口内容进行解析,获取接口信息;其中,接口信息至少包括请求参数;根据每个所述接口的请求参数对应的测试用例将所述接口信息写入接口测试用例文档;设定断言规则,调用断言规则中的断言规则预设值,并写入所述接口测试用例文档的断言列中;手动编辑所述接口测试用例文档中的前置操作列、接口请求内容列、后置操作列与断言规则列;根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告。2.如权利要求1所述的综治平台接口自动化测试方法,其中,还包括:配置测试执行的环境地址、端口、数据库连接信息与全局变量。3.如权利要求1所述的综治平台接口自动化测试方法,其中,还包括:生成测试所需的测试数据,并保存为变量,提供给所述接口测试用例文档中进行调用;其中,所述生成所述测试数据的方式具体包括:使用连接数据库进行查询的方式生成存量测试数据,以及,使用自定义函数生成新测试数据。4.如权利要求1所述的综治平台接口自动化测试方法,其中,所述断言规则包括接口响应断言;所述接口响应码的类型包括响应码断言、响应时间断言与响应正文断言;所述响应码断言用于判断接口返回的响应码与所述接口测试用例文档中设定的预期响应码是否一致,若一致则断言成功,若不一致则断言失败;所述响应时间断言用于判断接口响应时间是否在所述接口测试用例文档中设定的预期响应时间内,若响应时间在预期响应时间内则断言成功,若响应时间超过预期响应时间则断言失败;所述响应正文断言用于判断响应正文中的内容与所述接口测试用例文档中设定的预期值是否一致。5.如权利要求4所述的综治平台接口自动化测试方法,其中,所述断言规则还包括数据库查询断言;所述数据库查询断言通过所述接口测试用例文档中设定的sql语句连接数据库进行查询,判断查询结果与所述接口测试用例文档中设定的预期值是否一致。6.如权利要求1、2或3所述的综治平台接口自动化测试方法,其中,所述根据测试需求按照指定格式传入测试执行范围,根据所述接口测试用例文档中的用例顺序执行指定范围内的接口测试用例,并生成测试报告,具体包括:根据传入的测试执行范围,在所述接口测试用例文档中查找满足范围条件的行,获取该行测试用例数据;解析执行该行前置步骤列中的内容,包括变量定义和sql执行;若前置步骤列中引用了变量,则调用所述测试数据进行替换,将变量名替换为对应的变量值;若前置步骤中包含sql执行语句,则连接环境配置模块设置的数据库进行执行;若sql执行语句为insert、
update或delete语句,执行成功则返回true并保存为sqlR...
【专利技术属性】
技术研发人员:李文成,肖伟明,蔡航,黄晓艳,
申请(专利权)人:武汉虹信技术服务有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。