先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
#安装: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请求,就会报错:
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 (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!