【发布时间】:2019-11-13 18:05:28
【问题描述】:
您好,我正在对应用程序进行性能测试,但我无法复制 signalR 连接,我所做的是调用 negociate api
/signalr/negociate 使用连接令牌获得预期的响应
"Url":"/MyApp/signalr","ConnectionToken":"gM8NUnZtDg6oYU3Y9sfZgnIDlInyvspePwDuRdmqZlslRgkPIp8w/c0FZzllhwiUdZlOmPkyBd2DGU76ldt3v1B25lQlTeg1jETBWRkqaXD0QGpeNJLl3KqvnJ3v4YQ2","ConnectionId":"e1adc41d-ad0d-439f-858c-1fa47bb59083","KeepAliveTimeout":20.0,"DisconnectTimeout":30.0,"ConnectionTimeout":110.0,"TryWebSockets":true,"ProtocolVersion":"1.5","TransportConnectTimeout":5.0,"LongPollDelay":0.0}
然后我使用 JMeter 提取该令牌(并将其用于连接调用)
GET https://myHost/myApp/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=gM8NUnZtDg6oYU3Y9sfZgnIDlInyvspePwDuRdmqZlslRgkPIp8w%2Fc0FZzllhwiUdZlOmPkyBd2DGU76ldt3v1B25lQlTeg1jETBWRkqaXD0QGpeNJLl3KqvnJ3v4YQ2&connectionData=%5B%7B%22name%22%3A%22workhub%22%7D%5D&tid=2
但响应始终是 400 Bad Request
不是一个有效的网络套接字请求。
知道为什么调用失败了吗?
非常感谢
【问题讨论】:
-
更新:如果我使用相同的令牌执行 /myApp/signalr/start ,则响应成功 -> { "Response": "started" }
标签: jmeter signalr performance-testing