同步操作将从 jelly/Python接口自动化测试框架 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
此框架是基于Python3+Pytest+Requests+Allure+Yaml+Json实现全链路接口自动化测试。
主要流程:
1)抓包的接口 解析接口数据包 ->生成接口基础配置(yml) ->生成测试用例(yaml+json) ->生成测试脚本(.py) ->运行测试(pytest) ->生成测试报告(allure) 2)手工编写的接口用例 手工根据规则编写测试用例(yaml+json) ->生成测试脚本(.py) ->运行测试(pytest) ->生成测试报告(allure)
测试流程:
初始化请求 ->处理接口基础信息 ->读取前置接口用例 ->发送前置接口 ->处理当前接口数据 ->发送当前接口 ->检查接口返回
接口自动化测试框架介绍:
关于接口依赖:支持前置接口预置,填写前置接口相对路径即可,如果存在数据依赖关系,此时你也仅需要填写前置接口对应的参数值,本框架将自动为你调用和替换关联数据。 1、前置接口配置: 1)项目文件的page目录下有comeCase.yaml 公用测试用例文件,前置写这个文件类的接口时,配置: premise: /commonCase.yaml xxx接口 测试数据索引(从0开始); 2)也支持填写已有接口,从测试文件中去数据,配置:premise: /xxx/xxxx.yaml _ 测试数据索引(从0开始) 2、前置接口数据依赖: 1)当前接口的参数类,某个参数要引用前置接口的数据,直接用${xxx}进行引用,将自动给你查找替换 2)可引用前置接口的请求参数和接口响应输出参数,引用方式同上; 3)如果前置接口中存在参数为列表形式,如: documents: ['111','222'],当前接口可用${documents}引用整个参数值,也支持用${ducuments_x}引用参数列表中任一一个值。
关于测试数据:本框架采用yaml记录接口基本信息,当请求参数和结果较大时,将单独保存到json文件中,解决各类数据的错综复杂问题。
关于参数化:本框架采用常用工具使用的变量标识 ${var} ,通过正则表达式,自动检索变量,自动为你替换变量,并且为你提供多种函数助手【$RandInt()、$GenGuid()】等,生成一些随机的伪数据,解决各种数据问题。
关于用例执行:本框架利用pytest扩展库,支持多线程模式、失败用例重试、用例模糊匹配等。
关于数据校验:本框架支持多种校验方式(5种) 1) no_check:不做任何校验
2) check_code:仅校验接口返回码code
3) check_json:校验接口返回码code,并进行json格式比较返回结果(默认方式)
4) entirely_check:校验接口返回码code,并进行完整比较返回结果
5) regular_check:校验接口返回码code,并进行正则匹配返回结果
6) check_db:数据库校验
关于环境切换:本框架支持环境切换,只需增加修改配置文件 1)默认项目名称:PyDemo (用于大部分项目支持) 2)如果有项目对断言以及用例修改校大,可以复制PyDemo项目,重新生成一个项目包,如:PyDemoFW ,没有复制新的项目包会默认使用PyDemo项目的数据 3)修改配置: - apiConfig.yaml 【项目配置】 复制一份默认项目配置,在文件下粘贴,修改键名为你需要运行的项目名; - dbConfig.yaml 【数据库配置】同上 - requestConfig.yaml 【处理后写入的数据键值对】同上 这里的值不需要去修改,运行项目时后自动修改,可根据需求,可不用此配置 - runConfig.yaml 【运行配置】 对应修改项目名,其他内容按需修改
运行配置说明:
运行项目名 project_name: PyDemo
运行模式: auto_switch: 2
0 - 不开启自动生成测试用例功能,将直接运行测试
1 - 根据手工编写用例,自动生成测试脚本,然后运行测试
2 - 根据接口抓包数据,自动生成测试用例和测试脚本,然后运行测试
3 - 根据接口抓包数据,自动生成测试用例和测试脚本,但不运行测试
注意:目前解析仅支持(.chlsj)格式,请使用Charles工具抓包导出JSON Session File
扫描测试用例目录(且仅当auto_switch=1时有用) scan_dir:
使用模糊匹配测试用例(空则匹配所有) pattern:
执行并发线程数(0表示不开启) process: 0
失败重试次数(0表示不重试) reruns: 0
本轮测试最大允许失败数(超出则立即结束测试) maxfail: 20
接口调用间隔时间(s) interval: 1
接口自动化框架超级实用!本人已在企业中落地使用,目前已经测试多条用例,完全可以落地企业中接口自动化测试。可以大大提高我们测试人员的工作效率。 详情了解qq:3270244710.群里全套测试视频文档资料从功能到自动化,性能,希望各位给颗星星!!!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。