协议 API
协议API为每种支持的协议提供了专门的接口和实现,确保各种协议测试的一致性和可扩展性。
HTTP协议API
HttpSampler 类
HTTP取样器实现,支持完整的HTTP请求功能。
主要配置项
method
: HTTP方法(GET、POST、PUT、DELETE等)protocol
: 协议(http、https)host
: 主机地址port
: 端口号path
: 请求路径headers
: 请求头query
: 查询参数data
: 表单数据body
: 请求体
使用示例
java
MagicBox.http(http -> {
http.config(config -> config
.method("POST")
.protocol("https")
.host("api.example.com")
.path("/users")
.headers(Map.of("Content-Type", "application/json"))
.body(Map.of("name", "John", "email", "john@example.com"))
);
});
Dubbo协议API
DubboSampler 类
Dubbo取样器实现,支持Dubbo服务调用。
主要配置项
registry
: 注册中心配置interfaceName
: 接口名称methodName
: 方法名称parameterTypes
: 参数类型列表parameters
: 参数值列表
使用示例
java
MagicBox.dubbo(dubbo -> {
dubbo.registry("zookeeper://localhost:2181")
.interfaceName("com.example.UserService")
.methodName("getUserById")
.parameterTypes("java.lang.Long")
.parameters(123L);
});
JDBC协议API
JdbcSampler 类
JDBC取样器实现,支持数据库查询和更新操作。
主要配置项
datasource
: 数据源引用sql
: SQL语句parameters
: SQL参数
使用示例
java
MagicBox.jdbc(jdbc -> {
jdbc.datasource("mysqlDataSource")
.sql("SELECT * FROM users WHERE id = ?")
.parameters(123);
});
Redis协议API
RedisSampler 类
Redis取样器实现,支持各种Redis命令操作。
主要配置项
datasource
: 数据源引用command
: Redis命令args
: 命令参数
使用示例
java
MagicBox.redis(redis -> {
redis.datasource("redisDataSource")
.command("SET")
.args("user:123", "John");
});
Kafka协议API
KafkaSampler 类
Kafka取样器实现,支持消息生产和消费。
主要配置项
bootstrapServers
: Kafka服务器地址topic
: 主题名称key
: 消息键message
: 消息内容acks
: 确认机制
使用示例
java
MagicBox.kafka(kafka -> {
kafka.bootstrapServers("localhost:9092")
.topic("user-events")
.key("user-123")
.message(Map.of("action", "login", "userId", 123));
});
RabbitMQ协议API
RabbitMQSampler 类
RabbitMQ取样器实现,支持消息队列操作。
主要配置项
host
: 主机地址port
: 端口号queue
: 队列配置exchange
: 交换机配置message
: 消息内容
使用示例
java
MagicBox.rabbitmq(rabbitmq -> {
rabbitmq.host("localhost")
.port(5672)
.queue(queue -> queue.name("user.notifications"))
.message("Hello, RabbitMQ!");
});
ActiveMQ协议API
ActiveMQSampler 类
ActiveMQ取样器实现,支持消息队列操作。
主要配置项
brokerUrl
: Broker URLqueue
: 队列名称topic
: 主题名称message
: 消息内容
使用示例
java
MagicBox.activemq(activemq -> {
activemq.brokerUrl("tcp://localhost:61616")
.queue("user.notifications")
.message("Hello, ActiveMQ!");
});
MongoDB协议API
MongoSampler 类
MongoDB取样器实现,支持文档数据库操作。
主要配置项
datasource
: 数据源引用database
: 数据库名称collection
: 集合名称operation
: 操作类型(insert、find、update、delete)document
: 文档内容filter
: 查询过滤条件update
: 更新操作
使用示例
java
MagicBox.mongo(mongo -> {
mongo.datasource("mongoDataSource")
.database("testdb")
.collection("users")
.operation("insert")
.document(Map.of("name", "John", "email", "john@example.com"));
});