首页 > 其他分享 >接口测试实战--postman做接口测试

接口测试实战--postman做接口测试

时间:2024-04-01 20:16:06浏览次数:19  
标签:return users get -- jsonify 接口 user 测试 id

下面是用Python+flask写的接口,用来做接口测试

from flask import Flask, jsonify, request

app=Flask(__name__)
users=[
{'id':1,'name':'tom','age':25},
{'id':2,'name':'bob','age':30},
{'id':3,'name':'lisi','age':26}
]

#获取所有用户
@app.route('/users',methods=['get'])
def get_users():
return jsonify(users)

#获取单个用户
@app.route('/users/<int:user_id>',methods=['GET'])
def get_user(user_id):
user=next((user for user in users if user['id']==user_id),None)
if user:
return jsonify(user)
else:
return jsonify({'error': 'User not found'}), 404

# 创建新用户
@app.route('/users', methods=['POST'])
def create_user():
print(request.headers) # 打印请求头部信息
data = request.get_json()
data = request.get_json()

new_user = {
'id': len(users) + 1,
'name': data['name'],
'age': data['age']
}
users.append(new_user)
return jsonify(new_user), 201


# 更新用户信息
@app.route('/users/<int:user_id>', methods=['PUT'])
def update_user(user_id):
data = request.get_json()
user = next((user for user in users if user['id'] == user_id), None)
if user:
user.update(data)
return jsonify(user)
else:
return jsonify({'error': 'User not found'}), 404


# 删除用户
@app.route('/users/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
user = next((user for user in users if user['id'] == user_id), None)
if user:
users.remove(user)
return '', 204
else:
return jsonify({'error': 'User not found'}), 404


if __name__ == '__main__':
app.run(debug=True)

 

1.使用postman通过接口查询所有的用户

已知信息:HTTP协议,方法get,域名127.0.0.1 端口5000  资源路径 /users

 

2使用postman通过接口新增用户

已知信息:HTTP协议,方法get,域名127.0.0.1 端口5000  资源路径 /users

 

标签:return,users,get,--,jsonify,接口,user,测试,id
From: https://www.cnblogs.com/cyq0528/p/18109258

相关文章

  • SonarQube代码质量静态检测
    一、Sonar简介官网:https://www.sonarqube.org/sonar是一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告;sonar通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖......
  • System.gc 之后到底发生了什么 ?
    本文基于OpenJDK17进行讨论在JDKNIO针对堆外内存的分配场景中,我们经常会看到System.gc的身影,比如当我们通过FileChannel#map对文件进行内存映射的时候,如果JVM进程虚拟内存空间中的虚拟内存不足,JVM在native层就会抛出OutOfMemoryError。当JDK捕获到OutOfMem......
  • EF Core – Table / Entity Splitting
    参考Docs– Advancedtablemapping TableSplittingTableSplitting指的是把多个Entity映射到同一个Table。Whentouseit?假设我们有一个OrderEntity,Order有很多信息:CustomerInfo,ShippingInfo,PaymentInfo,TotalAmount等等等。如果把所有信息都写进Orde......
  • 亿级地址关联匹配如何实现每天全量更新?大数据环境下hive+addresstool解决方案
    在政务系统中有许多需要将业务地址关联到标准地址的场景,addresstool致力于解决地址关联匹配算法中的速度和准确性问题。最近遇到一个业务痛点,由于客户标准地址在持续更新,导致历史上业务地址关联到的标准地址无法与最新的标准地址挂接,于是客户要求每日对全量业务地址进行挂接标准......
  • 七大查找算法
    1顺序查找//顺序查找intSequenceSearch(inta[],intvalue,intn){inti;for(i=0;i<n;i++)if(a[i]==value)returni;return-1;}2二分查找//二分查找(折半查找),版本1intBinarySearch1(inta[],intvalue,intn){int......
  • jacoco+jenkins集成代码覆盖率
    1.需先在jenkins服务器上安装apache-ant(已安装)检查ant是否安装:ant-version 2.然后在jenkins服务器和测试环境上都安装jacoco(jenkins服务器和summer服务器已安装)cd /neworiental/jacocowgethttps://repo1.maven.org/maven2/org/jacoco/jacoco/0.8.5/jacoco-0.8.5.zipu......
  • Javascript
    JS的引入方式<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>js的引入方式</title&......
  • 3.27毕设
    由于采用前后端分离的方式进行开发,不同的端口必将导致跨域问题这里我找到了两种解决方式第一种,在Controller类需要的方法上面中加入@CrossOrigin注解 可以查到,但是如果方法很多的话,每一个都要加注解,很麻烦,不推荐 所以应该考虑到用配置类 同样是可以解决问题的,属于一劳......
  • 基于http方式的portal 认证
    之前portal认证都是使用的portal协议。目前需要支持所有厂商http协议华为:URL:https://support.huawei.com/enterprise/zh/doc/EDOC1100127139/609549d8#ZH-CN_CONCEPT_0176368423 华三:URL:https://www.h3c.com/cn/d_201908/1222239_30005_0.htm 思科:URL:https://github......
  • 3 月水题练习
    真是快呀......