协议 API
协议API为每种支持的协议提供了专门的接口和实现,确保各种协议测试的一致性和可扩展性。
HTTP协议API
HttpSampler 类
HTTP取样器实现,支持完整的HTTP请求功能。
主要配置项
method: HTTP方法(GET、POST、PUT、DELETE等)base_url: 基础URL(包含协议和主机)path: 请求路径headers: 请求头query: 查询参数data: 表单数据body: 请求体
使用示例
java
MagicBox.http(http ->{
http.
config(config ->config
.
method("POST")
.
base_url("https://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语句args: SQL参数
使用示例
java
MagicBox.jdbc(jdbc ->{
jdbc.
datasource("mysqlDataSource")
.
sql("SELECT * FROM users WHERE id = ?")
.
args(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"));
});