如何在socket.send函数中进行变量替换

时间:2019-07-18 14:29:48

标签: java karate

当我尝试向socket.send()方法发送一些值时,它确实进行了变量替换吗?例如 * def有效负载= {a:'1',b:'2'} * socket.send('#(有效载荷)')

我已经尝试过* socket.send('#(strpayload)')

Given request signIn
    * def token = signIn.token.token
    Given def demoBaseUrl = 'wss://someapi:someport/'
    And def socket = karate.webSocket(demoBaseUrl)
    And def authpayload = {type:"auth", payload:{token:'#(token)'}}
    * socket.send('#(authpayload)')

我希望在将值发送到套接字变量之前应该替换一次,但是如果按原样发送值

1 个答案:

答案 0 :(得分:1)

请记住,'#(foo)'占位符样式仅适用于matchdef的右侧,或者当您read() *.json文件时

这很简单,只需使用普通的JS:

* socket.send(authpayload)