1,  jmeter 录制脚本需要设置ie 代理服务器:设置完成后,关闭浏览器,重新打开就生效了。

如果录制完了之后,回放时报错, 可以尝试清除浏览器缓存后,重新录制脚本。

工作台--http代理服务器,中的“目标控制器”,如果选择在线程组中,录制的脚本就会显示在线程组里。


过滤的设置:

.*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2).*


2,  jmeter 录制请求

3,实现常用场景:登录一次,循环查询,退出一次。

这样聚合报告中就可以看到如下:

4,使用模板录制:

模板中文化后,看的更清楚:

6,命令执行jmeter脚本:

建一个jmetercmd.bat,输入命令行

jmeter的安装目录 -n -t “jmx脚本路径”

例如:D:\apache-jmeter-3.2\bin -n -t D:\apache-jmeter-3.2\bin\templates\zgl.jmx

7,jmeter中常用组件介绍。(必须有线程组和http请求。之后可以加http cookie管理器,涉及防盗需要加http信息头管理器。增强脚本加关联、检查点、集合点)

1)HTTP cookie 管理器:页面间靠cookie传参时,需要这个元件。

2)HTTP信息头管理:涉及加密或是防盗信息时,在http信息头管理器中管理。

3)HTTP默认请求值:在每个http请求中都一样的参数提取出来放在这里统一管理,在http请求中可以不用填写了,使用默认值。

3)正则表达式提取器:关联。

4)固定定时器:思考时间

5)响应断言:检查点。

6)集合点:synchronizing time 。

7)逻辑控制器:有很多种,仅一次控制器表示在循环场景中只执行一次。例如唯一登录。 还有循环控制器或是if控制器,根据执行场景情况使用。

8)csv data set config :设置参数化。 多参数用逗号分开。

9)查看结果树:显示结果信息的。

10)debug sampler :打印信息。

8,http默认请求值。


9,debug sampler 打印信息。

也可以打印:

10,jmeter跨线程组间传递sessonid值。

通过以下四步的设置,在两个线程组间,可以传递sessionid的值。

1)首先查看结果树中,响应头包含了返回值的sessionid。

2)添加正则表达式提取器。

jmeter正则表达式,提取多个值。

9,正则表达式提取器: 0表示随机,-1表示所有值,1表示第一个,2表示第二个值。 

3)添加beanshell postprocessor:设置全局函数。${__setProperty(newJSESSIONID,${JSESSIONID},)};

4)在线程组2中通过函数获取。 ${__P(newJSESSIONID,)}

jmeter打印调试语句:

6,用debug sampler 进行调试:

jmeter参数化:

7,参数化时,调整取值顺序

8,参数化txt文档中包含多列记录。

csv格式的样式:

在“查询”里面做参数化时,将csv格式放在查询里面。

定时器:集合点和思考时间

10.集合点:指定集合50并发用户,在5ms内集合完成,如果没有集合的算是超时。可以放在http请求下,也可以放在线程组下,作用范围不一样。

stepping thread group:

This group will start 100 threads - 设置单台负载机,线程组启动的线程总数为100个

First,wait for n seconds - 启动第一个线程之前,需要等待0秒,也就是不等待直接启动线程

Then start 0 threads - 设置最开始启动0个线程

Next,add 10 threads every 30 threads,using ramp-up 5 seconds - 每隔30秒,然后在5秒内启动10个线程

Then hold load for 60 seconds - 单台负载机启动的线程总数达到100个,持续运行60秒

Finally,stop 5 threads every 1 seconds - 最后每隔1秒,停止5个线程数

jmeter常用函数:

—Random 随机函数。

—randomstring 随机字符串函数。

—threadnum当前线程号。并发用户的编号 。

—time将当前时间格式化为你设定的格式。

—UUID:通用唯一识别码。

—counter该函数生成并发时用户的迭代次数 。

11,jmeter性能监控(如果监控不到,换成jmeter3.1版本)

jmeter也可以像loadrunner一样监控服务器CPU、内存等性能参数,不过需要安装一些插件

