自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 RandomDate(接口参数化-随机生成日期)

jmeter-接口参数化随机选择日期请求

2024-06-07 17:36:55 1368

转载 Hive函数整理(一)

语法:get_json_object(string json_string, string path)语法:regexp_replace(string A, string B, string C)语法:concat_ws(string A, string…语法二:substring(string A, int start, int len)语法:concat(string A, string B, string C, ……语法:replace(string A, string B, string C)

2024-04-19 11:31:31 118

原创 Flask-13 使用restful定义API接口

Flask-RESTful 是一个 Flask 扩展,它添加了快速构建 REST API 的支持。pip 安装pip install flask-restful中文文档:http://www.pythondoc.com/Flask-RESTful/index.html1、创建扩展/组件对象from flask_restful import Api, Resource, fields, marshal_with, reqparse, marshalapp = Flask(__name__)

2022-05-11 23:36:26 1282

原创 Flask-12 编写图形验证码的示例

文章目录1、制作验证码代码示例2、表单类的创建WTF3、视图函数的使用4、模版中的使用5、运行并访问效果展示:目录结构:|— font |—简粗圆.ttf|— templates |—index.html|— app.py|— code_form.py|— make_code.py1、制作验证码代码示例make_code.py"""@filename: make_code.py制作验证码图片内容的文件,使用第三方库pillow制作官方文档学习:https://pillo

2022-05-11 02:32:18 621

转载 Flask-11 消息闪现flash

消息闪现一个好的应用和用户界面都需要良好的反馈。如果用户得不到足够的反馈,那么应用 最终会被用户唾弃。 Flask的闪现系统提供了一个良好的反馈方式。闪现系统的基 本工作方式是:在且只在下一个请求中访问上一个请求结束时记录的消息。一般我们结合布局模板来使用闪现系统。注意,浏览器会限制 cookie 的大小,有时候网络服 务器也会。这样如果消息比会话 cookie大的话,那么会导致消息闪现静默失败。---->> 来自官方文档文档:https://dormousehole.readt

2022-05-11 01:48:09 1198

转载 Flask-10 session和cookie

目录一、cookie1.1 什么是cookie?1.2 如何在flask中使用cookie?1.2.1 设置cookie1.2.2 实例:设置cookie1.2.3 在浏览器中查看cookie的三种方式(以Chrome浏览器为例)1.2.4 设置cookie的有效期1.2.4.1 基于max_age参数设置cookie有效期1.2.4.2 基于expires参数设置cookie有效期1.3、在Flask中查询cookie1.3.1 查询cookie1.3.2 删除cookie二、session2.1 什么是

2022-05-11 00:34:56 338

转载 Flask-9 CSRF保护

目录为什么需要 CSRF?实现AJAX故障排除为什么需要 CSRF?Flask-WTF 表单保护你免受 CSRF 威胁,你不需要有任何担心。尽管如此,如果你有不包含表单的视图,那么它们仍需要保护。例如,由 AJAX 发送的 POST 请求,然而它背后并没有表单。在 Flask-WTF 0.9.0 以前的版本你无法获得 CSRF 令牌。这是为什么我们要实现 CSRF。实现为了能够让所有的视图函数受到 CSRF 保护,你需要开启 CsrfProtect 模块:from flask_wtf.csr

2022-05-10 19:47:25 282

原创 Flask-8 flask-wtf的使用(灵活的表单验证)

文章目录介绍:一、具体实现案例:1、创建表单类2、视图中使用3、模版中的使用4、运行后访问查看提示二、总结:介绍:Flask-WTF 提供了简单地 WTForms 的集成。WTForms是一个灵活的表单验证和渲染库,用于PythonWeb开发。它可以与您选择的任何Web框架和模板引擎一起使用。它支持数据验证、CSRF 保护、国际化 (I18N)等。有各种社区库提供了与流行框架的更紧密集成。为什么要用WTF,WT Forms是用于提供用户界面的灵活的表单呈现和验证库WTForms文档:htt

2022-05-10 18:26:01 1294

原创 Flask-4、使用Migrate对数据库的映射修改

这里写目录标题概要:1、Migrate在app.py文件的使用:2、创建数据库模型类(即MTV中的Model)3、对数据库的连接4、最终的app.py文件5、使用命令操作数据库(数据库迁移同步:)概要:  flask-migrate,一个用来做数据迁移的falsk扩展,一般都是结合flask-sqlalchemy使用  一般我们修改数据库通常不会直接手动修改,这样效率不仅慢,而且也需要对整体结构清晰,正常情况是修改ORM对应的模型,然后再把模型映射到数据库中。  它是基于Alembic进行的一个封

2022-05-10 02:45:40 838

原创 Python线程—对守护线程的执行理解

在说守护线程之前,先回归下线程的执行 threading模块1. 没有使用join时import threading, timedef run(i): print('Thread %s is start' % i) time.sleep(2) print('thread %s is end.......' % i)for i in range(5): t = threading.Thread(target=run, args=(i,)) t.start()

2022-04-07 01:21:03 974

原创 Charles-解决unknown的问题

安装的问题就不在解释了。直奔主题无论是抓浏览器还是手机上的HTTPS的包都是一样的,默认情况下,Charles只能抓取http的包,抓取HTTPS时会出现unknown,是因为返回接口需要证书信任第一步: 下载并安装证书下载charles证书:打开charles,Help–>SSL Proxy–>install Charles Root Certificate,注意点:存储证书时一定要选择[受信任的根证书版本机构],否则仅安装但证书未信任是解决不了问题的,仍然会出现unknown的问题

2022-04-05 15:36:01 8595

原创 Flask-7、模型相关之relationship

模型内容 relationship 1对多需求: 用户进行留言,也要可以通过留言找到对应的用户这样用户和留言的关系:1对多1、创建模型,即创建表from flask_sqlalchemy import SQLAlchemydb = SQLAlchemy()class UserInfo(db.Model): # 因为I是大写,所以数据库自动生成时,会加"_",数据库名变成:user_info # 自定义表名,如果不写,默认模型名即上面的:user_info # __tablename

2022-03-19 16:31:18 1547

原创 Flask-6、功能函数:密码/会话机制 & 钩子函数 & 分页 & 文件传输 &Redis键值对

初期学习Flask时,可能会用到下面的内容来实现某种功能,一、密码机制1、密码加密:from werkzeug.security import generate_password_hash, check_password_hashuser.password = generate_password_hash(password) # ---> 加密 ,用于注册使用# sha256加密,长度为64位,所以数据库密码长度限制必须大于64位2、密码检查:check_password_hash(

2022-03-07 00:07:58 662

原创 Flask-5、query对数据库中数据的增删改查

文章目录一、模型类的创建:二、模型类.query的查询1、根据主键查询用户使用get(主键值),返回值是一个对象2、取所有3、取第一条,filter括号中可以加条件 (==) 或者is_4、以xx开头或结尾 startswith、endswith5、或条件 or_6、与条件 and_7、非条件 not_8、in条件 in_9、排序 order_by10、limit 限制三、重点总结内容:查询时因为没有表,所以我先创建了表,有表的可直接查询。。。一、模型类的创建:# __init__.pyfrom

2021-10-29 19:00:35 3988

原创 Flask-3、注册蓝图内容

一、蓝图说明:什么是蓝图?  蓝图可以理解为,是一种对项目中的代码进行模块化管理的工具,相当于python中的包为什么要使用蓝图?  如果我们将所有的Flask的请求方法都写在同一个文件下的话,非常的不便于我们的代码的管理和后期的功能代码的添加 (就是在一个py文件中具有多个功能代码,不利于维护和管理。)  如果在其他的模块中去调用视图函数,就会产生循环导入的问题。蓝图的作用是什么?  1.对我们的flask应用程序进行模式化管理  2.提升开发效率,降低开发难度,协同开发蓝图的运行机制是

2021-10-26 15:27:39 1138

原创 hashlib 加密内容

import hashlibmsg = 'hello world'msg_md5 = hashlib.md5(msg.encode('utf-8'))print(msg_md5.hexdigest(), len(msg_md5.hexdigest())) # 长度 32msg_sha1 = hashlib.sha1(msg.encode('utf-8')).hexdigest()print(msg_sha1, len(msg_sha1)) # 长度 40 ,sha后面的数字代表加密的长度

2021-10-24 22:18:14 186

原创 sum() over() 函数用于累加计算

本文主要讲的是计算一个指标时,需要按天累加,也就是累计指标计算,可以使用到该函数1.可以按天进行累加2.如果有相同的日期,可以先按天分组,然后进行累加,筛选项也是一样数据源:1、按照日期对应的V1(数字)进行升序(desc降序),然后进行累加select V0, V1, sum(V1) over(order by V1 desc)from table2、先根据V0进行分组,再按照v1进行升序,然后进行累加(可用做筛选项的累加)select V0, V1, sum(V1) ove

2021-10-20 10:28:40 13699

原创 HTML性能报告的结果显示

页面结构:1、Dashboard(概览)1.Apdex:应用程序性能满意度的标准,范围在 0-1之间,1表示达到所有用户均满意,反之0则表示均不满意,可以在配置文件设置2.Toleration threshold:可接受(容忍或满意)阈值,即用户可接受的响应时间3.F(Frustration threshold):不可接受(失败)阈值,即用户不可接受响应时间4.Lable:请求名称即采样器名称Network(KB/sec):网络情况Received:每秒从服务器端接收到的数据量Sen

2021-07-05 19:02:28 828 1

原创 Flask-2、部分模板语法(循环、宏、继承)

py目录结构:|-- static |-- css |-- style.css |-- js |--img |-- 图片15.jfif|-- tempalate |-- base.html |-- xx.html|-- app.py模板语法:1、循环变量:name_list = [xx,xx,xx,xx,xx]<ul> {% for name in name_list %} {% if name|length > 2

2021-06-22 19:51:34 989

原创 Flask-1、基础内容

先创建一个Flask项目目录结构|-- static(存放css、js、img)|-- templates(存放html)|-- app.pyfrom flask import Flaskapp = Flask(__name__)@app.route("/") # 这个是视图函数,里面跟的是路径,只有用户访问路径,就是执行对应的函数def main(): return "hello world" if __name__ == '__main__': app.ru

2021-06-22 19:18:12 496

原创 Git的学习以及配合IDEA

一、Git的前提内容下载git:https://git-scm.com/然后无脑下一步安装就行了。正常安装完成之后,右键会出现如下内容:1、我们尽量使用Git Bash Here (命令行界面)2、然后我们在本地磁盘中新建一个文件,作为git测试3、在命令行界面,进入该文件夹目录二、Git命令内容以下是文章中使用过的命令:命令作用git init初始化gitgit config --global user.name设置用户名git config --

2021-05-25 17:44:28 350 2

原创 使用AES进行加解密手机号

简单了解:  AES是一个对称加密算法对称加密算法:  对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yao)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。开始应用:1、AES加密方式有五种:  1)、ECB  2)、CBC  3)

2021-05-17 16:44:45 1910

原创 免安装版,安装mysql教程

首先下载mysql:https://www.mysql.com/downloads/先说下之前踩过的坑:1、配置文件中写的有mysql数据库的数据的存放目录,但是缺少该data文件,一直提示:服务无法启动;服务没有报告任何错误2、启动服务时(net start mysql)提示:服务没有响应控制功能开始配置1、下载完成解压后路径先弄好:  解压之后,自己先定义好mysql存放的路径。  我是把解压之后的文件重命名为:MySQL  存放的路径是:C:\Program Files\My

2021-05-12 16:37:07 214

转载 mysql8.0mis安装教程_MySQL8.0 msi 版本安装教程

MySQL8.0 msi 版本安装教程 1> 官网下载安装包 说明: 如果需要8.0版本下的其他小版本,可以参考下图: 如需5.7及其之前版本,可以参考下图: 说明: msi版本,可以在安装过程中,通过可视化操作进行自动配置;zip压缩包版本,则需要解压之后,自行配置,这里选择msi版本进行安装。 2> 安装MySQL 2.1双击打开下载的安装包,进入到下面这个页...

2021-05-12 11:22:10 2239

原创 pip升级失败及pip._internal报错问题的解决方法

创建项目后,因为版本过低,导致无法下载某些包,所以进行升级出现的问题先说下创建项目吧PyCharm新建项目:1、内容说明2、如果后续项目想要使用已存在的环境,就需要选择历史项目中Script路径下的python.exe解释器,但是环境的名称需要改变,因为是新项目。个人建议:要记住虚拟环境的路径,至于项目路径和虚拟环境路径要不要在一块,其实都可以。3、如果选择已存在的环境,将共用已存在的第三方包,也是选择历史项目中Script路径下的python.exe解释器二、pip升级失败以及pip._i

2021-04-27 16:04:15 1403 2

原创 测试概念的简单总结

白盒测试和黑盒测试的区分:主要是根据软件测试工作中对软件代码的可见程度进行的划分黑盒测试:不关心盒子的内部结构,只关心软件的输入输出结果白盒测试:把盒子打开,研究里面的源代码和程序执行结果灰盒测试:既关注输入输出同时关注内容表现,不会像白盒那样详细、完整,只是通过表征性的现象、事件来判断内部的运行状态。主要用于多模块构成的稍微复杂的软件系统,对于软件系统的内部模块,灰盒测试依然把它当成一个黑盒来看待。功能测试:检查实际功能是否符合用户的需求,测试的大部分工作也是围绕软件的功能进

2021-03-15 18:40:46 229

原创 初学之jQuery相关二

文章目录1、样式操作:2、位置操作3、文本操作:4、属性操作:5、文档操作:6、动画效果:7、操作表格学习代码1、样式操作:addClass(); // 添加指定的CSS类名。removeClass(); // 移除指定的CSS类名。hasClass(); // 判断样式存不存在toggleClass(); // 切换CSS类名,如果有就移除,如果没有就添加。例子:<!DOCTYPE html><html lang="en"><head&

2021-01-27 17:04:42 299

原创 openpyxl,xlrd两种模块方式,较为详细的方法操作Excel文件。

想要控制Excal,我们首先要知道的Excal文件的三个对象,具体都是干嘛的。 workbook: 工作簿,一个Excel文件可以包含多个sheet。 sheet:工作表,一个workbook可以有多个,如“sheet1”,“sheet2”等名称。 cell: 单元格,存储数据对象第一个模块 openpyxl 操作excal导入模块:import openpyxl 创建一个Excal文件wb = openpyxl.Workbook() wb.save("test.xlsx") # 已存在同名

2020-12-16 14:58:33 4863

原创 Python 接口测试时将token写入配置文件,并读取配置文件。

import configparser,os# 配置文件conf_file = os.path.dirname(os.path.abspath(__file__)) + "/config.ini"# config对象的内存地址config = configparser.ConfigParser()# 打开配置文件的两种方式 # 第一种config.read(conf_file, encoding='utf-8') # 第二种config.read_file(open(conf_f

2020-11-18 11:42:25 1298

原创 工作中使用的sql知识点及查询语法

文章目录只修改字段属性时用modify设置默认值删除默认值修改表名修改字段位置查看创建表的语句复制其他表的数据并插入到该表中完全复制表以及内容判断内容并显示 :IF (xxx=xxx,True, False)累加计算(笛卡尔积) -->显示每一天的累加值多表连接 UNION / UNION ALL的区别全连接 full join内连接 inner join根据身份证获取星座(case ....... when.......end)获取两个时间差窗口函数:取某一用户下多条数据的第一条或最后一条数据 ro

2020-11-13 16:43:30 624

原创 Python修改excal的内容样式【加粗+红色】

import xlwtimport xlrdfrom xlutils.copy import copy# 单元格上色加粗def color_bold_execl(file_name): # pattern 指的就是背景 ;font 就是设置字体,bold on 是加粗。 styleBlueBkg = xlwt.easyxf('pattern: pattern solid, fore_colour red; font: bold on') # 背景红色,加粗 rb =

2020-11-10 14:34:18 1123

原创 当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?

1、首先是查找浏览器缓存,浏览器会保存一段时间你之前访问过的一些网址的DNS信息,不同浏览器保存的时间不一样。2、如果没有找到对应的记录,这个时候浏览器会尝试调用系统缓存(host)来继续查找这个网址的对应DNS信息。3、如果还是没找到对应的IP,那么接着会发送一个请求到路由器上,然后路由器在自己的路由器缓存上查找记录,路由器一般也存有DNS信息。4、如果还是没有,这个请求就会被发送到ISP(注:Internet Service Provider,互联网服务提供商),ISP也会有相应的ISP DNS服

2020-08-24 14:14:21 6626

原创 logging 日志模块的使用

import loggingimport tracebackdef Loggin(): # 创建一个操作日志的对象logger(依赖FileHandler) # 文件助手 file_handler = logging.FileHandler("F1.log", encoding="utf-8") # 默认是追加 # formatter 格式化工具 # 决定日志的格式 # 时间 - 项目 - 错误级别:错误的

2020-08-14 19:15:51 156

转载 TCP/IP 协议,深入浅出,一看就懂。

一、 计算机网络体系结构分层不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。二、 TCP/IP 基础1. TCP/IP 的具体含义从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、TCP 或 UDP、.

2020-06-17 20:29:58 2635

转载 TCP/IP协议详解内容总结

TCP/IP不是一个协议,而是一个协议族的统称。里面包括IP协议、IMCP协议、TCP协议。这里有几个需要注意的知识点:  互联网地址:也就是IP地址,一般为网络号+子网号+主机号域名系统:通俗的来说,就是一个数据库,可以将主机名转换成IP地址RFC:TCP/IP协议的标准文档端口号:一个逻辑号码,IP包所带有的标记Socket:应用编程接口数据链路层的工作特性:  为IP模块发送和接收IP数据报为ARP模块发送ARP请求和接收ARP应答(ARP:地址解析协议,将IP地址转换成MAC地址)为RARP发

2020-06-17 19:48:10 549

原创 非GUI(界面化)执行性能测试脚本,并生成html格式的性能报告。

  JMeter界面化进行性能测试时虽然有聚合报告、用表格查看结果树,但是结果还不够直观,不够方面,并且JMeter使用界面化时比较吃计算机资源。所以有了非界面化的性能场景执行,且没有界面化消耗资源。非GUI本机执行脚本1、首先从cmd中输入jmeter,要可以打开jmeter(打不开的说明没有添加环境变量,可以查下如何添加环境变量)2、如果可以打开,进行如下命令操作 (这个是我的脚本路径)jmeter -n -t G:\Jmeter\apache-jmeter-3.3\douban.jmx -.

2020-05-22 14:51:21 437

原创 线程组:使用Ultimate Thread Group 和 Stepping Thread Group复杂场景的性能测试

只依靠自带的线程组,显示满足不了性能测试中比较复杂的场景,下面这两种线程组可以帮助你很好的完成复杂的场景Ultimate Thread Group终极线程组、阶梯线程组比如有这样的一个场景:  50个用户(线程数),5秒后开始逐步请求,且每秒启动5个(10秒内全部启动全部线程数),全部线程启动后运行1分钟,且不要求全部停止,而是逐步停止(每秒停止2个用户即线程)我们该如何做呢?如果用普通的线程组也是可以,但是没有用户启动或者停止的走势我们看到,不够直观,我们可以用Ultimate Thread G

2020-05-21 16:54:24 2001

原创 JMeter监控服务器资源步骤(界面化)

JMeter元件执行顺序:1、配置元件  HTTP请求默认值  HTTP请求头管理  用户定义变量2、前置处理器  例如:用户参数3、定时器  例如:固定时间4、提取器(sampler)  例如:公共接口请求5、后置处理器  例如:正则提取器6、断言  例如:3种断言:size断言、响应断言、响应时间断言7、监听器  例如:察看结果树使用jmeter插件监控服务器的资源使用情况(界面化):cpu memory I/O disk等我的jmeter版本3-3我的环境:  

2020-05-20 18:53:53 974

原创 获取日期,日期与时间戳的转换,以及获取前后几天的日期

​​​​这里引入datetime模块from datetime import date, datetime, timedeltatime.localtime() # time.struct_time(tm_year=2019, tm_mon=8, tm_mday=23, tm_hour=18, tm_min=57, tm_sec=0, tm_wday=4, tm_yday=235, ...

2020-04-27 10:20:33 1357

原创 Jmeter连接数据库并引用值

打开Jmeter,在“测试计划”中导入已经下载的mysql-connector-java-8.0.19没有插件包的可以看上一篇,有安装步骤。一、线程组添加:JDBC Connection ConfigurationVariable Name: 变量名,可以随意取名字Database URL: jdbc:mysql://IP地址/{数据库名称}username:数据库用户名pass...

2020-04-01 18:47:08 1105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除