Skip to content

自定义协议

Ryze框架支持通过SPI机制扩展新的协议支持。

核心接口

Sampler

取样器接口,定义协议的具体执行逻辑:

java
public class CustomSampler implements Sampler {
    @Override
    public Result sample(Context context) {
        // 实现协议执行逻辑
        return new Result();
    }
}

Preprocessor

前置处理器接口:

java
public class CustomPreprocessor implements Preprocessor {
    @Override
    public void process(Context context) {
        // 实现前置处理逻辑
    }
}

Postprocessor

后置处理器接口:

java
public class CustomPostprocessor implements Postprocessor {
    @Override
    public void process(Context context) {
        // 实现后置处理逻辑
    }
}

ConfigureElement

配置元件接口:

java
public class CustomConfigureElement implements ConfigureElement {
    @Override
    public void apply(TestElement element) {
        // 实现配置应用逻辑
    }
}

注册自定义协议

在相应的META-INF/services/目录下注册实现类:

# META-INF/services/io.github.xiaomisum.ryze.testelement.sampler.Sampler
com.example.CustomSampler

# META-INF/services/io.github.xiaomisum.ryze.testelement.processor.Preprocessor
com.example.CustomPreprocessor

# META-INF/services/io.github.xiaomisum.ryze.testelement.processor.Postprocessor
com.example.CustomPostprocessor

# META-INF/services/io.github.xiaomisum.ryze.testelement.configelement.ConfigureElement
com.example.CustomConfigureElement

使用自定义协议

在测试配置中使用自定义协议:

yaml
testclass: custom
config:
  customProperty: value

Released under the MIT License.