新书
速递
吴老的java版《selenium webdriver 实战宝典》和python版《selenium Webdriver 3.0 自动化测试框架实战指南》出版了,代码拿来就能用。
文 |远山近海
测开必备—Flask网站制作(1)
Hello,光荣之路推出新系列,Flask网站制作框架,教你快速实现网站制作,深入了解测试开发背后的逻辑和快速上手的工具。
Flask学习网站:
https://dormousehole.readthedocs.io/en/latest/(目录详细,但每一步的介绍内容较少)
https://blog.csdn.net/u014793102/article/details/80372815
https://yq.aliyun.com/articles/538176 页面元素及其验证
安装:pip install Flask
4
URL中加变量
coding=utf-8fromflaskimportFlask,url_forapp = Flask(__name__)创建了一个Flask类的实例__name__是自定义的名称,也可以用其他的,如__main__等@app.route("/user/")用route()装饰器来自定义自己的URLdefuser():创建一个函数,返回一个值return"hello user"@app.route("/reverse_url/")用route()装饰器来自定义自己的URLdefreverse_url():创建一个函数,返回一个值return"reverse url:"+url_for(user)if__name__ ==__main__:app.debug =Trueapp.run()
这里,在route装饰器的参数,即URL的后面加了
另一种写法:
coding=utf-8
fromflaskimportFlaskapp = Flask(__name__)创建了一个Flask类的实例__name__是自定义的名称,也可以用其他的,如__main__等@app.route("/user/
这个写法的区别在于return语句,第二个例子的return语句是用%d完成的,这里注意,URL中的传参默认都是str类型的,如果你按第二种写法,也就是说,当你需要返回一个int类型的id时,必须把id转成int类型。
URL中加的变量可以有五种类型,说明如下:
各个参数类型及释义:
类型 | 释义 |
string | 此项为默认值,如果你不输入类型,默认就是它,它接受任何文本,除了/ |
int | 正整数 |
float | 浮点数 |
path | 类似于string,但可以包含/ |
uuid | 接受uuid字符串 |
URL中加变量的用处:
前台把一个变量通过GET方法传递给后台,GET方法会把变量直接写在URL里,如:
html文件里有如下语句:
<ahref="{{url_for(delete,id=ir[0])}}">删除a>
这是一个超链接,链接里各自都包含了id这个值
对应的路由函数如下:
@app.route("/delete/
defdelete(id):ins_person_showform =person_showform(request.form)把模型类实例化OneResult_tuple= get_one_data(id)returnrender_template("delete.html",OneResult_tuple=OneResult_tuple,form=ins_person_showform)
在视图函数里,id被作为参数传到了get_one_data这个函数里,得到的结果OneResult_tuple通过render_template传递给了delete.html页面,在那个页面里,会对OneResult_tuple进行处理。
5
反向路由url_for()
反向URL是指取到某一个视图函数的URL
首先要导入url_for的包
例:直接获取URL
coding=utf-8
fromflaskimportFlask,url_forapp = Flask(__name__)创建了一个Flask类的实例__name__是自定义的名称,也可以用其他的,如__main__等@app.route("/user/")用route()装饰器来自定义自己的URLdefuser():创建一个函数,返回一个值return"hello user"@app.route("/reverse_url/")用route()装饰器来自定义自己的URLdefreverse_url():创建一个函数,返回一个值return"reverse url:"+url_for(user)if__name__ ==__main__:app.debug =Trueapp.run()
在这里,我们写了一个reverse_url函数,它把user函数的URL显示在了页面上:
实际应用场景:把页面跳转至某URL
此种用法最常用
在某html页面中,有如下语句:
@app.route("/edit/")defedit(id):returnrender_template("edit.html")
edit路由函数又对应了edit.html页面,也就是说,这句话的意思是通过点击修改链接跳转至edit.html页面。当然,如果直接写
<ahref="edit.html">修改a>
也行。
一个路由文件中多个视图函数