Django测试工具平台(一)-- 框架准备

384 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

工具平台规划

在以往的工作经验中,测试工具平台一般用来构造测试数据,查询数据等以此来提高测试的效率。但是这种功能一般都是针对系统进行特定的开发,所以本平台主打Dubbo接口测试,以及一些通用功能进行开发。 技术栈:

  • Django
  • Django restframework
  • Vue
  • mysql

需要实现的功能:

  • 入门redis相关功能
  • 请求Dubbo接口
  • 存储接口测试用例信息
  • mysql 查询校验

开发环境准备

需要安装python3.6、pycharm、mysql5.7、redis、使用django3版本。这些环境的安装就不做具体的讲解了,直接百度就有详细的教程,我们直接进入开发阶段

redis增、删、查功能实现

一般在业务系统中,我们经常会用到redis缓存,我们可以自己搭建一个服务,来对redis进行操作。用一个简单,实用的功能来建立你的自信心。

一、新建项目

使用django自带的命令新建项目 :

django-admin startproject TestPlatform

在这里插入图片描述

二、新建APP

新建一个apps 的文件夹,使用Django自带的命令创建应用,然后将应用移至apps下

python manage.py startapp utilsapp

在这里插入图片描述

三、引入Django rest framework

因为本项目使用Django rest framework开发,需要先下载相关依赖

pip install -i pypi.douban.com/simple/ djangorestframework

打开settings.py文件

#让django服务能读取到apps中的应用
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

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

    'rest_framework', #注册drf
    'utilsapp.apps.UtilsappConfig' #注册新建的app
]

四、功能逻辑实现

我们直接通过 redis 包来实现redis 增,删,查 功能

class PyRedis:
    def __init__(self):
        self.host = '127.0.0.1'
        self.port = '6379'
        self.db = 0
        pool = redis.ConnectionPool(host=self.host, port=self.port,db=self.db)
        self.conn = redis.Redis(connection_pool=pool)

    def set_key(self, key, value):
        try:
            return self.conn.set(name=key, value=value)
        except Exception as e:
            print(e)

    def get_key(self, key):
        try:
            return self.conn.get(key)
        except Exception as e:
            print(e)

    def del_key(self, key):
        try:
            return self.conn.delete(key)
        except Exception as e:
            print(e)

我们用基于函数视图的@api_view装饰器来实现这个restful风格的api

from rest_framework.decorators import api_view
from rest_framework.response import Response

from .common import PyRedis


# Create your views here.

@api_view(['GET', 'POST', 'DELETE'])
def redis_value(request):
    if request.method == 'GET':
        value = PyRedis().get_key(request.data.get('redis_key'))
        res_data = {'redis_value': str(value)}
        return Response(res_data)

    elif request.method == 'POST':
        value = PyRedis().set_key(request.data.get('redis_key'), request.data.get('redis_value'))
        res_data = {'success': value}
        return Response(res_data)
    elif request.method == 'DELETE':
        value = PyRedis().del_key(request.data.get('redis_key'))
        res_data = {'success': value}
        return Response(res_data)

将页面逻辑注册在 apps/utilsapp/urls.py中

from django.urls import path

from apps.utilsapp import views

urlpatterns = [
    path('redis/', views.redis_value, name='redis'),
]

然后将上面的ur注册在TestPlatform/urls.py中,

urlpatterns = [
    path('admin/', admin.site.urls),

    # 工具的Url
    path('api/utils/',include('utilsapp.urls'))
]
五、启动项目,调试接口

启动项目:

python manage.py runserver 设置redis数据 在这里插入图片描述 查询redis数据 在这里插入图片描述

该项目的第一个功能就实现了。

六、总结

目前实现了一个很简单的功能,希望能帮你建立信心,后续我们会逐步完善所用功能,完成后台开发之后,再进行前端页面的开发。

如果你有想实现的功能欢迎提交,本项目的代码已上传git github.com/627886474/T… --framework分支 )