如何在 Jmeter 中捕获 signalR 连接字符串
How to capture signalR connection string in Jmeter
由于信号器连接,我在 jmeter 中执行脚本时出现错误
我需要在 url 中传递 connectionToken 和 connectionData,如下所示。
"/Web/signalr/connect?transport=longPolling&clientProtocol=1.5&connectionToken=${connectionToken}&connectionData=${connectionData}"
我能够捕获 ConnectionToken 并成功传递它。但是,我遇到了 connectionData 问题,它看起来像
[{"name":"alertshub"},{"name":"loggerhub"},{"name":"notificationhub"}]
如何捕获和传递这个。
请找到屏幕截图
! enter image description here
! enter image description here
! enter image description here
! enter image description here
无法捕获以下连接字符串
连接数据:[{"name":"alertshub"},{"name":"loggerhub"},{"name":"notificationhub"}]
get 方法将上面的连接数据发送为
GET //abc.com/Web/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22alertshub%22%7D%2C%7B%22name%22%3A%22loggerhub% 22%7D%2C%7B%22name%22%3A%22notificationhub%22%7D%5D&_=1522754518635
并且正在获取响应 connectionToken。我能够提取 connectionToken 。
现在,我需要发送
GET //abc.com/Web/signalr/connect?transport=serverSentEvents&clientProtocol=1.5&tid=10&connectionToken=%27FcFUJytTeVDsNq4EM5iY59NrIlAO4EK0nU%2BP9fDasBFDTA%2B78kpLr05HaQoqstQouqyFMP2hShwh2eHdiG%2BCsRq7wNHs70BVSkjJiLIdyePfB3SmMCmeZeZyvd1xzfnc%27&connectionData=%255B%257B%2522name%2522%253A% 2522alertshub%2522%257D%252C%257B%2522name%2522%253A%2522loggerhub%2522%257D%252C%257B%2522name%2522%253A%2522notificationhub%2522%257D%255D%26_%3D=1518675]
它有有效的 connectionToken(已提取)但没有 connectionData。
响应是解析值时遇到意外字符:%。路径 '',第 0 行,位置 0。
我的问题是如何获得这些值,[{"name":"alertshub"},{"name":"loggerhub"},{"name" :"notificationhub"}].
接下来我需要 post
POST //abc.com/Web/signalr/connect?transport=longPolling&clientProtocol=1.5&connectionToken=FcFUJytTeVDsNq4EM5iY59NrIlAO4EK0nU+P9fDasBFDTA+78kpLr05HaQoqstQouqyFMP2hShwh2eHdiG+CsRq7wNHs70BVSkjJiLIdyePfB3SmMCmeZeZyvd1xzfnc&connectionData=%5B%7B%22name%22%3A%22alertshub %22%7D%2C%7B%22name%22%3A%22loggerhub%22%7D%2C%7B%22name%22%3A%22notificationhub%22%7D%5D&_=1522754518635
如您在此处所见,它具有有效的 connectionToken 但没有 connectionData。
对此的响应是:ConnectionId 的格式不正确。
BlazeMeter1
Blazemeter2
Blazemeter3
您需要使用与连接令牌相同的方法。
您的变量似乎没有获得所需的值。您是否在两个线程组之间使用相同的变量?
**-->Here request is encoded and connection data is also encoded.**
GET //abc.com/Web/signalr/negotiate?clientProtocol=1.5&connectionData=**%5B%7B%22name%22%3A%22alertshub%22%7D%2C%7B%22name%22%3A%22loggerhub%22%7D%2C%7B%22name%22%3A%22notificationhub%22%7D%5D**&_=1522754518635
并且正在获取响应 connectionToken。我能够提取 connectionToken 。
现在,我需要发送
**-->Here again encoded connection data is further encoded.**
GET //abc.com/Web/signalr/connect?transport=serverSentEvents&clientProtocol=1.5&tid=10&connectionToken=%27FcFUJytTeVDsNq4EM5iY59NrIlAO4EK0nU%2BP9fDasBFDTA%2B78kpLr05HaQoqstQouqyFMP2hShwh2eHdiG%2BCsRq7wNHs70BVSkjJiLIdyePfB3SmMCmeZeZyvd1xzfnc%27&connectionData=**%255B%257B%2522name%2522%253A%2522alertshub%2522%257D%252C%257B%2522name%2522%253A%2522loggerhub%2522%257D%252C%257B%2522name%2522%253A%2522notificationhub%2522%257D%255D%26**_%3D1522754518635
如果我没看错,那就避免编码两次。在第一张和第二张截图中,您对其进行了两次编码。
如果 "connectionData" 已修复,则尝试 "User defined variables" 或者如果它在某些响应中可用,则使用正则表达式捕获并进一步使用它。
希望您在数据提取过程中不会出错。
由于信号器连接,我在 jmeter 中执行脚本时出现错误
我需要在 url 中传递 connectionToken 和 connectionData,如下所示。
"/Web/signalr/connect?transport=longPolling&clientProtocol=1.5&connectionToken=${connectionToken}&connectionData=${connectionData}"
我能够捕获 ConnectionToken 并成功传递它。但是,我遇到了 connectionData 问题,它看起来像
[{"name":"alertshub"},{"name":"loggerhub"},{"name":"notificationhub"}]
如何捕获和传递这个。 请找到屏幕截图
! enter image description here
! enter image description here
! enter image description here
! enter image description here
无法捕获以下连接字符串
连接数据:[{"name":"alertshub"},{"name":"loggerhub"},{"name":"notificationhub"}]
get 方法将上面的连接数据发送为
GET //abc.com/Web/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22alertshub%22%7D%2C%7B%22name%22%3A%22loggerhub% 22%7D%2C%7B%22name%22%3A%22notificationhub%22%7D%5D&_=1522754518635
并且正在获取响应 connectionToken。我能够提取 connectionToken 。
现在,我需要发送
GET //abc.com/Web/signalr/connect?transport=serverSentEvents&clientProtocol=1.5&tid=10&connectionToken=%27FcFUJytTeVDsNq4EM5iY59NrIlAO4EK0nU%2BP9fDasBFDTA%2B78kpLr05HaQoqstQouqyFMP2hShwh2eHdiG%2BCsRq7wNHs70BVSkjJiLIdyePfB3SmMCmeZeZyvd1xzfnc%27&connectionData=%255B%257B%2522name%2522%253A% 2522alertshub%2522%257D%252C%257B%2522name%2522%253A%2522loggerhub%2522%257D%252C%257B%2522name%2522%253A%2522notificationhub%2522%257D%255D%26_%3D=1518675]
它有有效的 connectionToken(已提取)但没有 connectionData。
响应是解析值时遇到意外字符:%。路径 '',第 0 行,位置 0。
我的问题是如何获得这些值,[{"name":"alertshub"},{"name":"loggerhub"},{"name" :"notificationhub"}].
接下来我需要 post
POST //abc.com/Web/signalr/connect?transport=longPolling&clientProtocol=1.5&connectionToken=FcFUJytTeVDsNq4EM5iY59NrIlAO4EK0nU+P9fDasBFDTA+78kpLr05HaQoqstQouqyFMP2hShwh2eHdiG+CsRq7wNHs70BVSkjJiLIdyePfB3SmMCmeZeZyvd1xzfnc&connectionData=%5B%7B%22name%22%3A%22alertshub %22%7D%2C%7B%22name%22%3A%22loggerhub%22%7D%2C%7B%22name%22%3A%22notificationhub%22%7D%5D&_=1522754518635
如您在此处所见,它具有有效的 connectionToken 但没有 connectionData。
对此的响应是:ConnectionId 的格式不正确。
BlazeMeter1
Blazemeter2
Blazemeter3
您需要使用与连接令牌相同的方法。 您的变量似乎没有获得所需的值。您是否在两个线程组之间使用相同的变量?
**-->Here request is encoded and connection data is also encoded.**
GET //abc.com/Web/signalr/negotiate?clientProtocol=1.5&connectionData=**%5B%7B%22name%22%3A%22alertshub%22%7D%2C%7B%22name%22%3A%22loggerhub%22%7D%2C%7B%22name%22%3A%22notificationhub%22%7D%5D**&_=1522754518635
并且正在获取响应 connectionToken。我能够提取 connectionToken 。
现在,我需要发送
**-->Here again encoded connection data is further encoded.**
GET //abc.com/Web/signalr/connect?transport=serverSentEvents&clientProtocol=1.5&tid=10&connectionToken=%27FcFUJytTeVDsNq4EM5iY59NrIlAO4EK0nU%2BP9fDasBFDTA%2B78kpLr05HaQoqstQouqyFMP2hShwh2eHdiG%2BCsRq7wNHs70BVSkjJiLIdyePfB3SmMCmeZeZyvd1xzfnc%27&connectionData=**%255B%257B%2522name%2522%253A%2522alertshub%2522%257D%252C%257B%2522name%2522%253A%2522loggerhub%2522%257D%252C%257B%2522name%2522%253A%2522notificationhub%2522%257D%255D%26**_%3D1522754518635
如果我没看错,那就避免编码两次。在第一张和第二张截图中,您对其进行了两次编码。 如果 "connectionData" 已修复,则尝试 "User defined variables" 或者如果它在某些响应中可用,则使用正则表达式捕获并进一步使用它。 希望您在数据提取过程中不会出错。