自动化测试平台的搭建(一)

时间:2024-03-05 06:57:59

工具:pycharm

django+mysql

1.创建django项目autotest:

django-admin startproject autotest 

2.修改数据库信息

DATABASES = {
    \'default\': {
        \'ENGINE\': \'django.db.backends.mysql\', #mysql数据库
        \'NAME\': \'api_test\', # 数据库名
        \'USER\': \'dagnkai\',# 用户
        \'PASSWORD\': \'dangkai\', # 密码
        \'HOST\': \'127.0.0.1\', # 本地
        \'PORT\': \'3306\',
        # \'OPTIONS\': {
        #     \'init_command\': "SET sql_mode=\'STRICT_TRANS_TABLES\'",
        #     \'sql_mode\': \'traditional\',
        #     },
    }
}

3. 启动服务:

Python manage.py runserver  默认端口8000,  也可以修改端口启动 Python manage.py runserver 127.0.0.1:80

4. 创建相应的表:

  4.1 根据model.py中的类创建:

    python manage.py makemigrations  这个命令是记录我们对models.py的所有改动,并且将这个改动迁移到migrations这个文件下生成一个文件

python manage.py makemigrations

 如下所示:

E:\Python_Web\autotest>python manage.py makemigrations
No changes detected

4.2 根据模型类创建表   

python manage.py migrate

如果要想精确到某一个迁移文件则可以使用:

python manage.py migrate appname

E:\Python_Web\autotest>python  manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

4.3 创建超级用户:

python manage.py createsuperuser
E:\Python_Web\autotest>python manage.py createsuperuser
Username (leave blank to use \'xjy\'): dangkai
Email address: 1370465454@qq.com
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
Password:
Password (again):
Superuser created successfully.

4.4 浏览器中输入127.0.0.1:8000/admin  输入刚创建的超级用户

5 汉化中文界面:

# LANGUAGE_CODE = \'en-us\'
#
# TIME_ZONE = \'UTC\'
LANGUAGE_CODE = \'zh-Hans\'

TIME_ZONE = \'Asia/Shanghai\'

6 创建应用

    python manage.py startapp apitest

   将app注册到django中 setting中加入apitest

INSTALLED_APPS = [
    \'django.contrib.admin\',
    \'django.contrib.auth\',
    \'django.contrib.contenttypes\',
    \'django.contrib.sessions\',
    \'django.contrib.messages\',
    \'django.contrib.staticfiles\',
    \'apitest\'
]

 

7 创建视图:   

  在views中加入test函数

from django.shortcuts import render
from django.http import HttpResponse #加入引用
# Create your views here.
def test(request):
    return HttpResponse("hello test") #返回响应函数

8 创建映射:

在autotest/urls.py中加入:

from django.contrib import admin
from django.urls import path
from apitest import views

urlpatterns = [
    path(\'admin/\', admin.site.urls),
    path(\'test/\',views.test),# 加入关联路径和函数
]

浏览器中输入:127.0.0.1:8000/test

 9 创建模板:

在apitest下创建templates文件夹,然后创建login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
<h1>login</h1>
<form method="post" action="/login/">
    {% csrf_token %}
    <br> <input name="username" type="text" placeholder="username">
    <br> <input name="password" type="password" placeholder="password">
    {{ error }}<br>
    <br> <button id="submit" type="submit">submit</button>
</form>

</body>
</html>

 在autotest/urls.py中创建关联映射

from django.contrib import admin
from django.urls import path
from apitest import views

urlpatterns = [
    path(\'admin/\', admin.site.urls),
    path(\'test/\',views.test),# 加入关联路径和函数
    path(\'login/\',views.login)
]

在apitest/views.py创建login函数

from django.shortcuts import render
from django.http import HttpResponse #加入引用
# Create your views here.
def test(request):
    return HttpResponse("hello test") #返回响应函数

def login(request):
    return render(request,\'login.html\')

然后输入127.0.0.1:8000/login,可以看到登录页面

使用mysql数据库

在autotest/__init__.py文件中加入

import pymysql
pymysql.install_as_MySQLdb()