Sample (取样器)
*ps:以当前版本5.1.1为例,元件内容太多了,挑一些常用的说*
1.HTTP Request Sampler
这个取样器用于发送http请求的,应该是最常用的取样器了。
Advanced中可以设置走代理。
2.BeanShell Sampler
可以通过代码形式处理一些事情,较为自由,支持java语法。
也支持使用内置函数,例如
3.Debug Sampler
jmeter有结果查看器,不过有时候找变量不太方便,尤其是中间过程的自定义变量,在结果树里可能不会呈现出来。而debug sample会把我们自定义的变量输出在response data中,方便我们调试的时候使用。但假如想看的完整,还需要将它放在一个合适的位置。
例如先加一个随机数生成器配置好,线程数1, 执行5次。
执行
4.JDBC Request
简单理解就是专门用来执行SQL语句的,需要配合JDBC Connection Configuration使用,数据库连接信息需要配置好。
Parameter values: 数据的参数值
Parameter types: 数据的参数类型
Variable names: 数据库连接池的名字(和JDBC Connection Configuration名字保持一致 )
Result variable name:保存执行结果赋值给一个变量
Query timeout(s):查询超时时间,单位秒
Handle Result Set:如何处理返SQL执行返回的结果。默认是Store as String,转化为字符串。
5.TCP Sampler
大多数情况下,我们测试的都是http请求,还有一种tcp请求,使用tcp协议。
参数解释
属性 | 描述 | 必要? |
---|---|---|
Name | 展示在右侧树形列表的名称 | 默认就有 |
TCPClient classname | 表示处理请求的实现类,默认是TCPClientImpl ,对应属性设置名为tcp.handler | 不是 |
ServerName or IP Port Number | 服务器 主机名,ip地址 端口号 | 是 |
Re-use connection | 如果选中,这个链接处于保持打开状态,不选中就是读取数据后就关闭 | 是 |
Close connection | 如果选中,这个链接将会在运行中取样器之后被关闭 | 是 |
SO_LINGER | enable/disable(启用/禁用)SO_LINGER设置特定的值,单位为秒,它线性创建套接字,如果你是设置的值为0,你可以避免大量套接字处于TIME_WAIT (等待状态) | 不是 |
End of line (EOL) by value | 表示一行结束符,如果设置值在-128到127之外将会跳过eol 检查,你可以在jmeter.properties文件中增加属性eolByte进行设置,如果你在TCP Sampler Config(TCP 取样器配置)中也设置这个属性,那么TCP Sampler Config 中设置的将会奏效 | 不是 |
Connect TimeOUt | 连接超时(单位毫秒,0 表示禁用超时) | 不是 |
Response Timeout | 连接超时(单位毫秒,0 表示禁用超时) | 不是 |
Set NoDelay | 可以参考java.net.Socket.setTcpNoDelay(),如果选中,它将会禁用Nagle’s算法(利用缓存功能),反之 | 是 |
Text to Send | 发送文本信息 | 是 |
Login User | 用户名-它不会使用默认实现 | 不是 |
Password | 密码-它不会使用默认实现,(N.B.【note well 注意】它在测试计划中采用非加密存储 ) | 不是 |
6.SMTP Sampler
邮件取样器,可以用来发送邮件,例如写在teardown thread group里,主任务执行完不论成功还是失败,将加结果发送到指定邮箱。
jmeter发送邮件依赖于javax-mail jar包,下载一下
https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/1.6.1/
将jar包放在jmeter的lib目录下