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

标签 java karate

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

我尝试过 * 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)')

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

最佳答案

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

这里很简单,用普通的JS即可:

* socket.send(authpayload)

关于java - 如何在socket.send函数中进行变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57096943/

相关文章:

java - MySQL datetime 不返回时间

java - 使用带有自动索引的批量导入器将节点导入 Neo4j

for-loop - 我可以在 Karate 中使用 for 循环吗?

Karate :从 API 响应中查找特定元素值的索引

json - 从 Karate 框架的响应中提取 json 对象

java - Spring MVC - 意外异常解析来自 ServletContext 资源的 XML 文档 [/WEB-INF/mvc-dispatcher-servlet.xml];

java - 与 Jasypt 和 SHA-256 一起使用的 Tomcat 领域

java - 是否可以使用 Karate 的 JUnit5 Fluent API 生成 Cucumber HTML 报告?

java - XML Android 与 Html 5 性能和关注点?

api - 如何在 Karate 特征文件中传递体型?