当前位置: 首页 > news >正文

python自动化学习六:断言

使用mock工具,模拟了3个接口调用,可以随意编写接口的响应结果。

[{"description": "登录01,第一个模拟的接口,请求Content-Type:application/json","request": {"uri": "/login","method": "post","headers": {"Content-Type": "application/json"},"json": {"username": "admin","password": "123456"}},"response": {"status": 200,"headers": {"Content-Type": "application/json;charset=UTF-8"},"json": {"code": "10000","message": "登录成功","data": {"userid": "3882","name": "lucy","addr": "chengdu","tel": "13355556666","token": "mocktoken9gd878ad"}}}},{"description": "post请求,模拟的第二个接口,订单详情页,请求Content-Type:application/x-www-form-urlencoded","request": {"uri": "/order","method": "post","headers": {"Content-Type": "application/x-www-form-urlencoded"},"forms": {"ordernum": "20201010","userid": "3218"}},"response": {"status": 200,"headers": {"Content-Type": "application/json;charset=UTF-8"},"json": {"orderNo": "LO20111216292785711001","productId": 2,"skuId": 22,"expert": 0,"count": 1,"payType": "WECHAT_PAY","payClient": "MINI","mobile": "15812345678","goodname": "apple","orderType": "NORMAL","logistics": "NONE"}}},{"description": "商品详情页,模拟的第3个接口,请求Content-Type:multipart/form-data","request": {"uri": "/details","method": "post","forms": {"goodid": "1","date": "20220101"}},"response": {"status": 200,"headers": {"Content-Type": "application/json;charset=UTF-8"},"json": {"goodid": "1","name": "pears","status": "1","stock": "25","vip_amount ": "24","sale_amount": "18","market_amount": "23.6","attribute_value": "丰富营养","product_attr_vals": "单果300g","share_title": "分享标题","share_descrip": "分享描述","license": "营业执照","employType": 0,"other_fruits":{"peach":5,"origence":8,"tomoto":90},"computer_type":{"aaa":[1,3,5],"name":["rose","jime8888"]}}}}
]//headers中的"Content-Type": "application/json"指传递参数以json方式//headers中的"token": "mocktoken"指请求头中必须加上token才能访问//status:定义http响应状态码

用postman进行接口调用,查看返回结果是不是正确的。
在这里插入图片描述
想着如何对响应结果中的computer_type的第二个字段name的第二个值进行断言,判断其是不是jime8888呢?

下面是我写的python代码,验证通过是ok的。

import requestsurl="http://127.0.0.1:9091/details"
data={"goodid":"1","date":"20220101"}
resp=requests.post(url,data=data)
print(resp.json())# 设置断言
assert 200==resp.status_code
assert resp.json()["other_fruits"]["peach"]==5
# assert resp.json()["computer_type"]["name"][1]=='jime'
assert resp.json()["computer_type"]["name"][1]=='jime',f"断言不通过,computer_type的name属性的第二个值不是jime,实际是{resp.json()["computer_type"]["name"][1]}"
http://www.xdnf.cn/news/128773.html

相关文章:

  • 【Linux系统篇】:什么是信号以及信号是如何产生的---从基础到应用的全面解析
  • redis相关问题整理
  • 2024年ASOC SCI1区TOP:改进灰狼算法IGWO+股票指数收益预测,深度解析+性能实测
  • 传感器测量(图片流程)
  • ECharts学习之 toolbox 工具栏
  • 大模型数据预处理方法总结
  • 旋转磁体产生的场-对导航姿态的影响
  • 数据库--回表
  • Spring Security基础入门
  • 电子处方模块开发避坑指南:从互联网医院系统源码实践出发
  • vuex持久化vuex-persistedstate,存储的数据刷新页面后导致数据丢失
  • 【解决】Android Gradle Sync 报错 Could not read workspace metadata
  • 【C/C++】深入理解指针(四)
  • MuJoCo 机械臂 PPO 强化学习逆向运动学(IK)
  • 工会考试精选题目及答案分享
  • 2025年3月电子学会青少年机器人技术(六级)等级考试试卷-实际操作
  • 【操作系统间文件共享_Samba】三、Samba 在实际场景中的应用案例与故障排除
  • 虚拟滚动组件优化记录
  • Linux基础使用-笔记
  • MQTT 之 EMQX
  • 运维的概述
  • 大数据去重
  • 【element plus】解决报错error:ResizeObserver loop limit exceeded的问题
  • 长城智驾重复造轮子
  • LLM微调与LoRA技术
  • 深入探索RAG(检索增强生成)模型的优化技巧
  • 数字人接大模型第一步:表情同步
  • 【Java Card】CLEAR_ON_DESELECT和CLEAR_ON_RESET的区别
  • 卷积神经网络(二)
  • 10.接口而非实现编程