Python接口自动化框架+测试报告+发送邮箱(详细)

参考资料:https://blog.csdn.net/weixin_46457203/article/details/105738965

本文框架和参考文章一致,但是在自己操作过程中遇到一些问题和优化的地方,所以写篇文章记录下来,如有侵权,请联系删改

Python环境

python版本:3.8

依赖包:requests,unittest,HTMLTestReportCN,ddt;

工具:pycharm 2020.1;

python环境设置参考:https://www.runoob.com/python/python-install.html

安装依赖包:pip install 包名(如果找不到或者网络不好可以使用下面这一段下载)

pip install 包 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

pycharm可以在file>settings>Python Interpreter里面点加号增加,也会有下载失败的情况,目前还没找到原因,推荐使用豆瓣的下载。

pythoninterpreter

HTMLTestReportCN:https://blog.csdn.net/lssrain/article/details/80109214

框架设计

base

创建Pythonpackage类型的base包,用于存储基类,各种请求方法,这里的封装方式比较直接明了,根据传入参数调用对应的请求方式,相信使用过requests的都比较容易理解。

import requests
import json

class Base():
    def method_post(self,url,params =None,data = None,headers = None,files = None):
        return requests.post(url = url,params = params, data = data,headers = headers,files =files)
    def method_get(self,url,params = None,data = None,headers = None,files = None ):
        return  requests.get(url = url,params = params,data = data,headers = headers,files = files)
    def method_put(self,url,params = None,data = None, headers = None,files = None):
        return  requests.put(url = url,params = params,data = data,headers = headers,files = files)
    def method_delete(self,url,params = None,data = None,headers = None,files = None):
        return  requests.delete(url = url, params = params,data = data,headers = headers,files =files)

    def requests_type(self,method,url,params = None,data = None,headers = None,files = None):
        if method == 'post' or method == 'POST':
            return self.method_post(url = url,params = params,data = data,headers = headers,files = files )
        elif method == 'get' or method == 'GET':
            return self.method_get(url = url,params = params,data = data,headers = headers,files =files)
        elif method == 'put' or method == 'PUT':
            return self.method_put(url = url,params = params,data = data,headers = headers,files = files)
        elif method == 'delete' or method == 'DELETE':
            return  self.method_delete(url = url,params = params,data = data,headers = headers,files = files)
        else: return print("不支持该方法!!")

common

同样创建Pythonpackage类型的common包,用于存放各种共用方法。

目前这里存放的有创建对应文件下年月日文件夹,封装日志,读取excel,读取json文件,生成测试报告以及发送邮件等方法

基础文件路径(需要提前在目录中创建好):

base_pa = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
base_path = base_pa.replace('\\','/') # 生成的路径用的是'\',后面读取文件的时候会找不到,所以换成'/'
log_path = base_path + '/' + 'report' + '/' + 'logs' # 日志路径
report_html = base_path + '/' + 'report' + '/' + 'html' # 报告路径
read_xlrd = base_path + '/' + 'data' #用例路径

创建Commom类,封装各种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eric-lv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值