自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Jmeter+influxdb+grafana监控平台在windows环境的搭建

在grafana界面,点击+下import,将刚才复制的ID拷贝到Grafana.com Dashborard中。数据源连接成功了,需要以什么形式或者图标展示,这时候就需要一个展示模板,grafana提供了jmeter的模板。原理:Jmeter采集的数据存储在infuxdb数据库中,grafana将数据库中的数据在界面上进行展示。直接选择zip包下载,下载后解压即可,我之前下载过比较老的版本,这里就不重复下载了,网速太慢。三、grafana如何与influxdb进行关联,展示数据。

2023-11-23 09:18:13 476

原创 Jmeter(119)-函数threadNum妙用

这样,如果需要使用100个用户,只需要加一个beanshell的前置处理器vars.put("user","test"+"${__threadNum}");要执行2个线程3次循环,发现每次循环时,接口中用户参数的数据就会不一样,变成了test1、test2、test3、test4、test5、test6,想到的第一个办法是,使用前置处理器User Parameters,定义参数user,值为test1和test2。如果使用csv也是这个效果,但是实际想要的是test1执行3次,test2执行3次。

2023-07-17 20:29:57 990

原创 数据进行分组后同一字段字符串连接方法

一开始的时候使用的是但是一直提示找不到这个函数,一时陷入迷惑,难道是mysql不支持这个函数?但是百度明明都说mysql是支持的。数据源如下:期望将同一个id_supplier_basic_info输出的supplier_type写在一行上,可以按‘/’分隔。结果,视图想换个工具去查看数据库的时候发现原来用的是postgrelSQL,找到下列方法尝试可用。

2023-05-19 15:07:41 221

原创 flask框架sqlachemy中query或者filter中四舍五入处理

需要使用func.round(exression,x) ,x为保留的小数位数,我一开始直接使用round怎么也不通过一直报错,必须使用func.round。第一点:在query时需要将两个小数相乘后的数保留2位四舍五入,比如下面的单价*已收货数量。使用"%.2f"|format(expression)将总价修改为。第二点:在html中若要将显示的格式保留2位小数。第三点:如果想要在html中计算的数值取绝对值。可以在要取绝对值的后面加|abs。

2023-05-05 14:23:35 192

原创 python爬虫数据写入excel

在Jmeter118中描述了如何将接口请求的响应数据写入到csv中,同样的接口如果采用python写法,会简便很多,主要是用到了python中的pandas库。'2023展会.xlsx''参展公司中文名称'

2023-03-14 15:11:21 1963

原创 Jmeter(118)-json提取器如何直接提取响应是数组的值

在响应结果树中可以用json path tester进行测试,也就是说当返回的直接是数组的情况下,$.[*]就可以表示数据下的每个元素,$.[*].CN_DESCRIPTION就可以或者元素下某个具体字段的值了,其它。按以上的写法写入csv文件后字段并没有对齐,比如同一个英文名会被切分成2个字段,有时候响应的数据直接是一个数组的情况下,也可以用json提取器进行值的提取。目的是想提取这个数组下的每个值对应一行数据,以提取这几个数据为例。应该是这个字段中有逗号的原因,这个在之前讲过,可参考。

2023-03-14 09:46:57 1667

原创 Jmeter(117)——beanshell生成2进制文件

添加后置处理器,指定录音文件存放的位置filepath,通过getResponseData()获取字节数组,FileOutputStream、DataOutputStream写入。接口的响应内容是2进制文件,实际是一段录音文件,希望将响应内容生成aac格式的录音文件。

2023-03-09 14:03:25 559

原创 flask配置https协议

flask配置https

2023-02-16 15:51:34 2690 3

原创 excel中单元格时分秒全显示问题

今天在处理jmeter生成的csv数据时遇到这样一个问题,点击单元格中数据显示的时间可到时分秒。我期望是看到秒做一些数据的分析,首先想到的是是不是列宽不够,调整列宽后发现没用。寻找的方案是:自定义单元格式,选中要调整的列。但是不选中单元格时看到的时间只能到分。

2023-02-01 17:35:54 587 3

原创 sql查询条件中字符串包含单引号处理

