gpt4 book ai didi

java - 无法使用 ZeroCode 在 Kafka 主题上发布 json 消息

转载 作者:行者123 更新时间:2023-12-01 17:44:01 25 4
gpt4 key购买 nike

我正在尝试使用 ZeroCode for Kafka 创建一个测试框架。我正在尝试测试的产品是基于微服务和Kafka的。目前我想做的就是连接到我的主题并向其发布消息。但是当我运行测试用例时,我收到一条错误消息 '操作期间出现异常:产生

堆栈跟踪

-------------------------- BDD: Scenario:Produce a message to kafka topic - vanilla -------------------------

27 Mar 2020 10:43:21,531 INFO [main] runner.ZeroCodeMultiStepsScenarioRunnerImpl |
### Executing Scenario -->> Count No: 0
27 Mar 2020 10:43:21,531 INFO [main] runner.ZeroCodeMultiStepsScenarioRunnerImpl |
### Executing Step -->> Count No: 0
---------------------------------------------------------
kafka.bootstrap.servers - <myKafkaBootstrapServer>
---------------------------------------------------------
27 Mar 2020 10:43:21,681 INFO [main] client.BasicKafkaClient | <myKafkaBootstrapServer>, topicName:executions.enriched, operation:produce, requestJson:{"recordType":"JSON","records":[{"value":"EquityExecution"}]}
27 Mar 2020 10:43:21,683 ERROR [main] client.BasicKafkaClient | Exception during operation:produce, topicName:executions.enriched, error:null
java.lang.RuntimeException: java.lang.NullPointerException
at org.jsmart.zerocode.core.kafka.client.BasicKafkaClient.execute(BasicKafkaClient.java:50)
at org.jsmart.zerocode.core.engine.executor.JsonServiceExecutorImpl.executeKafkaService(JsonServiceExecutorImpl.java:102)
at org.jsmart.zerocode.core.runner.ZeroCodeMultiStepsScenarioRunnerImpl.runScenario(ZeroCodeMultiStepsScenarioRunnerImpl.java:190)
at org.jsmart.zerocode.core.runner.ZeroCodeUnitRunner.runLeafJsonTest(ZeroCodeUnitRunner.java:198)

我正在使用 .properties 文件来提供代理和 SSL 凭据。然后发送测试 JSON。如果发布成功,那么我计划从某个主题消费并断言值 - 从而对服务执行集成测试。

请帮助我解决此问题,因为我在网上找不到任何有关如何解决此问题的有意义的信息。非常感激!

我的 .properties 文件看起来像这样:

security.properties=SSL
ssl.keystore.password=<myPassword>
ssl.keystore.location=<myLocation>
kafka.bootstrap.servers=<myServer>

我的 JSON 文件(测试场景,空键是我主题的有效输入)如下所示:

{
"scenarioName": "Produce a message to kafka topic - vanilla",
"steps": [
{
"name": "produce_step",
"url": "kafka-topic:my.topic",
"operation": "produce",
"request": {
"records":[
{
"value": "My test value"
}
]
},
"assertions": {
"status" : "Ok",
}
}
]
}

最佳答案

除了下面的以外,一切看起来都不错。您应该先修复这些问题,然后它就会正常工作。

  1. kafka.bootstrap.servers=<myServer>应该进入Kafka broker您的属性@TargetEnv("kafka_servers/kafka_test_server.properties")指向。

  2. producer.properties不应该有kafka.bootstrap.servers=...多余的条目。

属性文件如下:

                          kafka_test_server.properties

# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# kafka bootstrap servers comma separated
# e.g. localhost:9092,host2:9093
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
kafka.bootstrap.servers=localhost:9092
kafka.producer.properties=producer.properties
kafka.consumer.properties=consumer.properties

就是这样。

@TargetEnv("kafka_servers/kafka_test_server.properties")
@RunWith(ZeroCodeUnitRunner.class)
public class KafkaProduceTest {

@Test
@JsonTestCase("kafka/produce/test_kafka_produce.json")
public void testProduce() throws Exception {
}

}

有一个工作示例KafkaProduceTest在 GitHub Kafka HelloWorld 项目中,您可以克隆并在本地运行。

关于java - 无法使用 ZeroCode 在 Kafka 主题上发布 json 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60894742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com