1)下载需要的jmeter插件

如图上面两个是jmeter插件,可以再下面的链接中下载:

https://jmeter-plugins.org/downloads/old

第三个是放在服务器中的,可在下面的度盘中下载:

serverAgent下载

2)解压压缩包

参见包里面的说明文档:”Just copy the JAR file into JMeter's lib/ext directory.Then you can start JMeter and add additional items to your Test Plan.Java version 1.6 and JMeter 2.4 are required.”

所以我们需要找到解压包中的JAR文件,并拷贝到jmeter的lib/ext目录下,这里下载的1.4版本的插件需要在jdk1.6及jmeter2.4以上的版本使用

如上图,把的两个jar包放到JMeter的 lib/ext目录下,重启jmeter,出现如下新增的组件,则说明启动成功

 3)常用组件简要介绍:

  1. jp@gc - Bytes Throughput Over Time:不同时间吞吐量展示(图表) 
    聚合报告里,Throughput是按请求个数来展示的,比如说1.9/sec,就是每s发送1.9个请求;而这里的展示是按字节Bytes来展示的图表

  2. jp@gc - Composite Graph: 混合图表 
    在它的Graphs里面可以设置多少个图表一起展示,它可以同时展示多个图表

  3. jp@gc - Hits per Second:每秒点击量

  4. jp@gc - PerfMon Metrics Collector服务器性能监测控件,包括CPU,Memory,Network,I/O等等

  5. jp@gc - Reponse Latencies Over Time:记录客户端发送请求完成后,服务器端返回请求之前这段时间

  6. jp@gc - Reponse Times Distribution: 显示测试的响应时间分布,X轴显示由时间间隔分组的响应时间,Y轴包含每个区间的样本数

  7. jp@gc - Transactions per Second: 每秒事务数,服务器每秒处理的事务数

4)将监控服务器的serverAgent拷贝到需监测的服务器

windows服务器中启动startAgent.bat,Linux服务器启动startAgent.sh即可

在linux中启动 ./startAgent.sh 是,可能会提示:“-bash: ./startAgent.sh: 权限不够”,那么我们需要执行命令:

chmod +x startAgent.sh

 5)准备测试脚本

这里用到一个登陆测试系统的简单脚本做压力测试demo

5.1)在选项---plugins manager 中,执行apply changes and restart jmeter。开始下载插件。

  6)配置监控服务器性能参数的组件

主要用到这个组件:jp@gc - PerfMon Metrics Collector,配置如下:

如果执行时间长或是为了方便查看测试结果,需要多添加几个jp@gc - PerfMon Metrics Collector组件,每个组件加一个cpu 或是一个memory 。

7)设置负载,执行脚本,查看监控结果

注意:

1)如果提示报错:

ERROR: java.io.IOException: Agent is unreachable via TCP的错误。 说明4444端口被占用了。 执行下面的语句:

./startAgent.sh --tcp-port 3401 --udp-port 3402 --sysinfo  将端口更改成3401 和 3402 。

8)图表可导出成csv文件,配合聚合报告,分析服务器性能状况

13,不写登录接口,可以通过设置cookie,直接访问其他接口。

通过浏览器抓包,得到cookie值,如果cookie中包含多个值,需要在上面图中设置多个参数值。

14,不写登录接口,设置token值,也可以访问其他接口。

先用F12,在浏览器中登录一下,得到一个未失效的token值。然后设置到http请求头中就可以了。

将登录后得到的token值,替换http信息头管理的authorization值。

14,jmeter连接oracle数据库:

首先引入oracle的jar包:

添加线程组,然后添加jdbc connection configuration 。

18,jmeter录制app客户端:

手机端也是与电脑在同一个wifi下,或是是用电脑有线网络的热点,然后设置代理即可。

然后在手机上操作,在电脑上jmeter就可以录制了

转载于:https://blog.51cto.com/13693838/2378720

