自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录在阿里云部署flask项目

618心血来潮买了一台阿里云服务器,准备吧自己写的flask接口布置上去,我买的服务器是最低配的,选择的时centos864位系统,物料准备好了,开始弄1.阿里云的centos8自带python3和pip3,所以我就用现成的,首先安装项目的虚拟运行环境,我用的是root账号,在/usr/local下面新建一个文件夹,名字自己写,我用的是soft(其实放哪都行,我习惯这样做),然后切换到soft文件夹,执行pip3 install virtualenv2.进入自己的项目文件夹,比如我的项目文件在/us

2020-06-20 16:30:41 462

原创 记录在阿里云部署vue+django+nginx+uwsgi前后端分离项目

vue+django前后端分离的项目部署到阿里云服务器上

2022-06-13 18:35:43 1090 1

原创 使用java操作Neo4j数据库

代码如下要引入两个依赖 <dependency> <groupId>org.neo4j</groupId> <artifactId>neo4j-bolt</artifactId> <version>4.2.2</version> </dependency> &...

2021-01-19 20:53:52 747

原创 使用jgit第三方库拉取代码

jgit是eclipse开发的用于拉取代码的一个jar包,可以使用代码实现git的拉取等操作1.使用前需要先引入maven配置,注意版本号,高版本的有些功能不支持<dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> <version>5.5.0.201909110433-r&l

2020-11-27 13:32:58 1449

原创 go语言尝鲜---打印100-999直接的水仙花数

