blob: 847d12166de0213b9c91a0e7064ecf1c5d1d78b4 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests that WebSocket network requests do not loose focus on frame being received.\n`);
await TestRunner.loadModule('network_test_runner');
await TestRunner.showPanel('network');
NetworkTestRunner.recordNetwork();
const wsUrl = 'ws://localhost:8880/echo';
const networkLogView = UI.panels.network._networkLogView;
const dataGrid = networkLogView._dataGrid;
await TestRunner.evaluateInPagePromise('ws = new WebSocket(\'' + wsUrl + '\')');
var websocketRequest = NetworkTestRunner.findRequestsByURLPattern(createPlainTextSearchRegex(wsUrl))[0];
await NetworkTestRunner.waitForRequestResponse(websocketRequest);
var node = await NetworkTestRunner.waitForNetworkLogViewNodeForRequest(websocketRequest);
networkLogView._refresh();
node.select();
logSelectedNode();
TestRunner.addResult('Sending Websocket frame');
await TestRunner.evaluateInPagePromise('ws.send(\'test\')');
await NetworkTestRunner.waitForWebsocketFrameReceived(websocketRequest, 'test');
networkLogView._refresh();
TestRunner.addResult('Websocket Frame Received');
logSelectedNode();
TestRunner.completeTest();
function logSelectedNode() {
TestRunner.addResult('Selected Request: ' + (dataGrid.selectedNode && dataGrid.selectedNode.request().url()) || '');
}
})();