接口测试--一文讲解mock server,带你自己写接口,2024年最新软件测试学习教程

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

#安装:pip install flask

from flask import Flask

#固定格式

app = Flask(name)

#路由

@app.route(“/anan/come”)

def hello():

return “Hello Flask!”

if name == “main”:

#启动服务

app.run()

解析:app.run()里面可以指定端口号,后续会讲,路由中可以指定请求接口类型是get还是post以及其他。

我们用国货之光ApiPost请求看看:

GET请求


我们指定请求方式以及端口号:

@app.route(“/anan/book”, methods=[‘GET’])

def queryInfo1():

my_flag = request.args.get(“flag”)

data = {“code”: “0”, “msg”: “接口请求成功”}

data1 = {“code”: “-1”, “msg”: “接口请求失败”}

if int(my_flag) == 0:

return data

elif int(my_flag) == 1:

return data1

if name == ‘main’:

app.run(port=7777)

如果这里指定了Get你用了post请求,就会报错:

405 Method Not Allowed

Method Not Allowed

The method is not allowed for the requested URL.

所以,也间接性的说明,接口文档还是非常重要的。指定了接口与接口的数据传递。拿不到指定的数据信息,接口不完整,这时候mock数据也是很重要的。

POST请求


看看下面的POST请求:

from flask import Flask, request, redirect, render_template, url_for

app = Flask(name)

@app.route(“/anan/book1”, methods=[“POST”])

def case02():

data = request.form.get(“flags”)

print(data)

jmeter发起请求

return {“code”: 200, “msg”: “success”}

@app.route(“/anan/book2”, methods=[“GET”])

def case01():

flag = request.args.get(“flag”)

print(flag)

http://127.0.0.1:8080/app/case01?flag=qingan

return “GET请求完成”

if name == ‘main’:

app.run(port=7777)

这里我们可以传参进来但是,却不能像get请求一样,可以在控制台看到返回值。

这也是两者的区别,也是体现了get与post的区别,get与post的区别各位就自行百度吧,还是很多这类回答的。

转换

<>表示转换,可加path可不加,如果加了path,那么qing/an这个路由就会原样输出,那么如果不加转换则会输出报错,我们来看看。

from flask import Flask, request, jsonify, redirect, render_template, url_for

app = Flask(name)

@app.route(“/anan/case03/path:username”, methods=[“GET”])

def case03(username):

print(type(username))

return {“code”: 200, “msg”: “success”}

if name == ‘main’:

app.run(port=7777)

这里打印了类型,可以在控制台看到是什么类型的,类型也是可以转变的,path改成int或者float输出的就是对应的类型。我们用ApiPost请求看看吧:

然后我们看看不写<>中的path吧。

from flask import Flask, request, jsonify, redirect, render_template, url_for

app = Flask(name)

@app.route(“/anan/case03/”, methods=[“GET”])

def case03(username):

print(type(username))

return {“code”: 200, “msg”: “success”}

if name == ‘main’:

app.run(port=7777)

看,找不到页面了吧,这里可能你们显示的不是这个,因为我写了一个报错界面,后续也会讲到。

重定向


以上述为例,我们在最后加上/就会造成重定向,重定向的状态码有哪些了解吗?像300,301等等都是,看下面的这个例子:

from flask import Flask, request, jsonify, redirect, render_template, url_for

app = Flask(name)

@app.route(“/anan/case04”, methods=[“POST”])

def case04():

return {“code”: 200, “msg”: “success”}

if name == ‘main’:

app.run(port=7777)

这里是可以正常访问的,那么我们在后面加上一个/呢:

from flask import Flask, request, jsonify, redirect, render_template, url_for

app = Flask(name)

@app.route(“/anan/case04/”, methods=[“POST”])

def case04():

return {“code”: 200, “msg”: “success”}

if name == ‘main’:

app.run(port=7777)

我们遇到这种情况其实在请求后面加上/也是可以正常访问的,那么重定向还有什么用处呢?

from flask import Flask, request, jsonify, redirect, render_template, url_for

app = Flask(name)

@app.route(“/”)

def case06():

return redirect(url_for(“case07”))

@app.route(“/hello”)

def case07():

print(“qingan”)

return {“code”: 200, “msg”: “success”}

if name == ‘main’:

app.run(port=7777)

这里我请求case06实际是可以得到case07的返回值的,请求方式默认GET。

那么有人就会想上述的POST请求能不能也可以重定向到case07来呢,响应得到case07的结果,试试就知道了

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5riF5a6J5peg5Yir5LqL,size_20,color_FFFFFF,t_70,g_se,x_16)

那么有人就会想上述的POST请求能不能也可以重定向到case07来呢,响应得到case07的结果,试试就知道了

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-6SnU7UoB-1713222208805)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值