jmeter ---实战(详解)相关推荐

  1. 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例

    本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...

  2. R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等

    R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录

  3. R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入、生存对象生成、ggsurvplot可视化参数配置、设置、可视化对比

    R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入.生存对象生成.ggsurvplot可视化参数配置.设置.可视化对比 目录 R语言使用survminer包生 ...

  4. R语言tidyr包gather()函数实战详解:数据收缩、从宽表到窄表

    R语言tidyr包gather()函数实战详解:数据收缩.从宽表到窄表 目录 R语言tidyr包gather()函数实战详解:数据收缩.从宽表到窄表 收缩两列数据

  5. R语言tidyr包spread()函数实战详解:数据裂变、从窄表到宽表

    R语言tidyr包spread()函数实战详解:数据裂变.从窄表到宽表 目录 R语言tidyr包spread()函数实战详解:数据裂变.从窄表到宽表

  6. R语言tidyr包Unite()函数实战详解:多个数据列合并为一列

    R语言tidyr包Unite()函数实战详解:多个数据列合并为一列 目录 R语言tidyr包Unite()函数实战详解:多个数据列合并为一列

  7. R语言tidyr包separate()函数实战详解:一列裂变为多列

    R语言tidyr包separate()函数实战详解:一列裂变为多列 目录 R语言tidyr包separate()函数实战详解:一列裂变为多列 一列裂变为两列

  8. 《oracle大型数据库系统在AIX/unix上的实战详解》讨论31: oracle、sybase 数据库的不同访问...

    <Oracle大型数据库系统在AIX/UNIX上的实战详解> 讨论31:  oracle.sybase 数据库的不同访问方式   文平. 用户来信要求更细节比较一下Oracle和sybas ...

  9. 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区"异步社区&quo ...

  10. python 自动化-Python API 自动化实战详解(纯代码)

    主要讲如何在公司利用Python 搞API自动化. 1.分层设计思路 dataPool :数据池层,里面有我们需要的各种数据,包括一些公共数据等 config :基础配置 tools : 工具层 co ...

最新文章

  1. IDA Pro ARM指令集和Thumb指令集的切换
  2. 160 - 23 Chafe.1
  3. TIM怎么更新版本 TIM检查更新版本教程
  4. oracle字段公式怎么执行,Oracle 在存储过程或函数中执行字符串sql PDF 下载
  5. CentOS 6服务器简单安全配置
  6. ListView和SlidingDrawer
  7. 字符编解码的故事–ASCII,ANSI,Unicode,Utf-8区别
  8. 指标公式c语言源码下载,自用60分钟指标源码
  9. ar自回归 python_时间序列分析 | 向量自回归模型
  10. Java进阶:Docker
  11. 如何找到Google浏览器扩展程序在本地文件夹中的位置?
  12. python 汉诺塔问题_Python汉诺塔问题
  13. 小米手机解锁 usb3.0状态下
  14. cd40系列芯片_CD4068_CD4068PDF资料详细参数下载_Powered by 奥伟斯
  15. C语言基础知识(学习笔记)
  16. office 中墨迹书写工具_word2016 墨迹书写 word2016墨迹书写工具
  17. 一文详解 TCP/IP 协议
  18. Unity 最新UnityWebRequest下载,同时显示下载进度,和 显示网速,今天贴出来和大家分享
  19. excel怎么启用宏_轻便免费的Excel合并工具,支持wps和office全系统
  20. python爬虫下载梨视频

热门文章

  1. 你能否列出与 Elasticsearch 有关的主要可用字段数据类型?
  2. TensorNet——基于TensorFlow的大规模稀疏特征模型分布式训练框架
  3. kubernetes k8s一文入门
  4. JavaFX下的WebView中js调用java注入方法提示undefined?
  5. 透过一个编译报错,总结两个Go程序编译的重要知识
  6. 学会使用context取消goroutine执行的方法
  7. 问题:pom文件飘红, parent.relativePath
  8. 什么是ZooKeeper
  9. ConcurrentHashMap深度分析(JDK 1.8版本)
  10. 一个计算两个日期间隔的算法