# interface-python
注意事项:<br>
<br>
运行此项目前,先修改[config.ini](https://github.com/zhangmoumou1/interface_python/blob/master/config/config.ini)的路径,此路径为项目本地路径;此接口数据为字典格式,用到实际项目中请转换成json、xml或其他格式<br>
## 一、实现方法<br>
1.通过python+flask编写Restful API,方便调试此框架<br>
<br>
2.运行Restful_Api下的[resfulapi.py](https://github.com/zhangmoumou1/interface_python/blob/master/Restful_Api/resfulapi.py),可先通过postman或其他接口工具自测接口是否运行正常,停止运行可结束进程,<br>
具体请求结果可查看博客http://www.zhangyanc.club/blog/82<br>
<br>
3.使用python的requests模块请求接口,官方文档http://docs.python-requests.org/zh_CN/latest/user/quickstart.html<br>
<br>
4.这里使用ddt数据驱动读取Excel中的测试用例执行<br>
<br>
5.输出测试报告和日志<br>
## 二、框架目录的讲解<br>
![no view](https://github.com/zhangmoumou1/interface_python/blob/master/readme/%E6%9E%B6%E6%9E%84%E5%9B%BE.jpg)<br>
<br>
1.Public和branch文件夹主要写一些公共、处理方法,如请求的二次封装、获取Excel数据、日志输出、测试报告优化,配置文件读取等;<br>
<br>
2.Restful_Api文件夹为接口的实现,运行[resfulapi.py](https://github.com/zhangmoumou1/interface_python/blob/master/Restful_Api/resfulapi.py),通过postman请求验证;<br>
<br>
![no view](https://github.com/zhangmoumou1/interface_python/blob/master/readme/postman.jpg)<br>
<br>
3.config文件夹用例管理路径,[config.ini](https://github.com/zhangmoumou1/interface_python/blob/master/config/config.ini)为项目的主路径,[globalparam.py](https://github.com/zhangmoumou1/interface_python/blob/master/config/globalparam.py)为日志文件、测试用例读取和存储的路径;<br>
<br>
4.report文件夹下存放日志和测试报告;<br>
<br>
![no view](https://github.com/zhangmoumou1/interface_python/blob/master/readme/%E6%B5%8B%E8%AF%95%E6%8A%A5%E5%91%8A.jpg)<br>
<br>
![no view](https://github.com/zhangmoumou1/interface_python/blob/master/readme/%E6%97%A5%E5%BF%97.jpg)<br>
<br>
5.testCase文件夹写了测试用例,通过ddt数据驱动读取Excel文件,用unittest单元测试框架管理用例;<br>
<br>
6.testdata文件下是测试用例;<br>
<br>
7.运行[run_ddt_case.py](https://github.com/zhangmoumou1/interface_python/blob/master/run_ddt_case.py)执行用例(如果整个调用流程不太懂的可以看readme下的xmind流程图)。<br>
## 三、更新优化中. . .
### 2018.11.02---更新flask接口代码,用例增加post、put、delete请求方式<br>
1.在此之前只有单一的get接口请求,完善其他几种请求方式<br>
2.用例中包括请求成功和失败的案例<br>
### 2018.11.04---优化支持多断言,可对resultcode、指定返回字段进行断言<br>
实现逻辑:<br>
1.Excel中新增"期望2"列,提供断言期望值<br>
2.请求响应字段为字典格式,指定字段断言,前提需从Excel期望值中获取key值,来指定返回请求的value值<br>
3.如接口只对resultcode断言,对Excel“期望2”列参数为"param=null"作为判断依据,详见[ddt_case.py](https://github.com/zhangmoumou1/interface_python/blob/master/testCase/ddt_case.py)代码<br>
4.新增多个断言需修改代码<br>
### 2018.11.05---增加mysql、oracle、SQLserver数据库的操作<br>
实现逻辑:<br>
1.新增[readyaml.py](https://github.com/zhangmoumou1/interface_python/blob/master/config/readyaml.py)、[db.yaml](https://github.com/zhangmoumou1/interface_python/blob/master/config/db.yaml)、[operate_db.py](https://github.com/zhangmoumou1/interface_python/blob/master/Public/operate_db.py)<br>
1.使用yaml文件管理数据库连接信息(此为个人服务器的数据库请不要随意改动数据)<br>
2.通过接口url和数据库名关联,来判断执行接口需操作对应库<br>
3.通过接口url和SQL语句关联,来判断执行接口所要执行的SQL<br>
4.在[select_request.py](https://github.com/zhangmoumou1/interface_python/blob/master/Public/select_request.py)中进行数据库操作获取请求数据<br>
### 2018.11.07---测试报告用例名的优化和界面美化<br>
1.使用现有的ddt数据驱动不能体现具体用例名称,修改ddt源码从Excel中传入用例名,参考https://www.cnblogs.com/Simple-Small/p/9230382.html<br>
2.在以往测试报告上增加通过百分比和其他优化<br>
### 2018.12.07---支持读取多个Excel文件<br>
实现逻辑:<br>
1.在实际工作中测试用例不可能只写在一个Excel中,支持读取多个<br>
2.更改[get_excel.py](https://github.com/zhangmoumou1/interface_python/blob/master/Public/get_excel.py),从指定文件夹下获取Excel文件,读取所有用例存到列表里<br>
3.注意Excel文件的命名,以实际代码处理为准<br>
### 2019.05.26---维持接口登录状态请求接口<br>
在请求接口时一般会先要登录,大家可以在请求前先去登录并获取到cookies,然后把cookies传进get、post请求操作内,每次跑自动化去执行一次登录获取cookies即可写成全局变量或者类属性调用
<br>
<br>
### 有问题QQ:1392364470,觉得不错的Star一下哦!<br>
### 更多干货可看个人博客:http://www.zhangyanc.club/
没有合适的资源?快使用搜索试试~ 我知道了~
Python-python接口自动化测试框架
共67个文件
pyc:30个
py:22个
jpg:5个
需积分: 39 64 下载量 187 浏览量
2019-08-10
04:30:46
上传
评论 2
收藏 410KB ZIP 举报
温馨提示
python接口自动化测试框架---包括请求的封装、数据库操作、多断言、ddt数据驱动、多种请求方式等
资源推荐
资源详情
资源评论
收起资源包目录
Python-python接口自动化测试框架.zip (67个子文件)
interface_python-master
readme
接口自动化框架思维导图.xmind 84KB
日志.jpg 109KB
请求页面.jpg 15KB
postman.jpg 34KB
测试报告.jpg 124KB
架构图.jpg 21KB
testcase
__init__.py 0B
test_case.py 2KB
__pycache__
__init__.cpython-35.pyc 141B
test_case.cpython-35.pyc 2KB
__init__.cpython-36.pyc 140B
test_case.cpython-36.pyc 2KB
run_ddt_case.py 668B
testdata
case2.xlsx 11KB
case3.xlsx 11KB
case1.xlsx 11KB
README.md 4KB
report
__init__.py 0B
log
__init__.py 0B
2019-03-12--10-58-42.log 19KB
test_report
__init__.py 0B
result.html 41KB
2018-11-07-16-18-39result.html 17KB
Restful_Api
xml_request.py 868B
__init__.py 14B
resfulapi.py 1KB
config
readconfig.py 872B
__init__.py 0B
globalparam.py 888B
config.ini 61B
readyaml.py 894B
__pycache__
readconfig.cpython-36.pyc 1KB
globalparam.cpython-36.pyc 725B
__init__.cpython-35.pyc 132B
readconfig.cpython-35.pyc 1KB
globalparam.cpython-35.pyc 810B
readyaml.cpython-36.pyc 1KB
__init__.cpython-36.pyc 138B
readyaml.cpython-35.pyc 1KB
db.yaml 798B
Public
__init__.py 136B
requests.py 3KB
expect.py 1017B
select_request.py 1KB
__pycache__
select_request.cpython-36.pyc 2KB
select_request.cpython-35.pyc 2KB
__init__.cpython-35.pyc 132B
expect.cpython-36.pyc 1KB
__init__.cpython-36.pyc 138B
expect.cpython-35.pyc 2KB
requests.cpython-36.pyc 3KB
requests.cpython-35.pyc 3KB
Branch
__init__.py 0B
HTMLTestReportCN.py 25KB
log.py 2KB
__pycache__
operate_db.cpython-35.pyc 2KB
HTMLTestReportCN.cpython-36.pyc 19KB
operate_db.cpython-36.pyc 2KB
log.cpython-36.pyc 2KB
__init__.cpython-35.pyc 132B
operate_excel.cpython-36.pyc 2KB
log.cpython-35.pyc 2KB
operate_excel.cpython-35.pyc 2KB
__init__.cpython-36.pyc 138B
HTMLTestReportCN.cpython-35.pyc 20KB
operate_excel.py 2KB
operate_db.py 2KB
共 67 条
- 1
资源评论
普通网友
- 粉丝: 485
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功