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文件配置在测试计划中就好啦

    相关文章

      网友评论

        本文标题:jmeter使用教程

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