python接口自动化框架-case依赖与SQL依赖以及SQL断言实现
框架目录:
整体思路:
采用excle数据驱动维护用例,数据依赖:两种实现方法case依赖与sql依赖,优先使用case依赖,
最终运行的用例是:

维护用例在datacase目录下:
涉及到用例信息新增/修改时,请先执行此脚本,目的是合并所有用例至run/datacase_all.xlsx


1.使用caseID关联,通过caseId找到对应的excle函数执行,并返回项目数据,通过dependkey:对象是json表达式,获取响应数据中对应的内容,最后组装为dict,与请求数据进行交互完成请求参数替换
2.sql依赖:在excle中维护对应的sql语句,框架会自动执行对应行的sql,然后使查询结果与请求数据进行交互,完成参数替换
流程图如下:

3.断言分为普通的字符串断言与sql断言,sql断言将sql的执行结果与当前用例的执行结果进行交互,完成最终的断言处理
相关代码实现:
用到的核心第三库:
openpyxl、demjson、jsonpath_rw、xlsxwriter、pandas、codecs、redis、pymongo、pymysql、request、ruamel.yaml
框架是作者业务时间的兴趣爱好完成的,也还有很多不完善的地方,例如用例依赖目前没做成实时的,现在是通过脚本先把所有的依赖数据全部生成好了在执行的,
框架某些模块借用了网上的其他框架,感谢提供的相关思路
项目已上传github:
地址 https://github.com/qtclm/AutoInterfaceTest_Datadepend
运行用例时,会询问是否需要执行数据依赖写入,需结合实际情况是否需要完成词操作,这个操作相对比较耗时,后续考虑使用多线程实现
2020.4.11最近更新:支持多种content_type:application/json,application/x-www-form-urlencoded,text/html,multipart/form-data,XMLHttpRequest,excle用例增加对应支持,支持自定义关键字,在对应的content下维护对应的关键字即可
注意:关键字不能重复,关键字不能重复,关键字不能重复
关键字维护文件config.yaml,示例:

如需新增content_type,则需要改动对应代码和维护config.yaml(同上):

如果对自动化测试有兴趣,欢迎一起交流,qq:248313385
python接口自动化框架-case依赖与SQL依赖以及SQL断言实现的更多相关文章
- python接口自动化框架
接口测框架 安装教程 需要3.5及以上版本的python pip install -r requirements.txt 使用说明 运行manage.py创建项目 创建的项目在projects目录下 ...
- python接口自动化框架搭建
一.在搭建接口自动化测试框架前,我觉得先需要想明白以下几点: ① 目前情况下,绝大部分接口协议是http,所以需要对http协议有个基本的了解,如:http协议请求.响应由哪些部分组成,常用的meth ...
- 【python接口自动化框架-unittest】如何传参数到下一个case
1.前提 平时我们用unittest的时候,都知道每个test_ 都是相互独立的,但是很多现实情况是,我们下一个接口参数,可能会用到上一个接口返回的json字段,那么,我们怎么去实现呢 2.实例 1. ...
- 【python接口自动化框架-unittest】【一】unittest单元测试框架概念
一.unittst单元测试框架 概念参考:https://docs.python.org/2/library/unittest.html 使用方法:import unittest (引入unittes ...
- python3+request接口自动化框架
首次书写博客,记录下写的自动化接口框架,框架比较简单,哈哈哈,算是记录下历程把!~~~ 一.本次框架由python3.6 书写 1.准备代码环境,下载python3.6 下载地址:https:/ ...
- 转载:python + requests实现的接口自动化框架详细教程
转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...
- python + requests实现的接口自动化框架详细教程
前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...
- python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- python接口自动化24-有token的接口项目使用unittest框架设计
获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部 ...
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...
随机推荐
- 【转载】 Tensorflow如何直接使用预训练模型(vgg16为例)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/weixin_44633882/artic ...
- 强化学习算法之DQN算法中的经验池的实现,experience_replay_buffer部分的实现
本文的相关链接: github上DQN代码的环境搭建,及运行(Human-Level Control through Deep Reinforcement Learning)conda配置 ----- ...
- 【转载】 Mobaxterm 中文输入Backspace按键问题
版权声明:本文为CSDN博主「Flynnsin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/qq_45830 ...
- 说说"铁马冰河"事件
地址: https://baike.baidu.com/item/%E9%93%81%E9%A9%AC%E5%86%B0%E6%B2%B3/60313943?fr=aladdin 其实也没有什么好说的 ...
- Correct the classpath of your application so that it contains a single, compatible version of xxx报错解决
1.背景 有时候引入包有冲突,比如在Maven项目中的不同模块多次重复引入等 这里遇到的问题是重复映入了如下包: <dependency> <groupId>com.baomi ...
- JavaWeb中的Tomcat,Servlet详解
JavaWeb JavaWeb技术主要包括服务器技术(后端),如Tomcat,Servlet,JSP等待,以及客户端技术(前端)如HTML,CSS,JavaScript等等 Web服务器 Web服务器 ...
- SMU Autumn 2023 Round 2(Div.1+2)
SMU Autumn 2023 Round 2(Div.1+2) C. Chaotic Construction 把环展开的话就是\(1 \sim 2n\),若\(D\)的位置放上路障的话,在这个展开 ...
- apollo配置动态更新
简单配置 使用@Value注解的配置会自动刷新配置 复杂对象 @Component("systemConfig") @ConfigurationProperties(prefix ...
- HTB-BoardLight靶机笔记
BoardLight靶机笔记 概述 HTB的靶机BoardLight 靶机地址:https://app.hackthebox.com/machines/BoardLight 一.nmap扫描 1)端口 ...
- MySQL 亿级数据平滑迁移实战
作者:来自 vivo 互联网服务器团队- Li Gang 本文介绍了一次 MySQL 数据迁移的流程,通过方案选型.业务改造.双写迁移最终实现了亿级数据的迁移. 一.背景 预约业务是 vivo 游戏中 ...