无法将Java代码字符串变量重用于空手道中的另一个请求

时间:2018-07-17 14:14:39

标签: karate

我有一个从Java代码返回的字符串变量,我想在POST请求中使用它,如下所示:

And request {data:'string',data2:'{data3:'6DW7926NC7KMQ',data4:'#(funReturnedStringVal)'}'                                                  
     }

问题是,当我运行它时,我得到无效的数据,因为funReturnedStringVal不保留从Java代码获得的值。我可以打印funReturnedStringVal的值,但是当我在上面的另一个请求中使用它时,我得到的响应如上所述,即变量未替换为实际值。

我尝试过但无法正确解决,请有人帮助。

2 个答案:

答案 0 :(得分:1)

请进行以下更改:

await hubContext.Clients.Client(user.Id.ToString()).SendAsync("ReceiveMessage", user.FirstName);

您的错误是您将JSON的某些部分放在了字符串引号中。然后空手道将不会处理嵌入式表达式。

答案 1 :(得分:0)

@Ranjan-我刚刚看到您有关重用Java代码的文章,看来您已经解决了您的问题。但是,我正在检查您的json是否格式正确?,我看到您的JSON结构不正确。您能否检查附件并从您身边验证。也许这也会对其他人有所帮助,我的信心是,任何有JSON问题的人都可以使用在线上提供的任何JSON验证工具来彻底验证JSON请求结构。

JSON structure