今天在写sql语句时遇到一个语法错误,导致执行到那一行就失败。以上是完全没有问题的,但是如果过滤的字段名称中包含单引号。将字符串中的单引号前面再增加一个单引号,如下。这样就没办法执行了,

2022-09-21 17:22:34 5026 1

原创 GIT记录

此时在暂存区中显示readme文件待删除 mark.txt未管控,红色表示需要在commit之前处理的。在git bash中执行git config --list --global ,查看全局配置。git安装后的最小配置(user.name、user.email)查看最近2次 git log -n2 --oneline。查看帮助 git help --web log。查看有哪些分支 git branch -av。删除分支 git branch -D 分支名。切换分支git branch 分支名。

2022-09-09 17:28:19 199

原创 Jmeter(116)——写入xls登录案例实战

比如需要测试一堆登录信息是否可用,使用手机号、身份证、验证码进行登录,如果登录接口msg信息返回成功,则认为登录成功,否则失败。关于模板标题字段,只要确保最后3个字段是固定表示预期、实际、结果就行,其它可以任意减少或增加,就可以直接使用这个类下方法生成报告。第1至第3字段为传入登录接口的参数手机号、验证码、身份证号,第4列为期望结果,第5列实际结果,最后1列用背景色表示用例通过或失败。通过login接口msg的返回值与期望结果比较,得出最后的result,全部写入xls文件,最后的结果类似。...

2022-09-01 16:13:14 390 5

原创 Jmeter(115)——在jmeter中写入xls文件的基本方法

WritableFont wf=new WritableFont(WritableFont.createFont("宋体"),11,WritableFont.BOLD);//添加label对象,Label(column,row,content),在sheet中将label加入到单元格中,适用于以上单元格格式。log.info("单元格类型:"+sheet1.getCell(0,1).getType());//设置列宽度setcolumnview(列号,宽度)//添加DateTime对象。...

2022-08-29 14:25:21 595

原创 Jmeter(114)——在jmeter中读取xls文件的基本方法

在数据量不大时,我们可以使用xls格式文件进行读写操作,同时也可以对单元格内容进行设置,而不像csv文件一样保存后格式就无,还有数字特长时总是出现科学计数法,导致读取后内容有问题。将下载的jxl包放入到jmeter安装目录lib/ext下,此时打开jmeter,建立一个beanshell sampler,今天先学习下如何读取文件内容,在D盘根目录下创建以下文件,分别是手机号,验证码和ID。需要注意的是,在beanshell中,必须先import,然后再写方法,最后才调用方法。......

2022-08-26 15:31:41 1852

原创 操控xls文件的jxl包下载

选中后再选择download,选择jar。

2022-08-24 17:53:21 452

原创 shell编程

使用等号给变量赋值:var="abc"使用$引用变量:echo $var。

2022-08-23 17:12:34 289

原创 linux日常记录1

只需要知道报名,yum工具自动从源端仓库下载安装,源端仓库地址可以通过查看cd /etc/yum.repose.d/这个目录下.repo文件。rpm --help | more --管道符是将前面命令输出的结果作为后面命令的输入 ,可以分页查看。.tar.gz 主要为源代码包,包里含有.h .c等文件,查看tar包里内容,tar -tf tar包。make install --安装,默认安装至/urs/local/tar -xzvf tar包 --解压缩。...

2022-08-17 15:08:43 142

原创 Jmeter(113)——提取html中元素的CSS selector extractor

在做gui页面元素断言时,需要提取页面中的元素,可能会用到这个CSS selector extractor,实际我没有在工作中使用过,大抵看了下,定位元素方法,语法规则用的是jsoup,这个后续可以学习下。三、通过属性,[attr^=value], [attr$=value], [attr*=value]: 分别表示属性名以什么开头,以什么结尾,包含什么。二、通过class定位,以.class名称。四、选择器组合定位,tag.class。简单的尝试了以下一些方法,作为记录。一、通过id定位,#id名称。..

2022-08-12 11:28:45 1019

原创 Jmeter(112)——windows环境下内存溢出

