jmeter学习分享
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jmeter学习分享
分享人:邱功圆 2016-06-15
目录
一、JMeter介绍 二、JMeter安装 三、运行JMeter 四、组件 五、脚本加工 六、测试结果分析
一、JMeter介绍
1.JMeter是什么? 2.Jmeter有什么优势?
JMeter是什么?
Apache JMeter 是Apache组织的开放源代 码项目,是一个100%纯Java 桌面应用,用 于压力测试和性能测量。它最初被设计用 于Web应用测 试但后来扩展到其它测试领域。
Jmeter支持http、java、jdbc、ftp、smtp、jms、tcp等协 议。 完全的可移植性和100%纯Java。 完全Swing的轻量级组件支持(预编译的JAR使用 javax.swing.*)包。 完全多线程框架允许通过多个线程并发取样和通过单独的 线程组对不同的功能同时 取样。 精心的GUI设计允许快速操作和更精确的计时。 缓存和离线分析/回放测试结果。 分布式测试; 命令行;
Jmeter组件执行顺序
• • • • • • • • • 执行顺序: 0.配置元件 1.前置处理器 2.定时器 3.Sampler 4.后置处理器(unless SampleResult is null) 5.断言(unless SampleResult is null) 6.监听器(unless SampleResult is null) 只有有sampler 的时候,定时器,断言,前置/后置处理器才会被运 行, 逻辑控制器和 Samplers 按它们在树里的排列顺序执行。
脚本优化之关联
• 从上一个请求拿出要关联的数据,用正则表达式去匹配,例如要匹配的是 id“:145} }中的145,可以写成id“:(.*?)}} 或 id“:(.+?)}} 或 id“:(.*?)} • .匹配任何字符 • *匹配0次或多次 • +匹配1交或多次 • ?初次匹配成功后就停止 • http://jmeter.apache.org/usermanual/regular_expressions.html有关于正 则表达式写法的描述。 • 模板:$1$表示第一组 • 匹配数字:1第一个匹配的,2第二个匹配的,0随机取
Jmeter组件
• • • • •
• • • •
1.线程组 :场景的起始点,设置多少用户并发,什么时候开始跑,跑多久。 2.控制器 :包括Samplers和Logical Controllers。 3.配置元件:对samplers进行配置,避免重复内容。 4.定时器 :请求之间的暂停。 5.前置处理器 :运行在Sampler之前,多用于设置sampler,和更新从上一个 响应获得的变量值。 6. sampler:是指真正的请求,jmeter脚本中必须要包括sampler 7. 后置处理器:运行在Sampler之后,多用于对响应数据的处理。 8. 断言:验证服务器返回的信息是否正确。 9. 监听器: 收集测试用例运行信息,例如响应时间,请求和响应的详细信息。
脚本优化之参数化
• 用户参数化 • 随机函数 • CSV Date Set Config参数化
脚本优化之参数化
• • • • •
•
• •
•
用CSV Date Set Config参数化 每个线程的每个迭代用不同的值,线程调用这参数值的顺序是他们执行的顺序决定的。 Recycle on Eof=true,如果所有值被用完,就从头开始取, Recycle on Eof=false时,stopThread才起作用 Recycle on Eof=false,stopThread=false,当文件里面的所有的参数值被用完后,参数会被设 为等于<EOF> Recycle on Eof=false,stopThread=true,当文件里面的所有的参数值被用完后,场景就会停 下来 Delimiter 两列参数之间的分隔符,默认是逗号,也可以设置为其它值 Allow quote data CSV文件是否允许值被引号,如果是enabled,值可以被双引号括起来(只允 许双引号,不允许单引号) 如果想每个数据集有自己的数据,可以使sharing mode = current thread, Βιβλιοθήκη Baidu要为每个线程 建一个文件(如果没有,那么这个线程将不被执行),例如 test1.csv, test2.csv,... testn.csv. 用这个文件名 test${__threadNum}.csv
一、Jmeter优势
不依赖接口文档 开源支持http、java、jdbc、ftp、smtp、jms、tcp等协 议接口 自动化接口用例生成快 技能提升
Jmeter安装与运行
1.在JVM 1.5或者更高的版本上 2.Windows上启动jmeter,运行bin目录下的jmeter.bat 3.Linux上启动jmeter, 命令行执行:${JMETER_HOME}/bin/jmeter –n –t login.jmx –l ./result/login_100.jtl –Jthreads=100 –Jduration=300
Jmeter目录结构
• • • • bin:可执行文件目录 docs:文档目录 extras:扩展插件目录 lib:所用到的插件目录,里面全是jar包,JMeter 会自动在 JMETER_HOME/lib 和 ext 目录下寻找需要的类
• 插件下载解压后,找到JMeterPlugins-Extras.jar,把 JMeterPlugins-Extras.jar放到apache-jmeter-2.13\lib\ext目录
脚本优化之断言
• BeanShell断言 • 响应断言 • 响应持续断言
监听器
• 聚合报告 • 察看结果树
分享人:邱功圆 2016-06-15
目录
一、JMeter介绍 二、JMeter安装 三、运行JMeter 四、组件 五、脚本加工 六、测试结果分析
一、JMeter介绍
1.JMeter是什么? 2.Jmeter有什么优势?
JMeter是什么?
Apache JMeter 是Apache组织的开放源代 码项目,是一个100%纯Java 桌面应用,用 于压力测试和性能测量。它最初被设计用 于Web应用测 试但后来扩展到其它测试领域。
Jmeter支持http、java、jdbc、ftp、smtp、jms、tcp等协 议。 完全的可移植性和100%纯Java。 完全Swing的轻量级组件支持(预编译的JAR使用 javax.swing.*)包。 完全多线程框架允许通过多个线程并发取样和通过单独的 线程组对不同的功能同时 取样。 精心的GUI设计允许快速操作和更精确的计时。 缓存和离线分析/回放测试结果。 分布式测试; 命令行;
Jmeter组件执行顺序
• • • • • • • • • 执行顺序: 0.配置元件 1.前置处理器 2.定时器 3.Sampler 4.后置处理器(unless SampleResult is null) 5.断言(unless SampleResult is null) 6.监听器(unless SampleResult is null) 只有有sampler 的时候,定时器,断言,前置/后置处理器才会被运 行, 逻辑控制器和 Samplers 按它们在树里的排列顺序执行。
脚本优化之关联
• 从上一个请求拿出要关联的数据,用正则表达式去匹配,例如要匹配的是 id“:145} }中的145,可以写成id“:(.*?)}} 或 id“:(.+?)}} 或 id“:(.*?)} • .匹配任何字符 • *匹配0次或多次 • +匹配1交或多次 • ?初次匹配成功后就停止 • http://jmeter.apache.org/usermanual/regular_expressions.html有关于正 则表达式写法的描述。 • 模板:$1$表示第一组 • 匹配数字:1第一个匹配的,2第二个匹配的,0随机取
Jmeter组件
• • • • •
• • • •
1.线程组 :场景的起始点,设置多少用户并发,什么时候开始跑,跑多久。 2.控制器 :包括Samplers和Logical Controllers。 3.配置元件:对samplers进行配置,避免重复内容。 4.定时器 :请求之间的暂停。 5.前置处理器 :运行在Sampler之前,多用于设置sampler,和更新从上一个 响应获得的变量值。 6. sampler:是指真正的请求,jmeter脚本中必须要包括sampler 7. 后置处理器:运行在Sampler之后,多用于对响应数据的处理。 8. 断言:验证服务器返回的信息是否正确。 9. 监听器: 收集测试用例运行信息,例如响应时间,请求和响应的详细信息。
脚本优化之参数化
• 用户参数化 • 随机函数 • CSV Date Set Config参数化
脚本优化之参数化
• • • • •
•
• •
•
用CSV Date Set Config参数化 每个线程的每个迭代用不同的值,线程调用这参数值的顺序是他们执行的顺序决定的。 Recycle on Eof=true,如果所有值被用完,就从头开始取, Recycle on Eof=false时,stopThread才起作用 Recycle on Eof=false,stopThread=false,当文件里面的所有的参数值被用完后,参数会被设 为等于<EOF> Recycle on Eof=false,stopThread=true,当文件里面的所有的参数值被用完后,场景就会停 下来 Delimiter 两列参数之间的分隔符,默认是逗号,也可以设置为其它值 Allow quote data CSV文件是否允许值被引号,如果是enabled,值可以被双引号括起来(只允 许双引号,不允许单引号) 如果想每个数据集有自己的数据,可以使sharing mode = current thread, Βιβλιοθήκη Baidu要为每个线程 建一个文件(如果没有,那么这个线程将不被执行),例如 test1.csv, test2.csv,... testn.csv. 用这个文件名 test${__threadNum}.csv
一、Jmeter优势
不依赖接口文档 开源支持http、java、jdbc、ftp、smtp、jms、tcp等协 议接口 自动化接口用例生成快 技能提升
Jmeter安装与运行
1.在JVM 1.5或者更高的版本上 2.Windows上启动jmeter,运行bin目录下的jmeter.bat 3.Linux上启动jmeter, 命令行执行:${JMETER_HOME}/bin/jmeter –n –t login.jmx –l ./result/login_100.jtl –Jthreads=100 –Jduration=300
Jmeter目录结构
• • • • bin:可执行文件目录 docs:文档目录 extras:扩展插件目录 lib:所用到的插件目录,里面全是jar包,JMeter 会自动在 JMETER_HOME/lib 和 ext 目录下寻找需要的类
• 插件下载解压后,找到JMeterPlugins-Extras.jar,把 JMeterPlugins-Extras.jar放到apache-jmeter-2.13\lib\ext目录
脚本优化之断言
• BeanShell断言 • 响应断言 • 响应持续断言
监听器
• 聚合报告 • 察看结果树