Jmeter中的配置原件(四)
13--LDAP扩展请求默认值
用途
- 设置默认值:为多个LDAP扩展请求设置通用的默认值,如服务器地址、端口号、用户名和密码等。
- 简化配置:避免在每个LDAP扩展请求中重复配置相同的参数。
配置步骤
-
添加LDAP扩展请求默认值
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “LDAP扩展请求默认值”(LDAP Extended Request Defaults)。
-
配置LDAP扩展请求默认值
- 名称:给LDAP扩展请求默认值一个有意义的名称。
- 服务器地址:LDAP服务器的地址(例如
ldap.example.com
)。 - 端口号:LDAP服务器的端口(默认为389)。
- 用户名:连接LDAP服务器的用户名。
- 密码:连接LDAP服务器的密码。
- 基DN:LDAP目录的基DN(例如
dc=example,dc=com
)。 - 扩展请求OID:扩展请求的OID(对象标识符)。
- 扩展请求值:扩展请求的值(可选)。
- 其他属性:可以添加其他属性(可选)。
示例配置
假设我们需要测试一个LDAP服务器,执行一些扩展请求来验证性能。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“LDAP性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“LDAP测试”)。
-
添加LDAP扩展请求默认值:
- 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> LDAP扩展请求默认值。
- 配置LDAP扩展请求默认值:
- 名称:LDAP扩展请求默认值
- 服务器地址:
ldap.example.com
- 端口号:389
- 用户名:
cn=admin,dc=example,dc=com
- 密码:
admin_password
- 基DN:
dc=example,dc=com
- 扩展请求OID:
1.3.6.1.4.1.1466.20037
(示例OID,具体根据需求选择) - 扩展请求值:(可选,根据需求填写)
-
添加LDAP扩展请求:
- 右键点击线程组 -> 添加 -> 取样器 -> LDAP扩展请求。
- 配置LDAP扩展请求:
- 名称:请求名称(例如“执行扩展请求”)。
- 服务器地址:留空,使用默认值。
- 端口号:留空,使用默认值。
- 用户名:留空,使用默认值。
- 密码:留空,使用默认值。
- 基DN:留空,使用默认值。
- 扩展请求OID:留空,使用默认值。
- 扩展请求值:留空,使用默认值。
-
添加监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
优化建议
-
默认值:
- 尽可能多地设置默认值,减少每个LDAP扩展请求的配置工作量。
-
服务器地址和端口号:
- 确保服务器地址和端口号的正确性,避免因地址或端口错误导致连接失败。
-
用户名和密码:
- 确保用户名和密码的正确性,避免因认证失败导致请求失败。
-
基DN:
- 确保基DN的正确性,基DN是LDAP目录的根节点,用于定位目录结构。
-
扩展请求OID和值:
- 确保扩展请求OID和值的正确性,避免因OID或值错误导致请求失败。
-
调试:
- 使用“查看结果树”监听器查看请求和响应的详细信息,确保LDAP扩展请求的配置正确无误。
-
错误处理:
- 使用断言和监听器来捕获和分析LDAP扩展请求的结果,及时发现和解决问题。
14--Random Variable
用途
- 生成随机值:为测试中的变量生成随机值。
- 模拟真实用户行为:通过随机化数据,使测试更接近真实用户的使用场景。
- 数据多样性:为测试提供多样化的输入数据,提高测试的覆盖率。
配置步骤
-
添加Random Variable
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “随机变量”(Random Variable)。
-
配置Random Variable
- 名称:给随机变量一个有意义的名称。
- 变量名称:生成的随机值将存储在这个变量中,可以在其他元件中引用这个变量。
- 最小值:生成随机值的最小值。
- 最大值:生成随机值的最大值。
- 输出格式:生成随机值的格式(例如
%d
表示整数,%s
表示字符串)。 - 种子:随机数生成器的种子值,用于生成可重复的随机序列(可选)。
示例配置
假设我们需要测试一个Web应用,生成随机的用户ID和订单号。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加随机变量(用户ID):
- 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> 随机变量。
- 配置随机变量:
- 名称:随机用户ID
- 变量名称:
randomUserId
- 最小值:1000
- 最大值:9999
- 输出格式:
%d
- 种子:(可选,留空)
-
添加随机变量(订单号):
- 右键点击线程组 -> 添加 -> 配置元件 -> 随机变量。
- 配置随机变量:
- 名称:随机订单号
- 变量名称:
randomOrderId
- 最小值:100000
- 最大值:999999
- 输出格式:
%d
- 种子:(可选,留空)
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“提交订单”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
POST
)。 - 路径:请求的路径(例如
/submitOrder
)。 - 参数:
- 名称:
userId
- 值:
${randomUserId}
- 名称:
orderId
- 值:
${randomOrderId}
- 名称:
-
添加监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
优化建议
-
变量名称:
- 给变量一个有意义的名称,以便在其他元件中引用。
-
最小值和最大值:
- 根据测试需求设置合理的最小值和最大值,确保生成的随机值符合预期范围。
-
输出格式:
- 根据需要选择合适的输出格式,例如
%d
表示整数,%s
表示字符串。
- 根据需要选择合适的输出格式,例如
-
种子:
- 如果需要生成可重复的随机序列,可以设置种子值。否则,留空以生成不可预测的随机值。
-
调试:
- 使用“查看结果树”监听器查看请求和响应的详细信息,确保随机变量的配置正确无误。
-
错误处理:
- 使用断言和监听器来捕获和分析请求的结果,及时发现和解决问题。
15--TCP取样器配置
用途
- 发送和接收TCP消息:模拟客户端与TCP服务器之间的通信。
- 测试TCP服务器:验证TCP服务器的性能和功能。
- 自定义消息格式:支持多种消息格式,如文本、二进制等。
配置步骤
-
添加TCP取样器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “取样器” -> “TCP取样器”(TCP Sampler)。
-
配置TCP取样器
- 名称:给TCP取样器一个有意义的名称。
- 服务器名称或IP:TCP服务器的地址。
- 端口号:TCP服务器的端口。
- 超时时间:连接和传输的超时时间(毫秒)。
- 重试次数:连接失败时的重试次数。
- 关闭连接:选择是否在每次请求后关闭连接。
- 请求数据:要发送的消息内容。
- 请求编码:消息的编码方式(例如UTF-8)。
- 响应编码:服务器返回的消息的编码方式(例如UTF-8)。
- 响应超时:等待服务器响应的超时时间(毫秒)。
- 使用EOL字节:选择是否在请求数据末尾添加EOL字节(通常用于文本消息)。
- EOL字节:指定EOL字节(例如
\n
)。 - 使用二进制模式:选择是否使用二进制模式发送和接收消息。
- 响应字段:指定从服务器返回的消息中提取特定字段(可选)。
示例配置
假设我们需要测试一个TCP服务器,发送一条简单的文本消息并接收响应。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“TCP性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“TCP测试”)。
-
添加TCP取样器:
- 右键点击刚刚创建的线程组 -> 添加 -> 取样器 -> TCP取样器。
- 配置TCP取样器:
- 名称:TCP取样器
- 服务器名称或IP:
tcp.example.com
- 端口号:12345
- 超时时间:30000(30秒)
- 重试次数:3
- 关闭连接:False
- 请求数据:
Hello, TCP Server!
- 请求编码:UTF-8
- 响应编码:UTF-8
- 响应超时:30000(30秒)
- 使用EOL字节:True
- EOL字节:
\n
- 使用二进制模式:False
- 响应字段:(可选,留空)
-
添加监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
优化建议
-
服务器地址和端口号:
- 确保服务器地址和端口号的正确性,避免因地址或端口错误导致连接失败。
-
超时时间:
- 设置合理的超时时间,避免因网络延迟或服务器性能问题导致测试失败。
-
重试次数:
- 根据测试需求设置合理的重试次数,确保在网络不稳定时能够重新尝试连接。
-
关闭连接:
- 如果需要保持连接,选择不关闭连接(
False
)。如果每次请求后都需要关闭连接,选择关闭连接(True
)。
- 如果需要保持连接,选择不关闭连接(
-
请求和响应编码:
- 确保请求和响应的编码方式一致,避免因编码问题导致消息解析错误。
-
使用EOL字节:
- 如果发送的是文本消息,建议使用EOL字节(例如
\n
),以便服务器正确解析消息。
- 如果发送的是文本消息,建议使用EOL字节(例如
-
二进制模式:
- 如果发送和接收的是二进制数据,选择使用二进制模式(
True
)。
- 如果发送和接收的是二进制数据,选择使用二进制模式(
-
调试:
- 使用“查看结果树”监听器查看请求和响应的详细信息,确保TCP取样器的配置正确无误。
-
错误处理:
- 使用断言和监听器来捕获和分析TCP请求的结果,及时发现和解决问题。
16--用户定义的变量
用途
- 定义变量:为测试计划定义全局变量,这些变量可以在任何地方引用。
- 简化配置:避免在多个地方重复配置相同的值。
- 提高灵活性:通过修改变量值,可以轻松地调整测试计划的行为。
配置步骤
-
添加用户定义的变量
- 右键点击测试计划(Test Plan)。
- 选择“添加” -> “配置元件” -> “用户定义的变量”(User Defined Variables)。
-
配置用户定义的变量
- 名称:变量的名称。
- 值:变量的值。
- 描述:变量的描述(可选)。
示例配置
假设我们需要测试一个Web应用,使用用户定义的变量来定义服务器地址、端口号和用户数量。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加用户定义的变量
- 右键点击刚刚创建的测试计划 -> 添加 -> 配置元件 -> 用户定义的变量。
- 配置用户定义的变量:
-
名称:
serverAddress
-
值:
example.com
-
描述:服务器地址
-
名称:
serverPort
-
值:
80
-
描述:服务器端口
-
名称:
userCount
-
值:
100
-
描述:用户数量
-
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
- 配置线程组:
- 线程数(用户数):
${userCount}
- 循环次数:1
- 线程数(用户数):
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:
${serverAddress}
- 端口号:
${serverPort}
- 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
优化建议
-
变量命名:
- 给变量一个有意义的名称,以便在其他元件中引用。
-
变量值:
- 确保变量值的正确性,避免因值错误导致测试失败。
-
描述:
- 添加描述可以帮助其他团队成员理解变量的作用和用途。
-
动态值:
- 使用JMeter的函数和变量来动态生成变量值,例如使用
${__P(variableName,default_value)}
来从属性文件中读取变量值。
- 使用JMeter的函数和变量来动态生成变量值,例如使用
-
调试:
- 使用“查看结果树”监听器查看请求和响应的详细信息,确保变量的配置正确无误。
-
错误处理:
- 使用断言和监听器来捕获和分析请求的结果,及时发现和解决问题。