Python测试开发
文章平均质量分 82
采用前后端分离架构,vue+django后端,实现自动化平台搭建。
七月的小尾巴
只要学不死,就往死里学!
展开
-
django-rest-framework框架总结之View视图之APIView、GenericAPIView、视图集ViewSet
基于django-rest-framework框架的View视图进行总结,其中包含APIView、GenericAPIView、视图集ViewSet中的使用和特性,方便日后自己查看资料。原创 2023-02-02 17:18:45 · 1685 阅读 · 2 评论 -
Django定义路由_子路由_函数视图
本章节主要学习如果在 Django框架中自定义主路由,同意了解了路由的定义以及定义主理由的痛点,并且通过定义子路由的形式来处理了路由的痛点。原创 2022-10-08 13:55:01 · 1082 阅读 · 0 评论 -
Django环境搭建及创建_注册子应用
本篇文章为 Django的入门内容,文章中将会带你了解 Django,以及搭建 Django 环境和创建注册、子应用。原创 2022-09-28 17:39:34 · 994 阅读 · 0 评论 -
使用 mitmproxy + python 做拦截代理,解放双手,生成自动化测试用例
前言是不是有很多小伙伴在做接口自动化的时候,大量的测试用例数据,写的即枯燥,有乏味呢?那么下面你们的福利来啦~本文章会基于 mitmproxy + python 做代理拦截,将我们拦截到的接口请求,转换成 .yaml 格式文件的测试用例,文件格式如下:有的小伙伴是不是会担心,你们的yaml用例数据结构和我不同呢?完全不用担心,文章下方我会提供源码,只需要找到下方截图中的代码,更改你们自己的数据结构即可~下面话不多说,我们进入正文什么是 mitmproxy ?文章地址: https://bl原创 2022-02-09 15:00:35 · 3664 阅读 · 9 评论 -
测开之・《使用vue-cli(vue脚手架)快速搭建项目》
链接: https://www.jianshu.com/p/1ee1c410dc67.原创 2021-11-08 17:18:25 · 502 阅读 · 0 评论 -
测开之・《路由vue-route》
路由vue-route安装vue-routevue-router的基本使用编程式和声明式导航安装vue-route使用安装命令安装npm install vue-router在main.js中进行注册import Vue from 'vue'import VueRouter from 'vue-router'Vue.use(VueRouter)直接全局的 script 标签 引入<script src="https://unpkg.com/vue-router/di原创 2021-11-05 17:48:05 · 381 阅读 · 0 评论 -
测开之・《前后端交互axios》
前端后端交互axios前言axios的使用安装axiosaxios发送get请求get请求带参数发送post请求全局axios配置axios拦截器前言Axios 是一个基于 promise(异步实现) 的 HTTP 库,可以用在浏览器和 node.js 中使用,原生的js或者使用jquery来发生请求进行前后端数据交互,代码写起来过于复杂。axios的使用安装axios方式一npm install axios方式二<script src="https://unpkg.com/原创 2021-11-03 23:34:35 · 373 阅读 · 0 评论 -
测开之Vue・《Vue高级特性》
Vue基础语法及高级特性Vue基本语法初始Vue安装vueVue的指令和插值属性绑定事件绑定vue的双向数据绑定Vue基本语法初始VueVue 是一套用于构建用户界面的渐进式框架。与其他大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类结合使用时,Vue也完全能够为复杂的单页应用提供驱动。安装vue方式一,直接在 <head>标签中引入<script sr原创 2021-10-25 13:32:29 · 225 阅读 · 0 评论 -
测开之Javascript・《Javascript基础》
Javascript介绍和基本使用Javascript概述嵌入页面的方式介绍和基本使用Javascript概述要了解JavaScript,我们首先要回顾一下JavaScript的诞生。在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成为Web时代开启时最著名的第一代互联网公司。由于网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich这哥们在两周之内设计出了JavaScript语言。你没看错,这个们只是用了10天时间。为什么起名叫JavaScript?原创 2021-10-19 13:30:21 · 187 阅读 · 0 评论 -
测开之并发编程篇・《并发、并行、线程、队列、进程和协程》
并发编程并发和并行多任务概念并发和并行同步和异步并发和并行多任务概念多任务的概念简单的说,就是我们的操作系统可以同时运行多个任务。cpu与多任务的关系:首先我们来思考一下,单核cpu可不可以执行多个人任务?答案是可以的。由于CPU执行代码都是顺序执行的,操作系统会轮流让各个任务交替执行,假设任务1执行耗时0.01s,切换到任何2,任何2执行0.01秒,在切换到任何3,执行0.01秒…这样反复执行下去,表面上看,每个任务都是交替执行的,但是由于CPU的执行速度是在太快了,我们感觉就像任务在同时原创 2021-10-16 00:03:16 · 359 阅读 · 0 评论 -
测开之内存管理篇・《内存管理机制》
内存管理机制内存管理机制引用计数机制内存管理机制在python中创建对象的时候,首先会去申请内存地址,然后对这个对象进行初始化,所有的对象都会维护在一个叫做 refachain 的双向循环链表中,每个数据都保存如下信息:链表中数据前后数据的指针数据的类型数据值数据的引用计数数据的长度(list,dict…)引用计数机制引用计数增加:对象被创建对象被别的变量应用(另外起了一个名字)对象被作为元素,放在容器中(比如被当着元素放在列表或者字典中)对象被当成参数传递进函数中原创 2021-10-14 13:55:22 · 4490 阅读 · 1 评论 -
测开之面向对象进阶篇・《多态》
面向对象三大特征面向对象编辑的三大特征:封装、继承、多态。封装:客观的失误封装成类(将数据和方法放在一个类中构成了封装)。继承:python中一个类可以继承于一个类,也可以继承多个类,被继承的类叫做父类,继承的叫做之类。多态:指的是一类食物有多种形态,一个抽象类有多个子类(因而多态的概念依赖于继承),不同的之类对象调用相同的方法,产生不同的执行过程,多态可以增加代码的灵活度。多态定义一个父类,继承某个方法定义多个子类,在子类中重新父类方法,每个之类实现不同的功能假设我们定义了一个函数,原创 2021-09-29 12:31:57 · 184 阅读 · 0 评论 -
测开之面向对象进阶篇・《属性自省》
私有属性类里面定义的变量叫做属性,那么类属性有两种,分为:公有属性和私有属性。私有属性的定义:单下滑线开头:_attr双下划线开头:__attr其中单下划线开头的在外部可以直接访问,双下滑线,在外部访问不了,因为在python底层修改了属性的名称。在上方图中,我们可以看到,双下滑定义的私有属性,名称被改成了 _Test__test ,如果想要访问该属性方法,需要调用 _Test__test 才能访问。在python中,并没有偶正真的是私有化支持,但可用下划线得到伪私有。在python原创 2021-09-27 19:38:35 · 181 阅读 · 0 评论 -
测开之面向对象进阶篇・《魔术方法》
魔术方法在类方法中__init__ 方法有什么作用?创建对象时,自动调用对创建的对象进行初始化设置。什么是魔术方法?在python中,像 __init__这类双下滑线开头和结尾的方法,统一称之为魔术方法。注意:在我们自己封装方法时,千万不要用双下划线开头或者结尾的方法定义,魔术方法时python内部自己定义的方法。创建单例模式我们在创建类的时候,每次调用时,都会实例化一个对象,那么如果我们要求这个类只会被实例化一次,应该怎么做呢?class Demo(object): __insta原创 2021-09-25 23:42:17 · 242 阅读 · 0 评论 -
测开之函数进阶篇・第七篇《装饰器》
目录装饰器开放封闭原则装饰器的作用装饰器的应用场景实现一个装饰器装饰器原理阐述带参数的装饰器装饰器装饰类定义一个时间装饰器装饰器开放封闭原则软件实体应该是可扩展、而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。装饰器的作用在不更改原功能函数内部代码,并且不改变调用方法的情况下为原函数添加新的功能。装饰器的应用场景登录验证函数运行时间统计执行函数之前做准备工作执行函数后的清理工作实现一个装饰器”“”需求:在访问网站前,我们需要判断用户登录在不更改原功能的基础上,新增新原创 2021-08-29 23:34:37 · 241 阅读 · 0 评论 -
测开之函数进阶篇・第六篇《闭包》
目录闭包闭包的概念闭包的内存分配机制闭包闭包的概念一个完整的闭包,必须满足以下三个条件:1、函数中嵌套函数2、外层函数返回内存嵌套函数名3、内存嵌套函数有引用外层的一个非全局变量def func(): num = 100 def count_book(): print(num) print("这个是计算买书方式的函数") return count_bookres = func()res()下面我们根据上方的代码进行分析:原创 2021-08-29 18:36:49 · 221 阅读 · 0 评论 -
测开之CSS・第一篇《CSS语法基础》
目录cSS引入方法cSS引入方法外联式:通过link标签,链接到外部样式表到页面中<link rel=:"stylesheet" type="text/css" herf="css/main.css"嵌入式:通过style标签,在网页创建嵌入式的样式表原创 2021-09-10 18:32:56 · 156 阅读 · 0 评论 -
测开之HTML・第一篇《HTML语法基础》
目录HTML页面结构文档声明页面头部页面内容常见的HTML标签注释HTML页面结构超文本标记语言的结果包含“头”部分(Head)、和“主体”部分(Body)。其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head>原创 2021-09-01 00:10:27 · 233 阅读 · 0 评论 -
测开之函数进阶篇・第五篇《递归函数、纯函数、匿名函数、偏函数》
目录递归函数递归函数的定义定义递归函数纯函数纯函数的概念纯函数的3个原则函数的副作用python常用的内置函数匿名函数三步运算符偏函数偏函数的定义偏函数的案例递归函数递归函数的定义在函数中调用函数自身,我们把这样的函数叫做递归函数定义递归函数# 通过递归函数实现阶乘def fun(n): if n == 1: # 递归临界点(不再调用函数自身) return 1 else: return n * fun(n -1)递归函数的优点是定义简单,原创 2021-08-29 14:28:59 · 231 阅读 · 0 评论 -
测开之数据类型进阶篇・第四篇《生成器和迭代器》
这里写目录标题生成器表达式生成器表达式前面我们有列表、字典生成器,那么我们来看一下元祖行不行呢?tu = (i for i in range(10))print(tu)我们来看一下打印结果<generator object <genexpr> at 0x1083fc410>Process finished with exit code 0从上方我们可以看到,他返回了一个生成器的对象。由此可见,如果我们用()的形式,他不在是一个元祖,而是一个生成器表达式。那么什原创 2021-08-29 11:49:04 · 211 阅读 · 0 评论 -
测开之数据类型进阶篇・第三篇《推导式》
目录列表推导式什么是推导式?推导式代码实现推导式的误区在列表推导式中添加if语句列表推导式中实现多个循环字典推导式字典推导式实现列表推导式什么是推导式?列表推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的列表。列表推导式的语法格式如下:[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ]推导式代码实现首先我们先用一分钟想一下,怎么去在列表中新增1-100的数据呢?下面我们来看一下代码的实现list1 = []for i i原创 2021-08-27 23:36:19 · 187 阅读 · 0 评论 -
测开之数据类型进阶篇・第二篇《字典和集合的原理应用》
目录集合什么是集合?定义空集合集合的特点 - 自动去重集合常用的方法空集合添加元素 add()删除集合元素 remove()更新元素 update()清空集合元素 clear()复制元素copy()字典和集合的存储原理集合什么是集合?在开始之前,我们首先来看一下,什么是字典,什么是集合?字典和集合有什么区别?# 集合test_1 = {1, 1, 1, 1, 1, 2}# 字典test_2 = {"name": "Viki", "age": 18}从上方代码中我们可以看出,字典是通过键值原创 2021-08-27 21:58:56 · 207 阅读 · 0 评论 -
测开之数据类型进阶篇・第一篇《Python数据类型元祖和列表的性能分析》
前言通常在入门初期我们的目标主要是实现需求为主,但是随着项目的数据量越来越大,我们就需要考虑到程序的性能问题,那么平时我们常用的数据类型,元祖和列表,哪个性能会更好呢?下面我们来通过实例给大家掩饰一下。python 官方提供库 – timeit# 导入库import timeit下面我们来看一下 timeit 的底层源码。timeit 模块定义了接受两个参数的 Timer 类。两个参数都是字符串。 第一个参数是你要计时的语句或者函数。 传递给 Timer 的第二个参数是为第一个参数语句构建环原创 2021-08-25 20:52:08 · 318 阅读 · 0 评论 -
Python虚拟环境管理 之 virtualenv 和 pipenv
虚拟环境介绍Python虚拟环境主要的目的就是为了给不用的工程创建互相独立的运行环境。在虚拟环境下,每一个工程都有自己的依赖包,而与其他的工程无关。不同的虚拟环境中通一个包可以有不同的版本。并且,虚拟环境的数量都没有限制,我们可以轻松的用 virtualenv 或者 pipenv等工具来创建多个虚拟环境。virtualenv的安装和应用(windows)pip 安装 virtualenvpip安装虚拟换将管理包 vitualenvwrapper-win创建一个存放虚拟环境的目录(建议命名为 .e原创 2021-08-24 22:53:55 · 2715 阅读 · 0 评论