pytest框架

(下面方法名非固定)

1、统一请求封装及接口封装
    把所有的请求全部集中到一个方法
    目的: 利于后期维护以及加入一些日志处理、异常处理等操作
    1、统一请求封装
    创建requests_util py文件,创建统一发送请求的方法  (send_req
uests),将不同的地址进行分类 创建config.yaml存放基础路径 创建yaml_util py文件,创建read_config_file方法读取config.yaml,处理基础路径  send_request里面初始化init方法,在里面调用read_config_file()方法
    2、设置处理中间变量
    处理完基础路径后再在yml工具类里面创建write_extract_file和read_extract_file方法用于存放和提取中间变量,clean_extract_file方法清空extract.yaml,clean_extract_file方法在conftest.py文件里使用,使用装饰器fixtrue使会话开始前清空extract.yaml文件
    3、处理路径或参数请求头等中的{{}}的情况(结合读取extract.yaml)的方法
    url处理基础路径后处理路径传参的部分 在requests_util py文件中创建统一替换的方法 (replace_value)
    # 统一替换的方法 (data可能是url(string),或参数(字典,字典中包含列表),或请求头(字典))调用replace_value(url)将路径中的{{参数}}进行处理
    4、 编写yaml文件(yaml数据驱动)
    1、编写yaml文件将request、base_url等数据替换到yaml文件中
    2、使用装饰器pytest.mark.parametrize()进行数据驱动
    3、在RequestUtil py文件中创建analysis_yaml()方法进行yaml文件规范化
    4、extract的提取
       思路:
                先用jsonpath.jsonpath()判断是否有extract这个关键字
                先对caseinfo[“extract”]进行遍历   (字典)
                再两个方向正则或json
    
    5、接口动态参数的封装(debug_talk.py热加载的方式)把接口关联的取值和热加载一起处理
        复制request——utls中的统一替换方法,改为replace_load
        获取debug方法时使用反射原理
        替换热加载方法编写完成后,在统一发送请求方法中的遍历**kwargs循环中调用replac.load方法
        热加载的替换方法完成后可以将统一替换中间值的那个方法注释掉
        在热加载中添加方法(提取中间变量的方法)然后就可以注释掉统一替换的方法
        完成后将yaml文件中的{{参数}},改成热加载的${方法(参数)}
        注意:热加载传参时,需要什么类型时,需要在热加载方法中做强转

    6、断言封装
        什么地方断言?
        发送请求后断言
        为了更加清晰,可以在RequestUtil里面新建一个validate_result
        方法来进行断言
        主要思路:先判断断言方式,是eq断言还是contains断言还是其它的断言,如果是eq断言先判断是不是状态码断言(status)再进行eq断言里面的其它断言,如果是contains断言则直接判断contains的值是否在实际结果里面即可

    7、csv数据驱动
    csv数据驱动封装使用一级关键字parameters实现
    创建一个data文件包存放csv文件,根据yaml文件编写csv文件,csv文件里,数据后面不能包含空格.
    创建一个py文件(parameters)存放读取csv文件的方法
    对csv文件进行解析,在parameters文件里面创建analysis_csv方法解析
    先判断在一级关键字中是否有parameters,再规范长度,再继续解析用嵌套for循环

    8、日志处理
        略
 

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值