热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

redis视图工具_Django测试工具平台(一)——框架准备

前言这份教程面向的群体是测试工程师,主要内容是开发一个工具平台,针对Dubbo接口的测试。如果你有其他的功能想完成,欢迎提交pr。工具平台

前言
这份教程面向的群体是测试工程师,主要内容是开发一个工具平台,针对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

416a7189c608f70a9dcec15942289458.png

二、新建APP

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

python manage.py startapp utilsapp

4cd864504d96ad98a871af9bf8776a07.png

三、引入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]1234567891011121314

四、功能逻辑实现

我们直接通过 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)12345678910111213141516171819202122232425

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

from rest_framework.decorators import api_viewfrom rest_framework.response import Responsefrom .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)123456789101112131415161718192021222324

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

from django.urls import pathfrom apps.utilsapp import viewsurlpatterns = [ path('redis/', views.redis_value, name='redis'),]12345678

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

urlpatterns = [ path('admin/', admin.site.urls), # 工具的Url path('api/utils/',include('utilsapp.urls'))]123456

五、启动项目,调试接口

启动项目:

python manage.py runserver
设置redis数据
查询redis数据

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

六、总结

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

如果你觉得这个项目对你有帮助,可以关注一下项目。



推荐阅读
author-avatar
手机用户2502858281
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有