fix(loadtest): fixed browser security error
This commit is contained in:
@@ -263,61 +263,48 @@
|
|||||||
|
|
||||||
function setupWebSocket ()
|
function setupWebSocket ()
|
||||||
{
|
{
|
||||||
let wsUrl = 'ws://' + window.location.host + '/ws'
|
const protocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://'
|
||||||
let triedSecure = false
|
const wsUrl = protocol + window.location.host + '/ws'
|
||||||
|
ws = new WebSocket( wsUrl )
|
||||||
|
|
||||||
function connect ( url )
|
ws.onopen = () => console.log( 'WebSocket connected' )
|
||||||
|
ws.onclose = () => console.log( 'WebSocket disconnected' )
|
||||||
|
ws.onerror = ( error ) => console.error( 'WebSocket error:', error )
|
||||||
|
|
||||||
|
ws.onmessage = ( event ) =>
|
||||||
{
|
{
|
||||||
ws = new WebSocket( url )
|
const data = JSON.parse( event.data )
|
||||||
ws.onopen = () => console.log( 'WebSocket connected' )
|
|
||||||
ws.onclose = () => console.log( 'WebSocket disconnected' )
|
|
||||||
ws.onerror = ( error ) =>
|
|
||||||
{
|
|
||||||
console.error( 'WebSocket error:', error )
|
|
||||||
if ( !triedSecure )
|
|
||||||
{
|
|
||||||
triedSecure = true
|
|
||||||
wsUrl = 'wss://' + window.location.host + '/ws'
|
|
||||||
connect( wsUrl )
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ws.onmessage = ( event ) =>
|
|
||||||
{
|
|
||||||
const data = JSON.parse( event.data )
|
|
||||||
|
|
||||||
if ( typeof data.isRunning !== 'undefined' )
|
|
||||||
{
|
|
||||||
if ( data.isRunning )
|
|
||||||
{
|
|
||||||
isRunning = true
|
|
||||||
startStopBtn.textContent = 'Stop Test'
|
|
||||||
startStopBtn.classList.remove( 'bg-green-600', 'hover:bg-green-500' )
|
|
||||||
startStopBtn.classList.add( 'bg-red-600', 'hover:bg-red-500' )
|
|
||||||
configPanel.querySelectorAll( 'input, select' ).forEach( el => el.disabled = true )
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if ( typeof data.isRunning !== 'undefined' )
|
||||||
|
{
|
||||||
if ( data.isRunning )
|
if ( data.isRunning )
|
||||||
{
|
{
|
||||||
const now = new Date().toLocaleTimeString()
|
isRunning = true
|
||||||
rpsStat.textContent = data.rps
|
startStopBtn.textContent = 'Stop Test'
|
||||||
latencyStat.textContent = data.latency.toFixed( 2 )
|
startStopBtn.classList.remove( 'bg-green-600', 'hover:bg-green-500' )
|
||||||
errorRateStat.textContent = data.errorRate.toFixed( 2 ) + '%'
|
startStopBtn.classList.add( 'bg-red-600', 'hover:bg-red-500' )
|
||||||
totalReqsStat.textContent = data.totalReqs
|
configPanel.querySelectorAll( 'input, select' ).forEach( el => el.disabled = true )
|
||||||
totalErrorsStat.textContent = data.totalErrors
|
|
||||||
|
|
||||||
updateChart( rpsChart, now, data.rps )
|
|
||||||
updateChart( latencyChart, now, data.latency )
|
|
||||||
updateChart( errorRateChart, now, data.errorRate )
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
totalReqsStat.textContent = data.totalReqs
|
|
||||||
totalErrorsStat.textContent = data.totalErrors
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
connect( wsUrl )
|
if ( data.isRunning )
|
||||||
|
{
|
||||||
|
const now = new Date().toLocaleTimeString()
|
||||||
|
rpsStat.textContent = data.rps
|
||||||
|
latencyStat.textContent = data.latency.toFixed( 2 )
|
||||||
|
errorRateStat.textContent = data.errorRate.toFixed( 2 ) + '%'
|
||||||
|
totalReqsStat.textContent = data.totalReqs
|
||||||
|
totalErrorsStat.textContent = data.totalErrors
|
||||||
|
|
||||||
|
updateChart( rpsChart, now, data.rps )
|
||||||
|
updateChart( latencyChart, now, data.latency )
|
||||||
|
updateChart( errorRateChart, now, data.errorRate )
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
totalReqsStat.textContent = data.totalReqs
|
||||||
|
totalErrorsStat.textContent = data.totalErrors
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRunningState ()
|
function setRunningState ()
|
||||||
|
|||||||
Reference in New Issue
Block a user