• 四、测试框架/json


    一、接口文档

    接口文档主要定义接口的一些通用规则,是后端工程师指定的

    接口测试中需要我们根据接口文档去postman中请求,来获取异常用例的响应体【也就是预期结果】, 同时需要我们自己判断是否正确

    postman:method、url、headers、body

    注意:接口返回的status_code指的是状态码,是HTTP协议规定的,而返回的code返回码是开发自己定义的

    二、测试框架

    分层设计思想:每一个文件都是一个包文件【带有__init__文件】

    1.路径问题:

    --可以放到配置文件,因为是项目运行过程中不会发生变化,但是对于不同的项目有可能发生变化

    --不放到yaml当中?因为yaml当中存放静态数据,而文件路径有可能变化

    --放到py模块中,

    2.测试报告的路径

    --路径处理

    --时间戳添加到测试报告名称中

    3.请求数据的格式转化

    headers /data数据格式:从Excel读取的字符串转成字段,使用eval( )

    例如:excel里的数据data-->{“mobile_phone”:“13088889999”,“pwd”:“12346”},

    读取出来是字符串“{“mobile_phone”:“13088889999”,“pwd”:“12346”}”,用eval()去字符串

    4.断言

    全量断言:所有数据都要进行对比,一个字都不能差

    部分断言:code 、msg

    5..yaml配置文件

    编写和读取yaml

    注:yaml种的数据也可以写在config.py模块中

    6.json格式的转化

    body中传的参数是json,那么从excel读取的数据要转化成json格式,才能传参成功。

    什么是json:json是一个字符串格式,有特定的要求:

    json当做true、false、null,双引号(

    • 字符串里面必须是双引号
    • null表示什么都没有(不能使用None)
    • false,true 必须是小写的(不能大写)
    a = '{"pwd":"12345678","type":1}'
    b = '{'pwd':'12345678','type':1}'
    c = '{"mobile_phone":None,"pwd":"12345678","type":1}'
    d = '{"mobile_phone":True,"pwd":"12345678","type":1}'
    # 判断是不是json,到网上找json工具(json在线解析)
    # a是json
    # b不是json,不能用单引号
    # c不是json,不能用None,可以替换成null(json表示数据为空时用null,不能用None)
    # c不是json,不能用小写的True,要用TRUE

    json.loads(),是json转字典,注意有s

    json.dumps( ), 是字典转json,注意有s

    import json
    # 把json数据转化成python字典(用json.loads(),不要用eval())
    json_data = '{"mobile_phone":true,"pwd":"12345678","type":1}'
    dict_data = json.loads(json_data)
    print(dict_data)
    
    # 把字典转成json字符串
    new_dict_data = {'name':'yuz','password':None,'femal':False}
    json_date= json.dumps(new_dict_data)
    print(json_date)

    7.什么时候该记录logger

    --记录错误,记录运行的流程

    --断言失败logger.error( ),然后抛出异常raise e

    --断言成功logger.info( ) 

  • 相关阅读:
    如何避免delete和delete[]的尴尬?
    笔面集锦:判断单链表里面是否有环及相关扩展题(转)
    各排序算法的C++实现与性能测试(转)
    五个好的C语言编程实践
    Reviewboard管理员指南(5.5)—— Permission Groups(重要)
    Jenkins CLI getjob与RoleBased Strategy的那点事
    Reviewboard管理员指南(5.4)—— Default Reviewers(重要)
    Reviewboard管理员指南(4.2)—— Administrator Dashboard
    Maven Nexus admin密码重置的方法
    Reviewboard管理员指南(5.2)—— Access Control(重要)
  • 原文地址:https://www.cnblogs.com/zhangjx2457/p/13739995.html
Copyright © 2020-2023  润新知