找到安装目录bin下jmeter.bat文件,用记事本打开,搜索set Heap,将Xms设置为1g,Xmx=4g,通常情况下Xmx表示分配的最大内存不应大于实际机器内存的一半,保存后重启。这时候你会发现启动界面上的堆内存设置还是原来的1g,没有改变,我也一直没搞明白为什么。在执行压测过程中由于压力机本身的原因导致脚本出错,在日志中可以看到。但是可以通过jconsole查看VM参数,在cmd命令行下输入jconsole.exe。查看vm参数,实际已经是修改过后的值。...

2022-08-11 11:55:44 379

原创 jmeter(111)——如何测试单接口或某个事务的tps?

今天看论坛时无意中得到启动,可以通过stepping Thread Group进行不同线程数量的加压,具体参数说明上一节已讲过,现设置如下,总共启动20个线程,分5次加压,每次增加4个线程,每次持续30秒。从上图的聚合报告中看出不同并发数下对应的吞吐量和响应时间,其中在前4个阶梯时随着并发量增加响应时间增加,tps也随着增加,但是到了并发20时,响应时间增加,tps不再增加,说明已经到了吞吐量的拐点。同时通过查看下图,随着线程数增加一开始tps是线性增长,到16个时突然下降。......

2022-08-10 15:35:19 1577

原创 Jmeter(110)——阶梯式加压线程组Stepping Thread Group

传统的Thread Group线程组的加压方式只能在ramp up time内加载多少个线程,这样每秒加载的线程数量就是线程数/ramp up time ,有一个插件Stepping Thread Group可以帮助我们加压时进行阶梯式加压。Next:几秒内加多少个线程,并持续多久。上图中就是0秒内加20个线程,并且持续30秒,这样的话启动100个线程需要5步。Then,start:然后再启动多少个线程,上图中,首先没有设置等待,然后启动了20个线程。Then,hold for :所有线程启动后持续多久。.

2022-08-10 14:27:57 575

原创 Jmeter(109)——Transaction Controller

可以看到结果树和聚合报告中都增加了一个sample名为Transaction Controller,聚合报告中事务控制器的Average响应时间为2000ms,很显然是它下面两个取样器的响应时间之和,但是没有包括定时器的时间,但是在最后计算Throughput时值为1.1,表示每秒处理的事务数(包括其下所有的子项)为1.1个,这个值是怎么计算的?总的事务数是10个,所有事务执行完毕的时间是9秒(这个值可以从右上角的时间看到),那么10/9=1.1,很显然这个值是包含定时器的时间的。...

2022-08-03 11:49:52 395 1

原创 Jmeter(108)——Concurrency Thread Group

设置完毕以上参数,意思就是期望达到10个并发,这10个并发不是瞬间增长的,需要在1分钟内达到,并且分5次加压,即每60/5=12秒加压一次,每次增加并发数10/5=2个,达到10个并发后,运行1分钟。ThreadIterationslimit线程循环次数,默认空为无限循环,最后根据保持时间停止线程。HoldTargetRateTime保持时间,这里设置1分钟。这个线程组只有在启动时会设置阶梯加压,最后释放时会全部瞬时释放。RampUpTime加压时间,这里设置1分钟。......

2022-08-02 15:53:08 511

原创 Jmeter(107)——线程等待Thread.sleep

除了使用定时器、Thinktime外,还可以在beanshell中使用Thread.sleep(sleeptime)来设置等待时间,其中sleeptime的单位为ms。

2022-08-02 11:42:33 1394

原创 如何同时启动多个cmd命令?

在windows的命令行中,如果要执行多个启动命令,就需要打开多个cmd命令窗口。这时候就可以使用批处理命令,在执行命令的目录中新建一个startup.bat文件,右击记事本打开。填写需要执行的命令,每一个命令前加start,这时候就会启动一个新的cmd窗口。保存后双击startup.bat执行,此时就会显示3个窗口命令。比如要启动hub、node。...

2022-07-19 16:30:37 4775 1

原创 Jmeter(106)——http取样器中同请求一起发送参数中编码的作用

