Karate 空手道websocket发送请求正文替换令牌失败
我正在用空手道测试websocket,这很有效:Karate 空手道websocket发送请求正文替换令牌失败,karate,Karate,我正在用空手道测试websocket,这很有效: Background: * def token = TOKEN * def handler = function(msg){ return msg.startsWith('a[')} * def socket = karate.webSocket(WS_HOST + 'socket/761/f4t0so3p/websocket', handler) Scenario: Demo Real checking dc
Background:
* def token = TOKEN
* def handler = function(msg){ return msg.startsWith('a[')}
* def socket = karate.webSocket(WS_HOST + 'socket/761/f4t0so3p/websocket', handler)
Scenario: Demo Real
checking dcube-dev
* socket.send('{"type":"1ffe4b5d___AC_GET_MY_AVAILABLE_TASKS___N","token": "myhardcodedtoken","content":{"msg":null,"counter_api_enabled":false}}')
您可以在这里看到,我正在请求主体内硬编码令牌,不太好,因此我尝试将其移出并使用环境令牌,如下所示:
Background:
* def token = TOKEN
* def handler = function(msg){ return msg.startsWith('a[')}
* def socket = karate.webSocket(WS_HOST + 'socket/761/f4t0so3p/websocket', handler)
Scenario: Demo Real
checking dcube-dev
* def body = {"type": "1ffe4b5d___AC_GET_MY_AVAILABLE_TASKS___N", "token": '#(token)', "content": {"msg":null,"counter_api_enabled":false} }
* print "Body:", body
* socket.send( '#(body)')
但这总是错误的,似乎味精从未发出过。谁能告诉我如何解决这个问题
谢谢事实上,我认为你需要改变一下:
* socket.send(body)
把圆括号想象成JS,而不是标准的空手道表达:
还要注意,对于字符串(而不是JSON),可以使用replace
:
*def text='hello world'
*替换text.foo='bar'
*匹配文本==“你好,酒吧世界”
事实上,我认为您需要进行以下更改:
* socket.send(body)
把圆括号想象成JS,而不是标准的空手道表达:
还要注意,对于字符串(而不是JSON),可以使用replace
:
*def text='hello world'
*替换text.foo='bar'
*匹配文本==“你好,酒吧世界”