下面展示一些 内联代码片。第一种方式for a := 1; a < 10; a++ { for b := 0; b < 10; b++ { for c := 0; c < 10; c++ { n := a*100 + b*10 + c*1 if a*a*a+b*b*b+c*c*c == n{ fmt.Println(n) } } } }第二种方式for a := 100; a <= 999; a++ { x :

2020-07-23 15:31:03 482

原创 jmeter SSL证书相关配置

在实际工作中,我们大多数接口都是用的HTTPS来保证安全,使用jmeter测试HTTPS请求是如何配置证书呢?1.最简单的方法,在选项里选择SSL管理器,然后选择相应的证书即可在弹出的选择框选择证书即可,亲测可以使用.p12证书,因为我们公司用的时p12类型证书,当发起HTTPS请求时,如果设置的有证书密码,会弹窗让你输入证书密码,然后就请求成功了2.第一种方法如果重启了jmeter,下次请求时还要再次设置证书,还要输入密码,非常不方便,我们可以在系统中修改配置来解决这个问题,首先把p12证

2020-07-09 16:35:27 5131

原创 使用idea打jar包并在jmeter中使用自己的jar包

1.在idea中写好java文件后点击file--Project Structure...2.点击Aftifacts,然后点击+号3.按下图选择配置4.选择入口文件,就是自己写的java类,这个类里面如果不包含main方法会报not acceptable,但是也能导出成功,最好带上吧5.选择完成后点击ok保存6.进行如下配置后,点击OK7.直接点击ok9.在build选项中选择bulid Aritifacts来导出我们刚才配置的包10.下级菜单

2020-07-09 14:34:11 1731

原创 beanshell内置方法获取header、url、参数等信息用于计算验签

先上代码import org.apache.jmeter.config.Arguments;import org.apache.jmeter.protocol.http.control.HeaderManager;import org.apache.jmeter.protocol.http.control.Header;import java.util.*;import com.google.gson.Gson;HeaderManager headerManager = sampler.get

2020-07-08 16:41:03 3727 6

原创 手摸手搭建简单的jmeter+influxdb+grafana性能监控平台

我安装的机器是阿里云的centos8机器,其他的系统暂未验证1.安装influxdbinfluxdb 下载地址https://portal.influxdata.com/downloads/,也可以直接在服务器上执行以下命令下载我的软件一般下载在/usr/local/soft文件夹下,soft是我自己新建的文件夹,进入soft文件夹后执行wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm ..

2020-07-06 19:54:26 515 1

原创 jmeter+ant+jenkins实现简单的可持续集成

1.下载ant进行安装,ant下载地址https://ant.apache.org/bindownload.cgi2.配置环境变量ANT_HOME,并且在PATH中添加%ANT_HOME%\bin,这是在windows中配置,其他系统自行百度3.修改jmeter中的jmeter.properties配置文件,修改jmeter.save.saveservice.out_format=xml 需要放开注释修改值为xml,原值为csv4.将jmeter的extras文件夹中的ant-jmeter.**

2020-07-05 10:50:12 523

原创 jmeter无图形界面执行测试并生成报告

持续集成利用了jmeter的无图形压测功能,通过ant执行压测命令来实现,先来介绍一下jmeter的无图形界面执行压测的功能1.进入jmeter的安装目录,找到bin文件夹,进入这个文件执行以下命名jmeter -n -t test\xxx.jmx -l test\cli0705.jtl -e -o test\resul0705test是在bin目录下创建的文件夹,用于存放测试脚本和测试结果-l 表示运行过程中生成的数据,是小写的L,文件名随便起,格式为.jtl 例如cli0705.jtl.

2020-07-05 08:52:37 2886

原创 详解OSI七层网络协议

OSI网络七层协议从下往上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,下面分别说说这几次协议都干了什么事情,如有不对请指正1.物理层:机器互联的物理链路,主要是物理介质,比如网线、光纤、无线电波,实现了各个主机之间的基本连接,它们发送的是电信号,数据格式:比特流,是0101010的二进制数据(这一层没有协议)2.数据链路层:物理层发送的01010比特流是没有什么意义的数据,怎么把它变成有意义的数据呢?怎么确定这个比特流数据是发给我的呢?数据链路层就是为了解决这些问题,它把比特

2020-07-02 17:49:22 917

原创 nmon监控工具使用

1、下载nmon监控工具和分析工具,然后把nmon监控工具上传到需要监控的服务器上,建议在/usr/local文件夹下新建一个soft文件夹来存放监控工具,监控工具下载地址https://sourceforge.net/projects/nmon/files/nmon16m_helpsystems.tar.gz/download,然后在soft文件夹下再新建一个文件夹nmon用来存放解压完的文件,解压命令如下,tar-xzvfnmon16m_helpsystems.tar.gz-C./nmon/...

2020-07-01 21:25:34 709

原创 jmeter实现不写代码把测试结果存入execl

这里使用数据库作为中间件来实现不写代码就把测试结果存入execl,下面是步骤1.新建一个setup线程组用来设置数据库连接信息和新建数据库,如下图所示,我们使用sqlite数据库来存储信息,因为不需要自己再去安装数据库,Database URL填写jdbc:sqlite:mytest.db,这是标准写法,mytest是数据库名称,执行后会在bin目录生成一个mytest.db的文件,注意这里需要自己去下载sqlite的驱动jar包,地址传送门https://repo1.maven.org/maven2/

2020-07-01 19:44:29 218

原创 jmeter之json后置处理器一次提取多个数据

如下图所示,我们要提取登录返回的msg和status,如何在一个json提取器里一下取出来了呢在请求后面添加一个后置处理器,然后填写需要提取的参数名称和json表达式,每个值之间用英文逗号分开,默认值也要填写两个,并且用逗号分开,这点很重要,如果默认值不填写,会报数组越界!!!然后添加一个调试取样器查看提取结果,如下图所示,已经提取成功了...

2020-07-01 11:41:08 1941

原创 jmeter实现分布式压测

分布式实现的前提条件:1.master机器和奴隶机的jmeter要一致 a. jmeter版本要一致 b.jdk主要版本要一致,比如都是jdk1.8,后面的小版本不一样不影响 c.jmeter脚本中csv文件要一致(特别注意csv路径,建议csv路径使用相对路径,放在脚本的同级目录) d.jmeter插件要一致2.同一局域网,防火墙要开放端口,不然访问会被拒绝保持一致性的方法:直接压缩本地jmeter包,然后上传到各个奴隶机进行解压奴隶机配置...

2020-07-01 08:46:33 1149

原创 解决jmeter请求响应结果乱码的问题

入下图所示,请求百度接口的时候,发现返回的信息里面中文是乱码这个时候我们只需要改一下jmeter里的配置文件,设置响应结果的字符编码为UTF-8就行了。进入jmeter安装目录/bin中,找到jmeter.properties这个文件,windows用文本编辑器打开,我是mac的,直接vim编辑,搜索关键字sampleresult.default.encoding,然后把它的值改为UTF-8,保存并重启jmeter就可以了再次请求百度时发现乱码问题已经解决了...

2020-06-30 10:14:20 1378

原创 jmeter线程组与循环次数的区别

在压测的时候,有些接口需要携带登录信息,但是我们只想登录一次,然后其他接口进行多用户压测,此时你会怎么办?用仅一次控制器实现吗?下面我们来看看用仅一次控制器能不能实现压测时jmeter中的线程数是模拟并发用户的,我们设置线程数5,然后登录请求添加一个仅一次控制器,我们通过察看结果树看看登录请求是执行了5次,仅一次控制器没生效然后我们设置循环次数为5次,再次发起请求查看结果发现登录只执行了一次,获取商品执行了5次通过上面我们可以看到仅一次控制器是在设置循环次数的时候才会生效,.

2020-06-30 09:57:20 7553

原创 jmeter测试dubbo接口--11篇

首先需要去下载dubbo插件,jmeter本身是不支持dubbo接口测试的,但是他的可扩展性决定了他几乎可以做所有类型的接口测试,阿里已经发布了dubbo的取样器插件,下载后放在jmeter安装目录的/lib/ext下面,重启即可。插件下载地址https://gitee.com/ningyu/dist-jmeter-plugins-for-apache-dubbo,注意需要下载跟自己要测的dubbo版本相匹配的jar包,一般只用下载jmeter-plugins-dubbo-xxx-jar-with-depe

2020-06-29 14:54:12 579

原创 jmeter完成数据库多个insert或select操作--10篇

如下图所示,在设置jdbc连接时需要添加一个参数支持多操作,具体参数是 allowMultiQueries=True然后执行jdbc请求时需要选择

2020-06-27 21:26:01 1010

原创 jmeter之json后置处理器提取一组数据--09篇

如下图所示,获取项目接口返回了一组数据,我们想要获取所有的project_name该怎么做呢?用项目的表达式就可以了,$.content[0:6].project_name,content[0:6]类似于Python里的切片,包左不包右,上面总共返回了5条数据,我们想要全部拿到就用[0:6],0表示第一条数据,Match No要填-1表示获取所有的值,这里就不能填0添加一个调试取样器,我们可以看到已经取到所有的project_name了...

2020-06-27 11:38:00 552

原创 jmeter实现跨线程组传值方法一--08篇

我们在jmeter中每个线程组内的变量是可以共享的,但是假如B线程组需要用到A线程组的变量时怎么办?其实我们可以使用系统属性来实现线程组之间进行传值首先我们新建两个线程组,A线程组是登录操作,登录后会返回token,B线程组是新建项目操作,需要用到A线程组的token进行鉴权,A线程组登录成功后,我们可以通过后置处理器中的json提取器拿到token,提取到的值存放在tk这个变量中然后我们使用函数助手来设置jmeter属性,如下图所示,输入属性名和属性值点击生成按钮在A线程组中添加一个调

2020-06-24 15:51:25 988

原创 jmeter使用Stepping Thread Group 进行负载场景设计--07篇

1.要设计负载场景,要先下载jmeter的插件,首先查看自己的选项中是否有jmeter插件,就下图红框中的如果没有,需要去下载一个,地址如下https://jmeter-plugins.org/install/Install/,如果下载失败就多尝试几次,或者留言找我要,下载完成后把这个jar包放进jmeter安装立路径中/lib/ext目录下,重启jmeter后就能看到这个插件了2.点击这个插件,进入插件管理页面,切换到可用插件一栏,输入jpgc加一个空格,然后选择插件,点击右下角的Apply

2020-06-24 11:49:36 763

原创 requests库发送请求时urlencode的坑

今日写公司的验签脚本时,发现requests库给服务端发送请求时,没有对URL参数中的=进行加密,导致验签算法得到的值错误,仅此记录,我用的requests版本是2.23.0版本,以下是请求示例Python发送requests接口时的参数如下ur = "http://111.11.40.21/cinema/address/?sessid=E1MDk0OTE==&city=杭州"res = requests.get(url=ur)到服务器端接受到的url是GET /cinema/a

2020-06-23 19:06:03 1316 1

原创 jmeter之发送jdbc请求--06篇

1.setup线程组中新建一个JDBC Connection Configuration配置元件2.设置配置信息Database URL:jdbc:mysql://127.0.0.1:3306/vue_interface?useUnicode=true&characterEncoding=utf-83.新建一个线程组,在线程组中添加一个JDBC Request然后填写信息请求信息,如下图添加一个调试取样器和查看结果树,执行请求,观察生成的变量接下来我们可以

2020-06-20 18:48:48 204

原创 jmeter之使用csv文件传递参数-05篇

csv文件格式,第一列为手机号,第二列为密码1.右键添加一个配置元件---csv数据文件设置2.设置csv数据提取路径3.引用数据4.设置线程循环运行两次,然后发送请求看到结果就执行了两次,取得用户名和密码发生了变化...

2020-06-17 12:07:39 1288

原创 jmeter使用Json Path提取数据-04篇

如下图所示,jsonpath提取器适用于返回值是json或字典的时候提取数据,我们想提取返回值中的性别,就可以用$.content.sex来提取,$表示根节点,.表示下一级,下图使用JSON Path Tester来测试表达式是否正确,图中已经匹配到正确结果,说明表达式正确然后在login请求下增加一个后置处理器---json提取器,如下图然后发起请求,通过调试取样器可以看到,已经返回了我们需要的结果使用时直接${sex_msg}就可以的到值了...

2020-06-15 18:04:49 1322

原创 jmeter之foreach循环控制器-03篇

上篇我们通过正则表达式获取到了一组数据,那么怎么来用呢?下面就用foreach控制器来使用结果,如下图所示然后再foreach控制器里假如要循环的请求,我们模拟百度搜索,value填入${id}然后运行测试,会发现请求循环执行了10次,每次的值都不一样...

2020-06-15 17:39:19 673

原创 jmeter正则表达式提取器获取数组数据-02篇

接上篇,当我们正则表达式匹配到多个值以后,入下图所示,匹配到21个结果,如果我们想一次拿到这个一组数据怎么办呢打开正则表达式提取器页面,匹配数字填入-1即可通过调试取样器就可以看到匹配到已经匹配到多个结果了...

2020-06-15 17:07:52 1684

原创 jmeter正则表达式应用-01篇

如图所示1.先新建一个login的http请求,然后再login的请求下新增一个正则表达式提取器,增加一个查看结果树查看结果假如后端接口返回的数据为"{'msg': 'login success', 'code': 1001, 'token': '48b2837a33461f58988ae72b8c21ad47'}",我们就提取这个返回值里的login success、1001和48b2837a33461f58988ae72b8c21ad47这三个数据首先我们结果查看切换为RegExp

2020-06-15 16:37:09 205

原创 记录Python的字典复制的坑

笔者之前写过一段接口的测试代码,其中有一个函数是替换字典中的值来做不同的入参处理,结果发现一个bug,执行完一次后发现请求结果跟预期的不一样,打印log发现第二次请求时的入参跟第二次的入参不一样,最后发现是因为自己字典赋值导致的bug,具体代码如下def copy_demo(a): c = a c['name'] = "hello" c['age'] = "18" c['sex'] = random.randint(1, 10) return c测试代码val

2020-06-13 17:35:36 336

原创 巧用.bat文件启动jmeter

我们可以在一台电脑上安装多个jmeter,比如jmeter5.1.1,jmeter3.2.1等用于不同条件下的测试,此时如果我们配置了jmeter环境变量,那么启动jmeter时可能发生闪退,为了解决这种问题,我们可以自己写一个.bat脚本来启动不同版本的jmeter首先我们在桌面新建一个txt文件,命名为startupjmeter5.1,然后把后缀改为.bat(这点很重要),然后用文本编辑器打开,本人用的notepad,比较好用,代码只有下面几句话,依次解释一下,第一行代码表示关闭输出,建议加上.

2020-06-13 17:07:28 1740 1

原创 jmeter必备正则表达式

元字符. 注意是一个点号,表示匹配任意单个字符\d 表示匹配任意单个数字[0-9] 等价于0-9[a-zA-Z] 等价于所有的大小写字母限定符+ 加号,表示匹配至少大于1次(1次或多次)?问号,便是匹配0次或1次* 星号,匹配0次或多次,贪婪匹配{n,} {n,m} {m} 匹配限定次数,{n,}表示匹配最少n次,{n,m}表示匹配n次到m次之间,比如{3,5}表示匹配3次或4次或5次,在一个范围内,{n}表示匹配n次,比如{5}表示只有匹配到5次才行如...

2020-06-11 09:32:43 985

原创 Python判断ip是否合法

直接上代码思路:1.通过.分割字符串,如果长度不为4,说明输入格式就不符ip的规则,因为ip是11.22.33.442.在判断每一位数字是否在2-255之间,因为ip有范围限制3.这里通过check_num来判断是否每一位数字都符合固定4.通过str(int(num)) == num过滤掉了类似10.04.05.06这样前面带0的情况def is_ip(ip): num_list = ip.split(".") if len(num_list) != 4: retu

2020-06-10 18:35:05 2094

原创 python实现输入一个日期算出是输入年份的第多少天

输入格式为“2020-06-10”def which_day(date_str): year = int(date_str.split("-")[0]) month = int(date_str.split("-")[1]) day = int(date_str.split("-")[2]) total = 365 is_special_year = False max_month = [1, 3, 5, 7, 8, 10, 12] normal_m

2020-06-10 18:27:26 1374

原创 性能测试之负载测试、压力测试、可靠性测试和容量测试的区别

负载测试、压力测试、稳定性测试、容量测试的异同点1.负载测试是逐步增加压力,来找到性能拐点,主要是为了找性能指标,比如服务器最大承受的并发用户数是45,为了找到这个指标,我们一开始施加的用户是20个,每次递增10个,到40个用户的时候服务器还能抗住,再增加10个到50的时候,服务器已经出现了异常,不能正常提供服务,此时我们可以找到服务器能承载的并发用户在40-50之间,然后再每次增加一个用户,就可以找到服务器最大的并发用户数是45—-关键词:逐步增加压力,找到拐点2.压力测试是在测试服务器在高并发的情况

2020-06-10 17:54:29 3569

空空如也

空空如也

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

TA关注的人

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