自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

马儿不会飞

天高地阔,吾欲观之~

  • 博客(43)
  • 收藏
  • 关注

原创 钉钉机器人发送jira消息到钉钉群聊

选择规则的触发器为计划(Scheduled),按指定计划执行规则,比如:每天将JQL查询结果自动推送消息。02.给机器人起个名字,消息推送开启,复制出webhook,后面会用到,勾选自定义关键词,填写关键词(01.钉钉群右上角点击群设置,选择智能群助手,点击添加机器人,选择自定义机器人;这只是缺陷创建提醒,当然我们也可以定时让机器人发送未处理缺陷消息到钉钉群;此时我i们只需要在在项目下创建缺陷,我们的群机器人就会发送消息;08自定义消息体,保存后给规则随便起个名字,然后生效即可。2.配置钉钉群机器人。

2023-03-21 11:46:17 1985 5

原创 linux上安装python3.7.4

linux上安装python

2023-01-05 19:02:20 1177

原创 metersphere后置脚本提取响应头,响应体;

metersphere后置脚本提取响应头,响应体

2022-09-15 13:11:02 3624 4

原创 pip install xxx 出现 AttributeError: ‘tuple’ object has no attribute ‘read’ 错误

日常问题记录

2022-08-04 16:45:19 2568 1

原创 Prometheus+grafana监控服务器cpu 内存(docker部署)

一,prometheus安装(最好安装在一台专门部署公共服务的服务器上,当然也可以安装在被监控服务器上)a.创建文件夹,用来挂载docker数据卷:b.进入目录,创建yml文件,并编辑;c.加入如下内容,前9行都是固定内容不需要修改,10-14行是你要监控的服务器,有几个服务器就粘贴几次10-14行的内容,job_name自己随意取名,targets要替换掉IP,instance也替换掉IP,注意不要改变缩进;d.docker启动prometheuse.浏览器访问http://IP:9090/ta

2022-06-07 17:02:24 4982 4

原创 JMeter+InfluxDB+Grafana集成实现压测可视化(docker部署)

Jmeter+influxdb+grafana实现压测可视化

2022-06-02 18:05:23 395

原创 接口自动化发送钉钉群消息

一,新建钉钉机器人1.钉钉群右上角点击群设置,选择智能群助手,点击添加机器人,选择自定义机器人;2.给机器人起个名字,消息推送开启,复制出webhook,后面会用到,勾选自定义关键词,填写关键词(关键词可以随便填写,但是一定要记住,后面会用);二,钉钉机器人发送消息url就是创建机器人时的webhook,data中的atMobiles可填写多个手机号,发送的消息会直接@这个人,text的content里面一定要加上创建机器人时设置的关键词,msgtype意思时文本格式,也可以link格式,就可

2022-05-27 17:30:41 6204

原创 docker安装及应用详解

docker安装:1.下载docker-ce的repocurl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo2.安装依赖yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm3.安装d

2022-03-08 18:16:51 745

原创 详解CSRF跨站点请求伪造

CSRF攻击:CSRF跨站点请求伪造(Cross—Site Request Forgery):大概可以理解为攻击者盗用了你的身份,以你的名义在恶意网站发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,甚至于购买商品、转账等。例如:Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。CSRF攻击攻击原理及过程如下:1.用户C打开浏览器,访问受信任网站A,输入用户名

2022-03-07 16:26:31 9358

原创 flask框架搭建一个web服务demo

一.接收web端参数,返回html页面from flask import Flask, request, render_template#初始化applicationapp = Flask(__name__)#添加路由@app.route("/")def index(): args = request.args #通过request对象接收web端传入的字典类型的参数,file,json接收的数据方式不同,不是args不可变字典 name = args.get("userna

2021-12-26 15:20:24 484

原创 python实现一个web服务器

一,使用python开启一个web服务器自带的simple_server模块开启一个服务器;from wsgiref.simple_server import make_server#导入simple_server模块#定义一个application,遵循wsgi协议;def app(env, start_response): #服务器接收到的客户端请求都会存储在env中,再传入到app进行处理,处理后再返回 start_response("200 ok",[("Content-Typ

2021-12-25 17:00:05 8879

原创 python多进程

一,多进程用Process来创建进程,可以完成不同的任务。#多进程def work1(): for i in range(10): print("------任务1----------{}".format(i)) time.sleep(0.5)def work2(): for i in range(10): print("------任务2----------{}".format(i)) time.sleep(0.5)

2021-11-30 13:32:18 126

原创 python队列

一,python队列Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了锁原语,能够在多线程中直接使用。可以使用队列来实现线程间的同步。#队列#put() put_nowait() get() get_nowait() qsize() full() empty() task_down()任务完成返回消息 join() 收到后继续主线程

2021-11-30 11:01:00 2767

原创 python多线程及锁

一,多线程1.我们有两个任务,如果没有多线程,我们得先完成任务1.再完成任务2,会非常耗时,如下:def func1(): for i in range(10): print("------{}----------任务1".format(i)) time.sleep(1)def func2(): for i in range(10): print("------{}----------任务2".format(i)) ti

2021-11-29 17:25:11 4377 1

原创 python并发,并行,同步,异步

一,并发和并行并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。简言之,是指系统具有处理多个任务的能力。并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。简言之,是指系统具有同时处理多个任务的能力。如下图:二,同步和异步1.同步:就是客

2021-11-29 14:56:52 350

原创 python内存管理计数机制,标记清除,隔代回收详解

python的内存管理机制用一句话概括那就是:计数机制为主,标记清除和隔代回收为辅;一,计数机制#python的内存管理机制#1.计数机制为主:当一个值引用计数变为0,那么就会被销毁,然后释放内存#print(sys.getrefcount(a))可查看引用计数a = "ABC" #此时“ABC”的引用计数为1 b = a #当把a赋值给b,此时“ABC”的引用计数为2a = "DEF" #a指向"DEF",此时“ABC”的引用计数为1 b = a #b指向a的"DEF",此时“AB

2021-11-29 14:27:58 946

原创 python中浅拷贝和深拷贝

一,浅拷贝#浅拷贝li = [1,2,3]li_1 = [1,2,li]li_2 = li_1.copy() #拷贝li_1的值,只拷贝了对象li的应用关系print(li_2)li[2] = 4 # 改变li列表中的值print(li)print(li_2) #copy的li_2里面的值也跟着改变#输出------------------------------[1, 2, [1, 2, 3]][1, 2, 4][1, 2, [1, 2, 4]]二,深拷贝#深拷贝#导入p

2021-11-29 11:39:37 635

原创 python小整数池和intern机制

一,小整数池pycharm会扩大小整数池的范围,不用深究;#小整数池[-5,256]a = 200b = 200print(id(a)) #id()答应内存地址print(id(b))c = 100044d = 100044print(id(c))print(id(d))print(c is d) #is 返回true或fales 确认是否是同一个内存地址#输出-----------------------------140719825127904140719825127

2021-11-29 11:20:23 592

原创 python利用元类和描述器实现ORM模型

ORM模型:ORM对于后端研发来说肯定是不陌生的,包括很多后端框架比如django,现在都自带这个模型了ORM(Object Relational Mapping)对象关系映射Python中的类与数据库之间的映射,对数据的操作就不用编写SQL语言了,因为都封装好了,比如你想插入一条数据,你就直接创建一个对象即可,Python ------->>>> 数据库类名 ------->>>> 数据库中的表名对象 ----

2021-11-23 11:43:37 794

原创 python实现单例模式的几种方法实例详解

单例模式(Singleton Pattern):是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。实现单例模式第一种方法:1.实例化一个的对象,要用时直接import导如这个对象,而不是再实例化一个,这样就做到了单例模式了,每次都用的是同一个对象,此处就不举例了;实现单例模式第二种方法:2.我们知道,当我们实例化一个对象时,是先执行了类的__new__方法(我们没写时,默认调用object.new),实例

2021-11-16 15:20:55 6062

原创 python闭包和装饰器示例详解

一 ,闭包的三个条件:1.一个函数内部嵌套另外一个函数;2.内部函数使用了外函数的非全局变量(包括外函数传入的参数);3.外函数的retune返回的是内函数的函数名;例:以上函数就是一个闭包函数,如果内函数使用了变量a,那就不是闭包;二,闭包的原理:如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失。但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束。这个原理非常重要,这就能帮助

2021-11-16 13:30:28 923

原创 python偏函数及其作用详解

偏函数介绍:使用前导入:partial 一共有三个部分:1.第一部分也就是第一个参数,是一个函数,这个函数可以是你定义的,也可以是Python内置函数;2.第二部分是一个可变参数,*args,比如内置函数max的参数就是一个可变参数,max(1,2,3,4,5)=53.第三部分是一个关键字参数**kwargs,比如内置函数int的第二个参数就是命名关键字参数,默认base=10,表示int转换时默认是10进制的:偏函数的作用(1):如果一个函数有很多参数,并且会在很多地方调用,那么每次调用都

2021-11-15 18:23:20 725

原创 匿名函数及用法详解

匿名函数:例:匿名函数的调用:匿名函数应用场景:1.使用内置函数filter()过滤列表数值,不使用匿名函数,需要代码4行,使用之后只需要代码一行就够了,是不是很简洁;

2021-11-15 11:04:52 334

原创 纯函数及函数的副作用详解

纯函数概念:就是一个函数的返回结果只依赖于传给它的参数(没有使用外部的全局变量等),并且在执行过程中没有副作用,我们就把这个函数叫做纯函数。例:函数的副作用:指当调用函数时,除了返回函数值之外,还对主调用函数产生附加的影响。例如修改全局变量(函数外的变量)或修改参数。函数副作用会给程序设计带来不必要的麻烦,给程序带来十分难以查找的错误,并且降低程序的可读性。严格的函数式语言要求函数必须无副作用。纯函数的优点:1.可复用性纯函数仅依赖于传入的参数,这意味着你可以随意将这个函数移植到别的代码中

2021-11-15 10:37:02 1405

原创 递归函数详解

一.概念:**递归就是一个函数在它的函数体内调用它自身。**执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。当函数在一直递推,直到遇到递归临界点返回,这个墙就是结束条件。所以递归要有两个要素,结束条件与递推关系二.举例:例1:结果:例2:结果:三.注意事项:1.递归函数能实现的for循环都能实现;2.递归函数非常占用内存,没调用一次自身,就会占用一块内存存储这个函数块;3.递归函数有最大递归次数,因为第二点,python自身的保护机制,避免内存

2021-11-15 10:20:17 1135

原创 性能测试平台ngrider

一,ngrider简介:nGrinder是NHN公司基于Grinder开发的开源性能测试平台。1.b/s架构,非常易用,有友好简洁的用户界面,,能在Windows,linux,mac系统运行;2.具有controller-agent分布式结构的强大的压力测试工具,能够执行性能测试和监控目标服务器,并保存这些数据生成测试报告,通过动态图和数据表的形式展示出来;3.可以自动生成jython和groovy语言的脚本,当然,如果想执行一些比较复杂场景的性能测试,测试人员也可以自己编写脚本,导入进来。二.n

2021-11-12 17:21:44 12107

原创 常用服务器日志查询方法

一.常用服务器日志查询方法1.通过一个关键字查找:cat -n XXX.log | grep “关键字”2.通过两个关键字查找:cat -n XXX.log | grep “关键字” | grep “关键字”3.查看第几行到第几行的日志:sed -n ‘8342120,8342200p’ XXX.log4.查看目标行前后100行日志:cat -n miniapp-c.log | grep -C 100 “17903963”5.解压不是当天的日志(如果是.gz的文件):gzip -d XX

2021-11-12 17:03:43 7862

原创 python可迭代对象,迭代器,生成器傻傻分不清楚~

collections是一个包含了许多类型的modulefrom collections import Iterator,Iterable,Generator1.可迭代对象iterable:简单的理解是可以用for循环的对象,就是可迭代对象。比如:list,字符串,dict,元组,生成器等。具有可迭代的特征语法层面,如果一个对象实现了__iter__方法,那么这个对象就是可迭代对象判断是否是可迭代对象(Iterable)通过调用Python内置的isinstance来判断是否是Iterable

2021-11-12 16:43:45 522

原创 python虚拟环境的安装virtualenv和pipenv

python虚拟环境的安装第一种方式使用virtualenv第二种方式使用pipenv(但是还是依赖方式一添加的环境变量存储虚拟环境,所以第二种方式还是需要走一遍第一种方式的安装)第一种方式使用virtualenv1.安装依赖包:pip install virtualenvpip install virtualenv-win2.新建一个存放虚拟环境的文件夹如 D:\codeworkpace\python\envs3.配置系统环境变量:变量名:WORKON_HOME指定路径:D:\codew

2021-11-12 16:39:31 975

原创 mysql数据库增删改查

文章目录前言一、连接mysql数据库二、数据库及表的创建(以navicat连接为例)三、数据库增删改四、数据库单表和多表查询五、内连接,左右连接六、数据库高级查询总结前言前端的操作其实都是对后端数据的增删改查,比如页面登录(就是通过接口查询数据库,匹配数据库中的账户名密码),所以学习sql语句,是很有必要的;一、连接mysql数据库连接数据库有以下两种常用方式;1.可下载Navicat,输入服务器主机ip及端口和数据库的用户名及密码,可连接上数据库;2.可直接cmd连接数据库(1.先连接上服.

2020-12-13 21:57:20 4001

原创 linux操作系统知识总结

文章目录前言一、Linux简介二、连接linux服务器三、linux的文件/目录四、linux常用命令五、用vi编辑器写shell脚本六、压缩解压缩(搭建环境常常需要将项目包解压缩)总结前言为什么要掌握linux服务器相关知识呢?因为测试人员需要学习linux基本命令用来搭建测试环境(比如服务器上安装一个mysql数据库,安装项目容器tomcat,部署测试包等),或者查看服务器日志/IP/进程等相关操作,所以掌握一点必要的服务器shell命令是相当必要的;一、Linux简介linux是一个开源,免

2020-12-06 20:09:32 536

原创 Python接口自动化测试—读写excel(openpyxl库)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、安装,导入openpyxl库二、python代码读取excel文件信息保存在列表里备用三、requests库写接口函数四、取出备用列表中的url,data传给注册接口函数五、将实际结果与期望结果作比较—断言六、写入断言结果到excel里七、有了读取函数,接口函数,写入函数,那么我们完整的跑一遍总结前言python自动化做接口测试,我们需要读取excel信息和写入excel信息,那么今天我们来学习用python读取Exc

2020-11-29 20:47:30 2557

原创 python接口测试—requests库的安装及使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、requests库安装,导入二、requests库的使用及结果查看方法总结前言python做接口测试我们需要借助一个第三方库requests库,下面我们就来学习如何安装和是使用它吧。一、requests库安装,导入1.安装:pip在线下载第三方库,cmd命令框直接输入(pip install requests)直接下载,我已经下载过了提示是下面这样子;2.或者pycharm—settings里面安装;3.导

2020-11-22 20:52:46 1772

原创 适合python新手练习的项目——爬虫

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、先上代码总结前言本篇主要是给刚学完python语法基础的同学进行一个简单的小练习,写一个小爬虫爬虫其实很简单,简单理解就是获取网页内容,观察html之后你会发现,其实网页内容都是有规律的,比如网页展示的电影清单,在html中第一部电影的名字、年份等信息,和第二部电影信息格式一模一样,然后我们就可以提取你想要的第一部电影的信息片段,然后用for循环就可以获取到网页上所有电影的内容了,那么如何获取网页内容呢?如何提取你想

2020-11-22 19:58:12 252

原创 Python函数,函数参数的几种类型,常用内置函数

前言掌握了Python函数你就可以写代码做一些事情啦,不过很多都不用自己写,直接使用常用内置函数就好了,希望能帮到你。一、函数是什么?定义:函数就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数,使用函数可以提高编写的效率以及代码的重用,需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该函数;定义函数–封装独立的功能调用函数–享受封装的成果定义函数使用def关键字,return[表达式]语句用于退出函数,选择性的向调用方返回一个表达式,不带参数值的re

2020-11-14 21:44:17 293

原创 python格式化输出以及运算符

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、python格式化输出二、python运算符总结前言本篇主要介绍python的几种常见的格式化输出方法,以及常见的运算符,希望能帮到你。一、python格式化输出1.%占位格式化输出2.formart函数格式化输出3.python3.6以上增加了一个f表达式输出,更加方便,有兴趣的可以了解一下哦二、python运算符1.算数运算符:+ - * / %加法运算乘法运算求余数运算如何判断

2020-11-14 21:07:16 266

原创 python变量(字符串,列表,字典,元组)及控制流

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、列表二、元祖三、字典四、python控制流总结前言本篇介绍了上篇文章没有介绍完的python8大数据类型里面的,列表,元祖,字典,以及python的if判断,for循环,while循环,希望能帮到你;一、列表1.列表:关键字list 用一对[],多个元素用逗号隔开;2.列表元素可以是任意数据类型,整型int,浮点型float,布尔型bool,字符串str,字典dict,列表list,元组tuple;3.取值:索

2020-11-08 22:13:16 659

原创 Python基础语法&Python常用数据类型

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、什么是python,以及其优势二、Python的常用数据类型三、小练习总结前言本篇介绍python入门必备知识,python的基本数据类型;一、什么是python,以及其优势1.python及其优势Python是一门面向对象的解释性编程语言,优点是代码比C语言和java语言都要简洁,简单好入门;2.环境Python用3.x版本Pycharm:集成开发环境(IDE):用来编译和调试代码;3.python的文

2020-11-08 21:43:57 183 1

原创 jmeter的参数化、关联、断言

文章目录前言一、jmeter的参数化二、关联三、断言总结前言本篇主要介绍接口测试工具jmeter的参数化、关联、断言学会了这些就能完全胜任工作中的接口测试任务。提示:以下是本篇文章正文内容,下面案例可供参考一、jmeter的参数化1.配置元件:用户定义的变量针对接口请求里面都有的相同的变量,进行参数化引用,便于修改,引用方式${变量名};用户定义的变量填写变量名和值;接口请求里面引用变量,引用方式${变量名};2.配置元件:CSV Data Set Config如果要批量操作.

2020-11-08 21:17:23 1004

原创 接口测试工具jmeter的http请求、数据库请求、soap请求

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、http请求二、jdbc请求三、soap请求总结前言本篇主要介绍一下jmeter做接口测试的使用,希望能帮到你。一、http请求1.添加线程组(可以设置线程组名字,线程数(并发),启动时间,循环次数)2.添加http请求名称:根据接口写名称,如登录,注册,充值等;协议:根据接口文档定义的接口类型填写;服务器名称或IP:根据接口文档给的IP或域名填写;端口号:根据接口文档给的端口号填写;方法:http协

2020-11-01 20:55:21 502

空空如也

空空如也

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

TA关注的人

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