python单接口自动化讲解

今天我来给大家简述一下什么是接口自动化

接口自动化指的就是 用脚本的形式 对接口进行类似于工具一样的测试。只不过其运用了脚本的形式。可以校验的方式更加方便以及多样化。

首先就是最简单的单接口请求 通过其返回值进行校验,来自动化的断言其是否正常

例如我们请求一个单接口A

url = "http://aaa/aaa/aaa"     注释:接口地址
body = {                       注释:请求post接口需要携带的参数  用这种形式传过去
    "email":"aaa",
    "password":"aaa"
}
header = {                     注释:header也是先写成这样,后面真正请求post的时候 带过去
    "Content-Type":"application/json"
}
result = requests.post(url= url,data=body,json = header)   注释:这一行就是将上面准备好的需要传的参数。传过去。

这个就是简单的请求一个post请求   result 就是服务端给你响应回来的结果。从编写接口地址,到最后的请求完成。这就是最简单的一个用代码编写的接口请求。

这个接口请求并没有完全完成。接下来还要进一步处理以及断言,然后再自动化跑的时候,才能判断出是否符合预期。

res = result.json()        注释:该行代码告诉我们  将返回的结果 转化为 json格式 
print(res)                 注释:将其打印出来,会发现是一个{}字典格式的内容 或者 {[]} 列表和字典相嵌套的一个返回结果

通过res["error"] 这样的格式 就可以将你需要的字典下的键值对的键 来查找到其对应的值。 也就是根据键取值。

如果遇到列表 没办法用get怎么办呢? 用res["键"]["键"][0] 用角标来获取到里面的内容。

然后将那些固定不变的数据进行取出来。进行断言 判断 是不是 正确的返回了这个值。来判断这个接口就是不是请求成功,是不是返回了我们想要的预期结果。

这个是单接口的请求。当然 还会有多接口请求,以及连接数据库。将某些值传入数据库进行查询对应的值。以此来实现高级校验。

其实我们动态校验我们json返回得值 需要根据你实际的情况来判断,有的是固定的结果 所以你可以直接找到对应的字段 如果这个字段的value永远不变 那么你就是写死断言都可以。但是有的断言是不能写死的。下面举个例子:

1. 我们信息流 关注列表的接口  是肯定不能写死的。因为你新增一个关注的人 你可能列表里面的字段你就会变化。所以你通过角标来定位是肯定不行的。这就是动态的列表 你想要校验 你就需要运用到jsonpath这个方法,通过你固定不变的值 来找到你对应需要排查的字段。 同时 通过这个固定不变的字段去数据库查找对应的id 来判断是否和请求到的值一样 。

如果是切换环境,数据库都不一样了。如果也要去验证 就需要进行先去请求数据库这个表的这个字段,通过角标查到两个字段。然后 回来用这个字段查json 看看存不存在。

这就是 断言  一个简单接口的测试 以及如何断言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值