在http请求中当请求参数中包含一些特殊符号(指除了数字字母外)和中文外,请求的响应结果就会出现异常,检查时看到结果树中明明显示的请求参数没问题,可是就是不对。所以如果参数值中包含了这些特殊符号,请在请求时务必将URLEcode勾选上,以免出现编码格式问题。这时候要去后台看下请求日志,就会发现传过去的token参数值会有部分解析问题,所以响应会报token失效。比如,以下请求参数token。...

2022-07-18 10:42:23 431

原创 selenium grid4入门-Hub and Nodes的经典模式

本来以为host应该是在5555端口上,但是不起作用,还是在4444上起作用,这里node和hub都是再同一台机器上,所以感觉和standalone模式没有任何差别,官网也没说明grid4中这个模式怎么在其他机器上注册,暂且不看吧。此时已经找到了我们在上篇中已经下载的3个驱动,并且已经添加成功。启动后,服务器默认还是本地的4444端口,这也是远程驱动需要指向的url,访问。使用以下命令增加nodes,服务器会从path中找到可用的驱动。此时,控制台页面会显示grid尚未注册Nodes。...

2022-07-15 14:19:02 1161

原创 selenium中使用Microsoft Edge浏览器驱动下载

在不知道哪里下载edge驱动时,执行以下代码,在报错信息中会显示下载地址查看当前edge浏览器的版本,在刚才打开的下载页面找到与edge浏览器匹配的驱动 64位操作系统就选x64点击下载,下载完成后解压缩 将exe文件copy到和chromedriver同一目录,这样就不用重复设置path再次执行刚才的代码,edge浏览器就能成功打开了......

2022-07-14 17:16:04 5268

原创 selenium grid4入门-standalone模式

参考官网:Getting started with Selenium Grid | Seleniumselenium grid4有三种模式standalone模式能够在一台机器上面执行完整的分布式功能,是Selenium Grid的最简单的模式,默认情况下,服务会在http://localhost:4444地址监听,我们需要通过RemoteWebDriver指向这个地址。classical模式也可以称为hub和node模式,此项模式比较适用于中小型分布式执行要求,根据需要设置一个服务节点(hub)和多个代理

2022-07-14 15:29:01 868 1

原创 docker在windows上的安装

参考官方安装指导Install Docker Desktop on Windows | Docker Documentation1.下载桌面版cocker 2.下载完后双击这个exe文件 3.弹出安装界面,确保以下选项被选中,点击ok 4.安装完成后重启windows,开机后会自动启动docker5.重启后会弹出条款变更的通知,选择accept,继续6.此时如果没有安装WSL 2会弹出, 安装完内核更新包后重启docker此时docker desktop界面就会显示表示安装成功...

2022-07-13 17:39:02 703

原创 Jmeter(105)——读取csv文件参数时显示方块乱码

在91节中讲过在结果树中显示?乱码的解决方案Jmeter书中不会教你的(91)——dummy sampler中响应中文结果树中显示乱码?_agrapea的博客-CSDN博客在实际中还会遇到读取csv文件参数时显示方块字乱码比如这种,content和type都是从csv文件中读取的参数,其中方块字是中文乱码 尝试采用91中的解决方案无果,怀疑是文件格式有问题。解决方案:步骤1:将原csv文件用记事本打开,可以看到在这里其实没有乱码 步骤2:将其另存为,可以看到原编码格式ANSI改成utf-8保存 步骤3:重新

2022-07-12 10:15:58 602

原创 Jmeter(104)——前置处理器User Parameters

我们在遇到请求时如用户名和密码需要参数化,在用户量不多的情况下,可以使用前置处理器User Parameters去预设值一批用户名和密码的值,但是如果量大的情况下,还是建议使用csv。 将username和password参数化,引用变量来自于前置处理器User Parameters 每个线程会从User_1依次取值,比如执行3个线程,http请求中username依次会取u1,u2,u1如果是单个线程循环3次,那么http请求中username每次都会取第一个值u1...

2022-07-07 11:11:40 336

原创 Jmeter(103)——前置处理器RegEx User Parameters

