jmeter基础

一.Jmeter主要元件

1、测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器

2、线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

3、配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。

4、前置处理器:负责在请求之前工作,常用来修改请求的设置

5、定时器:负责定义请求之间的延迟间隔。

6、取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。

7、后置处理器:负责在请求之后工作,常用获取返回的值。

8、断言:用来判断请求响应的结果是否如用户所期望的。

9、监听器:负责收集测试结果,同时确定结果显示的方式。

10、逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

二、Jmeter元件的作用域和执行顺序

1.元件作用域

配置元件:影响其作用范围内的所有元件。

前置处理器:在其作用范围内的每一个sampler元件之前执行。

定时器:在其作用范围内的每一个sampler有效

后置处理器:在其作用范围内的每一个sampler元件之后执行。

断言:在其作用范围内的对每一个sampler元件执行后的结果进行校验。

监听器:在其作用范围内对每一个sampler元件的信息收集并呈现。

总结:从各个元件的层次结构判断每个元件的作用域。

2.元件执行顺序:

配置元件->前置处理器->定时器->取样器->后置处理程序->断言->监听器

注意事项:

1.前置处理器、后置处理器和断言等组件只能对取样器起作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。

2.如果在同一作用域内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行。

三、Jmeter进行接口测试流程

使用Jmeter进行接口测试的基本步骤如下:

1.测试计划

2.线程组

3.HTTP Cookie管理器

4.Http请求默认值

5.Sampler(HTTP请求)

6.断言

7.监听器(查看结果树、图形结果、聚合报告等)

四、Jmeter命令行方式执行

jmeter -n -t test1.jmx -l logfile1.jtl  -e -o [Path to output folder]

    --?
        打印命令行选项并退出
    -h, --help
        打印使用信息并退出
    -v, --version
        打印版本信息并退出
    -p, --propfile <参数>
        要使用的 jmeter 属性文件
    -q, --addprop <参数>
        额外的 JMeter 属性文件
    -t, --testfile <参数>
        要运行的 jmeter 测试(.jmx)文件
    -l, --logfile <参数>
        将样本记录到的文件
    -i, --jmeterlogconf <参数>
        jmeter 日志配置文件(log4j2.xml)
    -j, --jmeterlogfile <参数>
        jmeter 运行日志文件 (jmeter.log)
    -n, --nongui
        在 nongui 模式下运行 JMeter
    -s, --server
        运行 JMeter 服务器
    -H, --proxyHost <参数>
        为 JMeter 设置代理服务器以使用
    -P, --proxyPort <参数>
        设置 JMeter 使用的代理服务器端口
    -N, --nonProxyHosts <参数>
        设置非代理主机列表(例如 *.apache.org|localhost)
    -u, --username <参数>
        为 JMeter 使用的代理服务器设置用户名
    -a, --password <参数>
        为 JMeter 使用的代理服务器设置密码
    -J, --jmeterproperty <参数>=<值>
        定义额外的 JMeter 属性
    -G, --globalproperty <参数>=<值>
        定义全局属性(发送到服务器)
        例如 -Gport = 123
         或 -Gglobal.properties
    -D, --systemproperty <参数>=<值>
        定义附加系统属性
    -S, --systemPropertyFile <参数>
        附加系统属性文件
    -f, --forceDeleteResultFile
        在开始测试之前强制删除现有的结果文件和网络报告文件夹(如果存在)
    -L, --loglevel <参数>=<值>
        [category=]level 例如 jorphan=INFO、jmeter.util=DEBUG 或 com.example.foo=WARN
    -r, --runremote
        启动远程服务器(在 remote_hosts 中定义)
    -R, --remotestart <参数>
        启动这些远程服务器(覆盖 remote_hosts)
    -d, --homedir <参数>
        要使用的 jmeter 主目录
    -X, --remoteexit
        在测试结束时退出远程服务器(CLI 模式)
    -g, --reportonly <参数>
        仅从测试结果文件生成报告仪表板
    -e, --reportatendofloadtests
        负载测试后生成报告仪表板
    -o, --reportoutputfolder <参数>
        报表仪表板的输出文件夹
posted @ 2021-09-06 12:53  mik99  阅读(97)  评论(0编辑  收藏  举报