# 接口自动化框架 **Repository Path**: cc_itis/interface-automation-framework ## Basic Information - **Project Name**: 接口自动化框架 - **Description**: Python接口自动化测试框架,通过requests和Excel对用例进行批量的自动化回归测试。使用pytest对结果进行断言,通过allure生成测试报告,将测试报告进行压缩后发送到指定邮箱。 默认data目录下示例测试用例中,提供了各种场景下依赖接口的处理实例。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-03-10 - **Last Updated**: 2022-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **接口自动化框架** - 本质:通过requests和Excel对用例进行批量的自动化回归测试; **data目录中保存接口测试用例** **start.py入口文件** **流程** - 主要流程utils中ExcelHandler.py读取data目录中的接口测试用例数据,构造列表中嵌套字典格式执行数据返回。RequestsHandler.py调用ExcelHandler.py返回的数据,进行循环、验证、发送请求,获取响应结果,处理各种请求依赖问题,返回执行结果; - pytest中获取RequestsHandler.py返回的执行结果,进行断言,pytest中使用参数化来处理数据,使用deepdiff来进行预期值和响应结果判断; - 使用allure来生成报告,生成报告后进行压缩,将测试报告发送到配置的邮箱中; - 对重要的执行添加了log日志记录功能; **如何处理数据依赖** 在Excel中编写测试用例时: 1. 被依赖的接口用例写在上面 2.对于依赖的字段设置规则: -{"user":"admin","token":"xxiieeeeddaaaesd"} -{"token":"${case_001>request_data>token}$"} 3.依赖有请求、响应两种类型; **单元测试框架** - pytest **关于数据依赖的处理** 例如:处理请求cookies: 在请求中,判断响应结果中是否返回了cookies,如果返回了就保存到当前的用例对象中,该对象就是一个大的字典。将cookies和值保存为一个key,value 需要使用时就去拿该参数。 **资料 by cc** 1. pycharm导入工程后,在setting菜单查看python解析器环境,会触发pycharm自动校验所需类库吧,比如安装pytest和allure等插件,几十个! 2. 超详细的pytest+allure套餐贴! https://blog.csdn.net/qq_42610167/article/details/101204066 3. allure本地打不开,会遇到本地打开html文件的跨域问题,请用chrome浏览器,参照帖子增加参数再打开本地文件即可!(https://www.cnblogs.com/jing-tian/p/10820839.html) * 通过win10下管理员权限打开,编辑其快捷方式,添加启动命令参数“ --allow-file-access-from-files”屏蔽安全性的跨域检查,就能看allure的网页了! * 必须要先打开chrome浏览器,在贴入文件url,不能文件右键关联chrome打开,则不会带着上面的参数!!!!!!! 4. win10安装allure的帖子(scoop install allure方法不可行,scoop被墙了!) https://zhuanlan.zhihu.com/p/375592805 * 下载allure的zip包释放后,通过win11的“编辑系统环境变量”面板,增加全局PATH里面的allure路径(D:\TOOL\allure-2.17.3\bin)则可以运行命令“allure”查看版本。 * 但如果报错需要JAVA_HOME,就是需要安装JDK或JVM,allure是java开发需要java环境运行。 * 运行“allure generate [xml_report_path] -o [html_report_path]”,比如“allure generate json_result -o allure_result2”就能生成。