Во-первых, обратите внимание, что существует очень удобный способ использования ключевого слова print
, которое, при необходимости, печатает JSON, см. Ниже:
* print "PORT:", amqpPort
* print "PORT:", amqpUser
* print "PORT:", amqpPass
* print "PORT:", amqpExchange
* print "PORT:", amqpQueueName
* def inputParams = { fleetId: '#(fleetId)', host: '#(amqpHost)', port:'#(amqpPort)', user:'#(amqpUser)', password: '#(amqpPass)', exchange: '#(amqpExchange)', route: '#(amqpRoute)', virtual_host: '#(amqpVirtualHost)' }
* print "INPUT:", inputParams
И я получаю:
[print] INPUT: {
"fleetId": "#(fleetId)",
"host": "10.10.10.10",
"port": 5555,
"user": "tesetUser",
"password": "testPass",
"exchange": "test.rabbitmq.exchange",
"route": "test.rabbitmq.route",
"virtual_host": "/"
}
Так что это выглядит хорошо для меня. Предложение, почему бы не определить весь inputParams
как сам JSON? Вы даже можете прочитать это из файла. И обратите внимание, как вы можете использовать foo.bar
точечную нотацию:
* def inputParams = { fleetId: 'foo', host: '10.10.10.10', port: 5555, user: 'tesetUser', password: 'testPass', exchange: 'test.rabbitmq.exchange', route: 'test.rabbitmq.route', virtual_host: '/' }
* print "port:", inputParams.port
* print "user:", inputParams.user
* print "pass:", inputParams.password
* print "exch:", inputParams.exchange
* print "INPUT:", inputParams
Я не думаю, что это вообще связано с IDE - если вы все еще видите проблемы, следуйте этому процессу: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue