测试平台

目前正在搭建一个测试平台 ,看时间更新,链接:http://120.76.100.168:8000/MyApp/login/

account:zhoujunjun , paswd:asdf

用的技术如下:

1.Django

说到python,大家应该都会的差不多,平时写个小脚本,写个小请求都不在话下。但是如何用python写一个web平台呢?这里我们就需要用到django。django你可以理解为就是一个pip能下载的第三方框架,然后你在它这个框架内去填东西,不出意外的话,一小时以内,你就能搭建一个自己的平台了,虽然只是第一个页面,没啥美感可言。它下载下来之后就是pip的一个包,有个命令,你用python运行这个命令就可以创建一个项目,这个项目下它给你分好文件夹了,每个下面写什么,你就按照要求去写就可以了,很简单。

 

2.Python

就是一个编程语言,没啥特殊的。大家用py3吧,本平台是py3写的。

3.html

就是一个静态语言,啥叫静态,就是它本身没啥能力,就是一堆死文字,但是浏览器能看懂,然后按照这堆静态文本,生成漂亮的网页。那么html中我们需要记住什么呢,全是死记硬背的东西。比如输入框:input , 按钮:button ,  下拉框:select  ,做个盒子把这一堆装起来统一带着移动或者是设置什么,盒子就可以是div , 静态文案有span, 标题这种大文案用h1。图片img,超链接a,

循环显示同一个的循环:{% for i in list %} ... {% endfor %}

 

 

4.js/jquery

这就是嵌入到html页面中的另一种语言,是动态的,它和python一样都可以说是脚本语言,写法上不太相同。但是浏览器能看懂它。用来干嘛呢?比如你要设计让用户点击这个按钮就提示xxx,这种动作 就需要靠js了。jquery是在js的基础上进行的又一次封装,使用起来简单一些。

比如button按钮,你想让点击操作弹出提示xxx, 就要给这个按钮 加一个属性:οnclick= ... 这个属性就代表有人点击之后会运行什么js函数,然后指向一个js函数。οnclick=“ press() ”  

然后你去写个js函数press(),内容就是,弹出提示xxx。这样就可以实现有人点击就弹提示了。

 

5.css

这个也是前端的知识,主要就是样式 也就是class。

主要就是你要是觉得这个按钮 或者 这个输入框 太丑了。想给它美化一下,就要用到css,比如给它换个长宽,换个颜色等等。

button按钮举例,给它加个属性,style="background-color=red" ,就是让按钮背景颜色变成红色的。所有的各种属性css,都要放在style属性中哦: style="color=xxx;width=xxx" 中间都用;分号来隔开。

6.requests模块

这个模块是python目前最好用的一个发送tcp/ip 请求的模块,也就是我们想做接口测试平台,那怎么才能发出一个http请求呢,那全都要靠reqeusts模块。

比如发一个post请求:requests.post(url,headers,date) ,这样就发出去了。

 

7.sql/orm 数据库操作方法

一个平台,那么它肯定需要一个数据库来存放各种配置和数据。那么django自带的sqlite3 数据库就非常好用了。操作方法和sql数据库完全一致,就是个自带轻量级版本而已。

传统我们操作数据库,进行增删改查,都是用sql语句,如:select * from ..

现在在django中。我们可以不用在自己手写各种sql了,和链接断开上传获取这一大堆语句了。也不用担心数据库连接失败,忘记断开,线程池等等一大堆事情。orm方式可以看作django对sql语句的一种封装,我们只需要调用对应的函数即可实现上面一大堆麻烦的“链接数据库,写sql,上传sql,获取查询数据元组,断开数据库”这些操作了。

比如查询:表名.objects.all() 即可获取全部数据,完全不用担心io等报错。

8.mtv架构

可能大家都听过自己公司的开发的项目都是什么mvc架构,但是django在更人性化,更易理解的角度出发,演化了mtv架构。

m  就是数据层,数据库,这些

t 就是模版层,就是你写的这些html存放的地方

v 就是视图逻辑层 ,就是你写后端函数代码的地方

额外还需要理解一下路由分发控制器,也就是urls.py,这些文件和层级,都会在你用django命令创建一个项目之后自动给你创建好。你只需要在里面填肉即可。这是干嘛的呢,就是让你的html 和你后端代码函数 链接起来的一个文件而已。里面全是对应关系。后续会给大家详细讲解。

 

9.一定的产品设计思维

如果你不想你做出来的东西 自己都恶心的不想用的话,就好好学习一下产品思维,当然我也在学习中。如何跟用户交互,界面如何设计 等等都需要考虑。

10.一定的架构和算法能力

如果你不想你的整个平台项目都摇摇欲坠,运行个功能卡的要死,各种异常报错,维护和修改起来比开发时候还难。那么就需要学习一些这东西。架构和算法上的优化效果相比其他 那都是次元级别的差距,我也一直在学习中。。

11.一定的运维和营销能力

多一个人用就相当于帮你测试了,所以用户多多益善,当然这个成就感也很高,但是前提是你会运营而且质量足够吊。