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

前言

想完成一份教程,类似于虫师的RF自动化教程之类的,作为自己对以往工作经验的总结。
这份教程面向的群体是测试工程师,主要内容是开发一个工具平台,针对Dubbo接口的测试。如果你有其他的功能想完成,欢迎提交pr。


工具平台规划

在以往的工作经验中,测试工具平台一般用来构造测试数据,查询数据等以此来提高测试的效率。但是这种功能一般都是针对系统进行特定的开发,所以本平台主打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 https://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数据
在这里插入图片描述

该项目的第一个功能就实现了。
(这里没有将redis的连接信息等做成可配置,后续会慢慢将一些细节的东西完善)

六、总结

目前实现了一个很简答的功能,希望能帮你建立信心,后续我们会逐步完善所用功能,完成后台开发之后,再进行前端页面的开发。
如果你有想实现的功能欢迎提交
本项目的代码已上传git
https://github.com/627886474/TestPlatform(本章内容可切换至 --framework分支 )

如果你觉得项目对你有帮助,可以关注一下微信公众号,持续分享干货
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值