四、测试框架/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( ) 

原文地址:https://www.cnblogs.com/zhangjx2457/p/13739995.html