jmeter使用教程

作者: 测试猴 | 来源:发表于2017-11-02 15:35 被阅读69次

测试计划:是使用jmeter进行测试的起点,是其他测试元件的容器,一个完整的测试计划

包括一个或多个线程组,逻辑控制器,取样器,监听器,配置元件

图中标红的是在使用JDBC request时使用的MySQL驱动的文件路径

下载mysql-connector-java-5.1.40文件,下载后解压

点击“浏览”找到mysql-connector-java-5.1.40文件中的mysql-connector-java-5.1.40-bin.jar文件

线程组:线程组是每个任务都要线程去处理,所有任务必须在线程组下面创建

线程数:设置发送请求的用户数目,即并发数

Ramp-Up Period(in second):创建完所有线程的时间,防止对服务器有太大的负载

循环次数:请求得重复次数(所有请求数=并发数*循环次数)

启动时间:测试计划的启动时间

结束时间:测试计划的结束时间

持续时间:测试计划持续时间

配置元件:配置元件维护Sampler需要的配置信息,配置元件并不发送请求(除了HTTP代理服务器例外),并根据实际的需要会添加或修改请求的内容

配置元件“用户定义的变量”会在测试的初始阶段执行(无论它处于测试树的那个位置)

配置元件对其所在的测试树分支有效

HTTP Cookie Manager

该属性管理器用于管理Test Plan运行时的所有cookie。HTTP Cookie Manager可以自动存储服务器发送给客户端的所有Cookie,并在发送请求时附加合适的Cookie

同时,也可以在HTTP Cookie Manager中手动添加一些cookie,这些手工添加的cookie会在发送请求时被自动附加到请求

如果在一个测试计划内有多个Cookie Manager,Jmeter目前无法指定哪个被使用。所以,一个测试计划内最好只有一个cookie manager。并且,一个manager里的cookie并不能被其它manager所引用。所以在使用多个Cookie Managers时要谨慎。

如果选中红框中的选项,意味着线程在每次迭代时清除自己会话中的所有Cookie.

HTTP Header Manager

该属性管理器用于定制Sampler发出的HTTP请求的请求头的内容。不同的浏览器发出的HTTP请求具有不同的Agent,访问某些有防盗链的页面时需要正确的Refer...这些情况下都需要通过HTTP Header Manager来保证发送的HTTP请求是正确的

HTTP Cache Manager

该属性管理器用于模拟浏览器的Cache行为。为Test Plan增加该属性管理器后,Test Plan运行过程中会使用Last-Modified、ETag和Expired等决定是否从Cache中获取相应的元素。

注意:如果Test Plan中的某个Sampler请求的元素是被Cache的元素,则Test Plan在运行过程中会直接从Cache中读取该元素,这样Sampler得到的返回值就会是空。在这种情况下,如果为该Sampler设置了Assertion检查响应体中的制定内容是否存在,该Assertion就会失败。

HTTP请求默认值

这个组件可以为我们的请求设置默认值,比如测试计划里的所有请求都是发送到同一个服务器,这时我们就可以用这个组件配置好红框内标记参数就可以啦,这些请求就会使用组件里的值,在其他的请求中只需要配置请求的具体路径就ok

HTTP请求

http请求是发送请求的组件,因为在HTTP请求默认值中已经配置好服务器和端口号所以这里不需要配置,如果未使用http请求默认值那就需要在这里配置

红框1:这个是接口

红框2:请求的方法(如果是get请求就不需要bodydata)

红框3:这个是post请求的请求提,把要传给服务器的参数写在这里

正则表达式提取器

提取器作用:从请求的响应结果中取到需要的内容,从而实现关联

要检查的响应字段:正则表达式提取内容的范围

引用名称:其他地方引用提取值的变量名称,具体的引用方式是${变量名},eg:${token}

正则表达式:提取内容的正则表达式,()表示提取,对于要提取的内容需要用小括号括起来

模板:用$$引用起来,如果在正则表达式中有多个提取表达式(多个括号括起来的东西),则可以是$1$,$2$等等,表示解析到的第几个值给变量,正则表达式提取模式,值从1开始