实际中这个前置处理器RegEx User Parameters用的很少,需要配合正则表达式提取器一起使用,关于正则表达式提取器,可以看前一篇文章。Jmeter(102)——正则表达式提取器详解_agrapea的博客-CSDN博客作用:就是将正则表达器中提取的值,分组1和组2的值, 作为下一个请求入参的参数和值。比如正则表达式中提取的第一条userlist_1_g1=username,userlist_1_g2=Test001第二条userlist_2_g1=password,userlist_2_g2=12

2022-07-06 11:47:52 426

原创 Jmeter(102)——正则表达式提取器详解

之前在Jmeter书中不会教你的(8)——提取响应内容的神器JSON Extractor_agrapea的博客-CSDN博客中提到过如果要在一个提取器中设置两个变量的方法。 今天来看看正则表达式中《组》group的概念。 首先创建一个dummy sampler,响应数据如下,希望提取name和value中的值存放在变量userlist中 ...

2022-07-05 14:36:55 680

原创 Jmeter(101)——Beashell中Script File的用法

在beanshell sampler中编写如下,日志在下方打印出来。 beanshell用了这么久,Script file这里一直没用过,不知道怎么用。一开始看帮助文档时以为是执行另外一个脚本文件,于是将此脚本另存为jmx文件后,将其加入到这里的script file,执行后出错啦。 后来仔细斟酌了下,应该是beanshell的脚本文件,就是指在在Script下执行的这段脚本,于是将log.info("如何引用外部脚本文件");log.info("abc");log.info(Parameters);

2022-07-04 17:37:55 491

原创 Jmeter书中不会教你的(100)——函数V的使用

在41节及69节涉及过变量的嵌套引用,再来说说V这个函数怎么做到嵌套引用。看一下它的帮助文档新建一个测试计划,增加三个变量如果想在后续引用A1的值很显然这种嵌套引用是不支持的,全部当成字符串处理...

2022-06-22 16:57:34 1802 2

原创 Jmeter书中不会教你的(99)——java request实例

简单来说java request就是在jmeter界面通过传入一些设置的参数给特定的java代码去处理,最后在jmeter中输出结果。比如以下,设置两个参数,选择test.MyJavaRequest类,这个是一个自行创建的java代码,将这个java代码导出为jar包后存放在/lib/ext下,这时候再java request下拉菜单中会自动加载这个类。这个java代码怎么写?在jmeter中使用的需要按固定格式一、在eclipse创建一个java工程,比如JavaRequest二、在src下创建packa

2022-06-22 11:02:29 1236

原创 Jmeter书中不会教你的(98)——存放键值对HashMap

以获取的取样器响应头为例,演示如何将响应头信息存入HashMap,通过prev.getResponseHeaders()获取的响应头格式如下,其中第一行为状态码 HTTP/1.1 200 OK,换行后的数据都是以冒号区分的键值对,我们只存这部分内容。可以随意创建一个http取样器,在其下增加一个后置beanshell处理器 控制台打印结果如下 如果想要获取HashMap长度以及遍历整个...

2022-06-20 15:23:02 647

原创 Jmeter书中不会教你的(97)——程序复用的Module Controller

实际中,总有一些代码需要重复使用,为了减少脚本或者看着更简洁,比如以下2个线程组内都需要调用baidu,可以将这个请求作为公共部分,放在Test Fragment下,在线程组1和线程组2下建立逻辑控制器---Module Controller,点击Module Controller,在右侧选择这个模块控制器要执行的动作,比如,要访问baidu增加一个结果树执行后查看......

2022-06-17 15:24:14 243

原创 Jmeter书中不会教你的(96)——如何避免写入csv的数字显示科学技术法

如果我们对一个很长的数字不进行处理,name写入csv文件时很可能看到的是这样的为了让它正常显示,实际写入时只需要增加一个符号即可,以当前时间戳为例//当前时间戳,利用time函数,加双引号将其转换成字符串打印sendtimestamp="${__time(,)}";log.info(sendtimestamp);//写入文件path="writeto.csv";fw=new FileWriter(path,true);bw=new BufferedWriter(fw);//按以下格式直接写入时 就会

2022-06-17 10:46:38 578

jmeter写入xls文件

jmeter写入xls,生成测试案例,输出测试结果

2022-09-01

空空如也

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

TA关注的人

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