flask构建自动化测试平台1-hello

简介

  • 第一部分

Flask实例。学习使用Flask开发,构建功能完备的Web应用程序。我们开发了动态的头条新闻应用程序,可显示最新的新闻标题以及最新的货币和天气信息。在项目二中,我们构建了由MySQL数据库支持的犯罪地图应用程序,允许用户提交犯罪信息和犯罪地点,以便绘制区域内的危险区域和其他犯罪趋势。在最后的项目中,我们将Flask与更多现代技术结合在一起,例如Twitter的Bootstrap和NoSQL数据库MongoDB,以创建Waiter Caller应用程序,允许餐厅顾客轻松地将服务员叫到他们的桌子。

  • 第二部分

Flask框架菜谱。涉及Flask的不同配置方式,如何使用模板并学习ORM和视图层。您将看到如何编写管理界面,随后进行错误调试和记录。最后,你会了解平台上的不同部署。

  • 第三部分

掌握Flask,从简单的Flask应用程序展示模型 - 视图 - 控制器(MVC)体系结构。然后扩展用户登录和注册,NoSQL查询,REST API,管理界面、单元测试等。最后讨论不同平台部署Flask应用程序,每个应用程序的优缺点以及如何部署每个应用程序

  • 第四部分

开发一个实用的自动化测试平台。

功能图.jpg

架构图.jpg

当然上面的图比较复杂,我们教学会使用简化版本

1-Hello, World!

  • Flask简介

  • 开发环境

  • Hello,World!

  • 部署

Flask简介

Flask是Python Web开发的微框架。它只实现了核心功能(包括路由),更多高级功能(包括身份验证和数据库ORM)需要使用扩展。这样可以快速上手且有灵活性。Django则相反,有自己的ORM和认证。

开发环境

用pip安装即可。 演示代码为unbuntu 16 + python3

Hello,World!

from flask import Flask

app = Flask(__name__)


@app.route("/")
def index():
    return "Hello, World!"


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

执行

$ python3 hello.py 
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 274-360-321
127.0.0.1 - - [08/Mar/2018 11:28:11] "GET / HTTP/1.1" 200 -

用浏览器打开 http://localhost:5000/

可以看到 “Hello, World!”

test0.jpg

部署

test0.jpg

# apt-get install apache2
# apt-get install libapache2-mod-wsgi-py3
# cd /var/www
# cp ~/Chapter01 -r firstapp
# vi hello.wsgi

import sys
sys.path.insert(0, "/var/www/firstapp")
from hello import app as application

# cd /etc/apache2/sites-available
# vi hello.conf

<VirtualHost *>
    ServerName example.com

    WSGIScriptAlias / /var/www/firstapp/hello.wsgi
    WSGIDaemonProcess hello
    <Directory /var/www/firstapp>
       WSGIProcessGroup hello
       WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

# a2dissite 000-default.conf
# a2ensite hello.conf
# service apache2 reload
# tail –f /var/log/apache2/error.log

参考资料

links