匹配数字:0代表随机,-1代表所有,其余正数代表将在已提取的内容中,第几个匹配的内容

缺省值:正则匹配失败,取的值

响应断言

断言:对取样器返回的请求结果给出判断,是否正确

用户可以使用断言来检查从服务器获得的响应内容,用来判断请求响应的结果是否如用户所期望的

断言会影响作用域内的所有采样器,如果要让断言只影响某个采样器,需要将断言作为该采样器的子项

断言中设置要测试的模式,则会对响应的内容(如http请求后,服务器返回的内容)进行与字符串进行匹配,如果返回的内容包括了字符串,则认为该次测试通过,否则就是失败。一般通过监听器来监听响应断言

关于连接数据库进行数据查询及使用的操作

JDBC Connection Configuration

Database URL:数据库URL,jdbc:MySQL://主机ip或者服务器名称:mysql监听的端口号/数据库名称

JDBC Driver Class:数据库的驱动

username:数据库登录的用户名

password:数据库登录的密码

Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的连接池的名字保持一致

Query:填写的sql语句末尾不要加“;”

Parameter valus:参数值

Parameter types:参数类型

Variable names:保存sql语句返回结果的变量名

result Variable name:创建一个对象变量,保存所有的结果

监听器

聚合报告:

label:取样器名称

Samples:运行过程中一共发出了多少个请求

Average:平均响应时间

median:响应时间中间值

90%Line:一组数从小到大排列,找到他的第90%个数,那么这个数组中有90%的数将小于这数

Min/Max:最小/最大响应时间

Error%:出错率

Throughput:吞吐量,每秒/每分处理的Request数

KB/sec:每秒从服务器接收到的数据

注意:关于总体值并不是各列的累加,

图形结果:

样本数目:发出去的请求数

最新样本:最近一个Request的响应时间

平均:所有request响应时间的平均值

偏离:所有request响应时间的便准差

吞吐量:单位时间处理request的个数

中值:所有request响应时间的中间值

查看结果树

在连接数据库时可能遇到的问题

1.Cannot load JDBC driver class 'com.mysql.jdbc.Driver,jmeter中的JDBC request报这个错

解决:因为没有JDBC驱动,下载一个mysql-connector-java-5.1.40文件,下载后解压,然后将mysql-connector-java-5.1.40文件中的mysql-connector-java-5.1.40-bin.jar文件配置在测试计划中就好啦

相关文章

  • Seckill秒杀分布式锁使用

    controller service dao 使用jmeter jmeter使用教程 输出 结论 多线程环境下超卖...

  • Jmeter使用教程

    修改语言设置 线程组 image.png 取样器 查看结果树 响应乱码进入到jmeter安装目录/bin目录下,修...

  • jmeter使用教程

    测试计划:是使用jmeter进行测试的起点,是其他测试元件的容器,一个完整的测试计划 包括一个或多个线程组,逻辑控...

  • jMeter使用教程

    1.概述 1. 1下载 Apache JMeter是Apache组织开发的基于Java的压力测试工具。点击链接访问...

  • Jmeter使用教程

    一、Jmeter特点 ①免费的、开源的②纯Java语言开发③需要安装jdk:java development ki...

  • Jmeter教程索引

    Jmeter教程索引

  • 测试工具jmeter

    jmeter的英文简短教程 jmeter的最佳实践:非常实用的实践教程 Best Practices Buildi...

  • JMeter性能测试工具快速入门教程1简介

    JMeter快速入门教程1简介 什么是JMeter? Apache JMeter TM是纯Java 开源软件,最初...

  • Jmeter安装教程

    JMETER安装教程 jmeter的安装教程 1:安装jdk并且配置好环境变量,此处就不做赘述(前面的文档中有) ...

  • 安装配置Jmeter教程

    前言:最近一个新的项目,需要使用JMeter做压力测试,所以在网上百度了Jmeter的安装教程,因为自己是新手,所...

网友评论

    本文标题:jmeter使用教程

    本文链接:https://www.haomeiwen.com/subject/gvaopxtx.html