美文网首页
2017-11-23 自动化测试服务器端搭建_Django

2017-11-23 自动化测试服务器端搭建_Django

作者: Janny_lwj | 来源:发表于2017-11-23 11:27 被阅读0次

1. 环境准备:

python安装(略)

Django: pip install Django

2. 搭建restmanagement服务器端代码,为什么叫这个名字,本来想取个更高大上的名字的,但是由于想写RESTful API,为了凸显用了RESTful标准,就把rest放在了名字里面。

a. 打开PC, 新建一个PC project

    New->project: restmanage

b. View->Tool windows->Terminal,命令如下

#创建 restmanagement Django容器

    django-admin startproject restmanagement

#到manage.py所在目录

     cd restmanagement

#创建工程

      python manage.py startapp testmanage

做了上述操作,工程的大致结构已经出来了,由于在开始做项目的时候并没有记录,现在就只有看看成形后的项目结构了。

我个人的理解:Django框架,已经把我们搭建环境的边边角角的功能都实现了,我们只需要去简单配置url, views就能够跑以来一个简单的功能了。

矿建搭建好后,我们仅仅需要添加我们需要的功能。

c. Django的添砖加瓦

restmanagement->management是Djange项目的配置,主要配置如下:

Settings:

Allowed_Hosts=["*"], 允许任何IP地址访问

INSTALLED_APPS= [

'testmanage',  #项目名称

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'rest_framework',

]

ROOT_URLCONF ='restmanagement.urls'

TEMPLATES添加:'DIRS': [os.path.join(BASE_DIR,'templates')],

database的配置:参看代码

路径配置:

#配置css的路径

STATIC_URL ='/static/'       

STATICFILES_DIRS = (os.path.join(BASE_DIR,"static"),)      

#由于项目要存放audio链接,配置audio 路径

MEDIA_ROOT='audio/'    

MEDIA_URL='/uploadfile/'

urls.py

urlpatterns = [

url(r'^$', views.index,name="index"),

url(r'^admin/', admin.site.urls),

url(r'^testmanage/', include('testmanage.urls',namespace='testmanage'))

]

urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

views.py

配置默认的打开路径

def index(request):

return redirect("/testmanage/index/")

d. 服务器功能的添砖加瓦:

models.py: 定义数据库模型,系统需要用的数据库表都在此文件中定义

用到命令:

python manage.py makemigrations

python manage.py migrate

admin.py

后台管理界面,将相关的数据库表注册到该表中,eg:

admin.site.register(RuningTestcase)

admin.site.register(Testcase)....

urls.py

工程相关的web页面url定义在此文件,eg:

url(r'^list/$', views.RuningTestcase_list,name='RuningTestcase_list'),

url(r'^log/$',  views.RuningTestcase_post,name='RuningTestcase_post'),

url(r'^index/$',views.index,name='index'),

url(r'^(?P\w+)/index_domain/$', views.index_domain,name='index_domain'),

url(r'^result/$',views.result,name='result'),

views.py

Restful api定义在此文件,由客户端访问(实现,略)

页面显示的内容处理,功能处理,可以放在该文件,由前端web访问。实现(太多,略)

RESTful api定义

Get: 客户端获取没有run的testcase,把testcase需要的内容,文件,用json封装,通过网络发给客户端。

Post:客户端在本地run case,并把test结果,封装成jason格式的数据流,发回服务器端。

在这个过程中,数据的序列化和反序列化,花费了相当长的时间,最终都没成功,手动的写函数,自己将数据封装成json格式的数据流进行传输。

前端页面:

index:返回总的test case的数量和内容

runningtestcase:正在执行的testsuit的运行情况

testresult:正在执行的testsuit的测试结果和log展示

failedtestsult:正在执行的testsuit的failed的测试结果的展示

部署后的系统展示:  http://198.13.35.165:443/testmanage/index/

相关文章

网友评论

      本文标题:2017-11-23 自动化测试服务器端搭建_Django

      本文链接:https://www.haomeiwen.com/subject/mfzavxtx.html