测试开发进阶(二十一)

开发模式

前后端不分离

  • 后端需要控制数据的展示
  • 前后端耦合比较高
  • 多终端复用性差
  • 任务区分不明显

前后端分离

  • 当前主流
  • 后端只对数据进行处理,只提供数据
  • 前端效率,页面由前端负责
  • 解耦和
  • 前后端同时开始开发,缩小业务上线周期

接收参数

url传参

访问:http://127.0.0.1:8000/index?a=1&b=2

调试代码

  • request.GET返回一个类字典的内容
  • 查询字符串参数,如果有多个相同的key,使用 request.GET.get('xxx')获取的是最后一个值
  • 使用 request.GET.getlist('xxx')可以获取到多个相同key值的参数

访问:http://127.0.0.1:8000/index/?a=1&b=2&a=3

form表单

使用 Postman发起请求

调试代码

GET类似

request.POST.get('a') # '3'
request.POST.getlist('a') # ['1','3']

json格式

使用 postman发送json格式

转化为python内容,使用 json模块的 loads

import json
r_dict = json.loads(request.body.decode())

url路径参数

projects/urls.pyurlpatterns中添加

path('<int:pk>/', views.IndexView.as_view()),

int为路径参数类型转换器

:左边被转换器,右边为参数别名

  • int
  • slug
  • uuid
class IndexView(View):
    def get(self, request, pk):
        return render(request, 'demo.html')

访问:http://127.0.0.1:8000/index/100/

返回Json

# projects/views.py
from django.http import JsonResponse
class IndexView(View):
    def get(self, request):
        data = {
            'name': 'zx',
            'age': 25,
        }
        return JsonResponse(data)

ORM框架

定义

  • 把类和数据表进行映射
  • 通过类和对象就能操作它所对应表格中的数据「增删改查」(CRUD)

步骤

  • 配置数据库连接信息
  1. 创建数据库和用户
  2. 配置数据库
  3. 安装mysqlclient
  • 在models.py中定义模型类
  • 迁移
  • 通过类和对象操作完成数据库增删改查操作

使用 Navicat连接 mysql后创建一个数据库

新建一个用户

修改权限

需要使用专业版!

点击 Downloadmissing driver files安装数据库连接软件

安装连接库

修改 LearnDjango/settings.py配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # 指定引擎
        'NAME': 'my_django', # databases名
        'USER': 'my_django', # 数据库用户名
        'PASSWORD': '123456', #数据库密码
        'HOST': 'localhost', # 主机IP
        'PORT': 3306 #连接端口
    }
}

本文分享自微信公众号 - 测试游记(zx94_11)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京宏哥

python接口自动化(二十一)--unittest简介(详解)

  前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest。熟悉 或者了解java 的小伙伴应该都清楚...

16020
来自专栏北京宏哥

python接口自动化(二十八)--html测试 报告——下(详解)

  五一小长假已经结束了,想必大家都吃饱喝足玩好了,那就继续学习吧。一天不学习,自己知道;两天不学习,对手知道;三天不学习,大家知道;一周不学习,智商输给猪。好...

15640
来自专栏北京宏哥

python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)

  有些 post 的请求参数是 json 格式的,这个前面发送post 请求里面提到过,需要导入 json模块处理。现在企业公司一般常见的接口因为json数据...

23120
来自专栏北京宏哥

python接口自动化(二十七)--html 测试报告——上(详解)

  上一篇我们批量执行完用例后,生成的测试报告是文本形式的,不够直观,而且报告一般都是发给leader的,所以最好是直观一目了然,为了更好的展示测试报告,最好是...

14620
来自专栏北京宏哥

python接口自动化(八)--发送post请求的接口(详解)

  上篇介绍完发送get请求的接口,大家必然联想到发送post请求的接口也不会太难,被聪明的你又猜到了。答案是对的,虽然发送post请求的参考例子很简单,但是实...

20030
来自专栏北京宏哥

python接口自动化(二十六)--批量执行用例 discover(详解)

  我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到 unittest 里面的 discover 方法来加载用例了...

13410
来自专栏北京宏哥

python接口自动化(十二)--https请求(SSL)(详解)

  本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会 报:requests.exc...

22540
来自专栏北京宏哥

python接口自动化(九)--python中字典和json的区别(详解)

这篇文章的由来是由于上一篇发送post请求的接口时候,参数传字典(dict)和json的缘故,因为python中,json和dict非常类似,都是key-va...

18620
来自专栏北京宏哥

python接口自动化(二十九)--html测试报告通过邮件发出去——上(详解)

  前边几篇,已经教小伙伴们掌握了如何生成HTML的测试报告,那么生成测试报告,我们也不能放在那里不管了,这样即使你报告在漂亮,领导也看不到。因此如果想向领导汇...

19320
来自专栏北京宏哥

python接口自动化(六)--发送get请求接口(详解)

  如果想用python做接口测试,我们首先有不得不了解和学习的模块。它就是第三方模块:Requests。 虽然Python内置的urllib模块,用于访问网络...

19530

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励