mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
test(websockets): add web sockets tests (#1758)
This commit is contained in:
parent
277c7d872f
commit
97c4054b7a
@ -21,4 +21,16 @@ describe('Capabilities', function() {
|
|||||||
await page.goto(server.PREFIX + '/wasm/table2.html');
|
await page.goto(server.PREFIX + '/wasm/table2.html');
|
||||||
expect(await page.evaluate(() => loadTable())).toBe('42, 83');
|
expect(await page.evaluate(() => loadTable())).toBe('42, 83');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('WebSocket should work', async({page, server}) => {
|
||||||
|
const value = await page.evaluate((port) => {
|
||||||
|
let cb;
|
||||||
|
const result = new Promise(f => cb = f);
|
||||||
|
const ws = new WebSocket('ws://localhost:' + port + '/ws');
|
||||||
|
ws.addEventListener('message', data => { ws.close(); cb(data.data); });
|
||||||
|
ws.addEventListener('error', error => cb('Error'));
|
||||||
|
return result;
|
||||||
|
}, server.PORT);
|
||||||
|
expect(value).toBe('incoming');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const {FFOX, CHROMIUM, WEBKIT} = require('./utils').testOptions(browserType);
|
const {FFOX, CHROMIUM, WEBKIT, MAC} = require('./utils').testOptions(browserType);
|
||||||
|
|
||||||
describe('ignoreHTTPSErrors', function() {
|
describe('ignoreHTTPSErrors', function() {
|
||||||
it('should work', async({browser, httpsServer}) => {
|
it('should work', async({browser, httpsServer}) => {
|
||||||
@ -60,4 +60,32 @@ describe('ignoreHTTPSErrors', function() {
|
|||||||
expect(await page.frames()[1].evaluate('2 + 3')).toBe(5);
|
expect(await page.frames()[1].evaluate('2 + 3')).toBe(5);
|
||||||
await context.close();
|
await context.close();
|
||||||
});
|
});
|
||||||
|
it.fail(WEBKIT && MAC)('should work with WebSocket', async({browser, httpsServer}) => {
|
||||||
|
const context = await browser.newContext({ ignoreHTTPSErrors: true });
|
||||||
|
const page = await context.newPage();
|
||||||
|
const value = await page.evaluate(endpoint => {
|
||||||
|
let cb;
|
||||||
|
const result = new Promise(f => cb = f);
|
||||||
|
const ws = new WebSocket(endpoint);
|
||||||
|
ws.addEventListener('message', data => { ws.close(); cb(data.data); });
|
||||||
|
ws.addEventListener('error', error => cb('Error'));
|
||||||
|
return result;
|
||||||
|
}, httpsServer.PREFIX.replace(/https/, 'wss') + '/ws');
|
||||||
|
expect(value).toBe('incoming');
|
||||||
|
await context.close();
|
||||||
|
});
|
||||||
|
it('should fail with WebSocket if not ignored', async({browser, httpsServer}) => {
|
||||||
|
const context = await browser.newContext();
|
||||||
|
const page = await context.newPage();
|
||||||
|
const value = await page.evaluate(endpoint => {
|
||||||
|
let cb;
|
||||||
|
const result = new Promise(f => cb = f);
|
||||||
|
const ws = new WebSocket(endpoint);
|
||||||
|
ws.addEventListener('message', data => { ws.close(); cb(data.data); });
|
||||||
|
ws.addEventListener('error', error => cb('Error'));
|
||||||
|
return result;
|
||||||
|
}, httpsServer.PREFIX.replace(/https/, 'wss') + '/ws');
|
||||||
|
expect(value).toBe('Error');
|
||||||
|
await context.close();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user