Best JavaScript code snippet using playwright-internal
feedback.js
Source:feedback.js  
...212			removeSocketStub();213		});214		it("loads credentials", function(done) {215			var feedback = Feedback({ pfx: "myCredentials.pfx" });216			feedback.createSocket().finally(function() {217				expect(feedback.loadCredentials).to.have.been.calledOnce;218				done();219			});220		});221		describe("with valid credentials", function() {222			it("resolves", function() {223				var feedback = Feedback({224					cert: "myCert.pem",225					key: "myKey.pem"226				});227				return expect(feedback.createSocket()).to.be.fulfilled;228			});229			describe("the call to create socket", function() {230				var createSocket;231				it("passes PFX data", function() {232					createSocket = Feedback({233						pfx: "myCredentials.pfx",234						passphrase: "apntest"235					}).createSocket();236					return createSocket.then(function() {237						var socketOptions = socketStub.args[0][1];238						expect(socketOptions.pfx).to.equal("pfxData");239					});240				});241				it("passes the passphrase", function() {242					createSocket = Feedback({243						passphrase: "apntest",244						cert: "myCert.pem",245						key: "myKey.pem"246					}).createSocket();247					return createSocket.then(function() {248						var socketOptions = socketStub.args[0][1];249						expect(socketOptions.passphrase).to.equal("apntest");250					});251				});252				it("passes the cert", function() {253					createSocket = Feedback({254						cert: "myCert.pem",255						key: "myKey.pem"256					}).createSocket();257					return createSocket.then(function() {258						var socketOptions = socketStub.args[0][1];259						expect(socketOptions.cert).to.equal("certData");260					});261				});262				it("passes the key", function() {263					createSocket = Feedback({264						cert: "test/credentials/support/cert.pem",265						key: "test/credentials/support/key.pem"266					}).createSocket();267					return createSocket.then(function() {268						var socketOptions = socketStub.args[0][1];269						expect(socketOptions.key).to.equal("keyData");270					});271				});272				it("passes the ca certificates", function() {273					createSocket = Feedback({274						cert: "test/credentials/support/cert.pem",275						key: "test/credentials/support/key.pem",276						ca: [ "test/credentials/support/issuerCert.pem" ]277					}).createSocket();278					return createSocket.then(function() {279						var socketOptions = socketStub.args[0][1];280						expect(socketOptions.ca[0]).to.equal("caData1");281					});282				});283			});284		});285		describe("intialization failure", function() {286			it("is rejected", function() {287				var feedback = Feedback({ pfx: "a-non-existant-file-which-really-shouldnt-exist.pfx" });288				feedback.on("error", function() {});289				feedback.loadCredentials.returns(Q.reject(new Error("loadCredentials failed")));290				return expect(feedback.createSocket()).to.be.rejectedWith("loadCredentials failed");291			});292		});293	});294	describe("cancel", function() {295		it("should clear interval after cancel", function() {296			var feedback = new Feedback();297			feedback.interval = 1;298			feedback.cancel();299			expect(feedback.interval).to.be.undefined;300		});301	});...dgram_test.js
Source:dgram_test.js  
...15}16describe('dgram', () => {17    it('create/close', () => {18        var t = false;19        const s = dgram.createSocket('udp4');20        s.close(() => {21            t = true;22        });23        coroutine.sleep(100);24        assert.isTrue(t);25    });26    it('throw close on closed socket', () => {27        const s = dgram.createSocket('udp4');28        s.close();29        assert.throws(() => {30            s.close();31        });32    });33    it('bind', () => {34        const s = dgram.createSocket('udp4');35        s.bind(base_port + 1000);36        const s1 = dgram.createSocket('udp4');37        assert.throws(() => {38            s1.bind(base_port + 1000);39        });40        s.close();41        s1.close();42    });43    it('throw bind on bound socket', () => {44        const s = dgram.createSocket('udp4');45        s.bind(base_port + 1001);46        assert.throws(() => {47            s.bind(base_port + 1002);48        });49        s.close();50    });51    it('setRecvBufferSize', () => {52        const s = dgram.createSocket('udp4');53        s.bind(0);54        s.setRecvBufferSize(5120);55        var sz = s.getRecvBufferSize();56        s.setRecvBufferSize(1024);57        assert.notEqual(s.getRecvBufferSize(), sz);58        sz = s.getRecvBufferSize();59        s.setRecvBufferSize(4096);60        assert.notEqual(s.getRecvBufferSize(), sz);61        s.close();62    });63    it('setSendBufferSize', () => {64        const s = dgram.createSocket('udp4');65        s.bind(0);66        s.setSendBufferSize(5120);67        var sz = s.getSendBufferSize();68        s.setSendBufferSize(1024);69        assert.notEqual(s.getSendBufferSize(), sz);70        sz = s.getSendBufferSize();71        s.setSendBufferSize(4096);72        assert.notEqual(s.getSendBufferSize(), sz);73        s.close();74    });75    it('option', () => {76        const s = dgram.createSocket('udp4');77        s.bind(0);78        var recv_size = s.getRecvBufferSize();79        var send_size = s.getSendBufferSize();80        s.close();81        const socket = dgram.createSocket({82            type: 'udp4',83            recvBufferSize: 1234,84            sendBufferSize: 123485        });86        socket.bind(0);87        assert.notEqual(socket.getRecvBufferSize(), recv_size);88        assert.notEqual(socket.getSendBufferSize(), send_size);89        socket.close();90    });91    it('address', done => {92        const socket = dgram.createSocket('udp4');93        socket.on('listening', () => {94            try {95                const address = socket.address();96                assert.strictEqual(address.address, "127.0.0.1");97                assert.strictEqual(typeof address.port, 'number');98                assert.ok(address.port > 0);99                assert.strictEqual(address.family, 'IPv4');100                done();101            } catch (e) {102                done(e);103            } finally {104                socket.close();105            }106        });107        socket.bind(0, "127.0.0.1");108    });109    describe("send/recv", () => {110        function test_message(name, value, port) {111            it(`send ${name}`, done => {112                var t = false;113                const s = dgram.createSocket('udp4');114                s.on('message', (msg, addr) => {115                    s.off('message');116                    s.on('message', (msg, addr) => {117                        c.close();118                        s.close();119                        done();120                    });121                    assert.equal(msg.toString(), value);122                    s.send(msg, addr.port, addr.address);123                });124                s.bind(base_port + port);125                const c = dgram.createSocket('udp4');126                c.on('message', (msg, addr) => {127                    assert.equal(msg.toString(), value);128                    c.send(msg, addr.port, addr.address);129                });130                c.send(value, base_port + port);131            });132        }133        test_message('message', "123456", 1002);134        test_message('empty message', "", 1003);135        test_message('big message', new Buffer(4000).hex(), 1004);136    });137    it("broadcast", () => {138        var t = false;139        const s = dgram.createSocket('udp4');140        s.on('message', (msg, addr) => {141            assert.equal(msg.toString(), '123456');142            t = true;143        });144        s.bind(base_port + 1006);145        const c = dgram.createSocket('udp4');146        assert.throws(() => {147            c.send('123456', base_port + 1006, "255.255.255.255");148        });149        c.setBroadcast(true);150        c.send('123456', base_port + 1006, "255.255.255.255");151        coroutine.sleep(100);152        c.close();153        s.close();154        assert.isTrue(t);155    });156    if (has_ipv6)157        describe("ipv6", () => {158            it('ipv6 address', done => {159                const socket = dgram.createSocket('udp6');160                socket.on('listening', () => {161                    try {162                        const address = socket.address();163                        assert.strictEqual(address.address, "::1");164                        assert.strictEqual(typeof address.port, 'number');165                        assert.ok(address.port > 0);166                        assert.strictEqual(address.family, 'IPv6');167                        done();168                    } catch (e) {169                        done(e);170                    } finally {171                        socket.close();172                    }173                });174                socket.bind(0, "::1");175            });176            it('send/message ipv6', done => {177                var t = false;178                const s = dgram.createSocket({179                    type: 'udp6',180                    ipv6Only: true181                });182                s.on('message', (msg, addr) => {183                    s.off('message');184                    s.on('message', (msg, addr) => {185                        c.close();186                        s.close();187                        done();188                    });189                    assert.equal(msg.toString(), "0123456");190                    s.send(msg, addr.port, addr.address);191                });192                s.bind(base_port + 1005);193                const c = dgram.createSocket('udp6');194                c.on('message', (msg, addr) => {195                    assert.equal(msg.toString(), "0123456");196                    c.send(msg, addr.port, addr.address);197                });198                c.send("0123456", base_port + 1005);199            });200        });201    describe("gc", () => {202        it("gc", () => {203            test_util.gc();204            var n = test_util.countObject("DgramSocket");205            var s = dgram.createSocket('udp4');206            s.bind(0);207            s.close();208            s = undefined;209            test_util.gc();210            assert.equal(n, test_util.countObject("DgramSocket"));211        });212        it("not keep unclosed socket in gc", () => {213            test_util.gc();214            var n = test_util.countObject("DgramSocket");215            var s = dgram.createSocket('udp4');216            s = undefined;217            test_util.gc();218            assert.equal(n, test_util.countObject("DgramSocket"));219        });220        it("hold bind socket in gc", () => {221            test_util.gc();222            var c = dgram.createSocket('udp4');223            var n = test_util.countObject("DgramSocket");224            var s = dgram.createSocket('udp4');225            s.on('message', function (msg) {226                this.close();227            })228            s.bind(base_port + 1007);229            s = undefined;230            test_util.gc();231            assert.equal(n + 1, test_util.countObject("DgramSocket"));232            c.send('', base_port + 1007);233            coroutine.sleep(100);234            test_util.gc();235            assert.equal(n, test_util.countObject("DgramSocket"));236            c.close();237        });238    });239    it('FIX: crash in send', () => {240        const c = dgram.createSocket('udp4');241        c.send('123456', 1, 2, base_port + 1008);242        c.close();243    });244});...agent.js
Source:agent.js  
...68  } while (!createSocket)69  if (!createSocket) {70    createSocket = http.Agent.prototype.createSocket71  }72  assert(createSocket, '.createSocket() method not found')73  return createSocket74}75proto._connect = function _connect (options, callback) {76  var self = this77  var state = this._spdyState78  var protocols = state.options.protocols || [79    'h2',80    'spdy/3.1', 'spdy/3', 'spdy/2',81    'http/1.1', 'http/1.0'82  ]83  // TODO(indutny): reconnect automatically?84  var socket = this.createConnection(Object.assign({85    NPNProtocols: protocols,86    ALPNProtocols: protocols,87    servername: options.servername || options.host88  }, options))89  state.socket = socket90  socket.setNoDelay(true)91  function onError (err) {92    return callback(err)93  }94  socket.on('error', onError)95  socket.on(state.secure ? 'secureConnect' : 'connect', function () {96    socket.removeListener('error', onError)97    var protocol98    if (state.secure) {99      protocol = socket.npnProtocol ||100                 socket.alpnProtocol ||101                 state.options.protocol102    } else {103      protocol = state.options.protocol104    }105    // HTTP server - kill socket and switch to the fallback mode106    if (!protocol || protocol === 'http/1.1' || protocol === 'http/1.0') {107      debug('activating fallback')108      socket.destroy()109      state.fallback = true110      return111    }112    debug('connected protocol=%j', protocol)113    var connection = transport.connection.create(socket, Object.assign({114      protocol: /spdy/.test(protocol) ? 'spdy' : 'http2',115      isServer: false116    }, state.options.connection || {}))117    // Pass connection level errors are passed to the agent.118    connection.on('error', function (err) {119      self.emit('error', err)120    })121    // Set version when we are certain122    if (protocol === 'h2') {123      connection.start(4)124    } else if (protocol === 'spdy/3.1') {125      connection.start(3.1)126    } else if (protocol === 'spdy/3') {127      connection.start(3)128    } else if (protocol === 'spdy/2') {129      connection.start(2)130    } else {131      socket.destroy()132      callback(new Error('Unexpected protocol: ' + protocol))133      return134    }135    if (state.options['x-forwarded-for'] !== undefined) {136      connection.sendXForwardedFor(state.options['x-forwarded-for'])137    }138    callback(null, connection)139  })140}141proto._createSocket = function _createSocket (req, options, callback) {142  var state = this._spdyState143  if (state.fallback) { return state.createSocket(req, options) }144  var handle = spdy.handle.create(null, null, state.socket)145  var socketOptions = {146    handle: handle,147    allowHalfOpen: true148  }149  var socket150  if (state.secure) {151    socket = new spdy.Socket(state.socket, socketOptions)152  } else {153    socket = new net.Socket(socketOptions)154  }155  handle.assignSocket(socket)156  handle.assignClientRequest(req)157  // Create stream only once `req.end()` is called158  var self = this159  handle.once('needStream', function () {160    if (state.connection === null) {161      self.once('_connect', function () {162        handle.setStream(self._createStream(req, handle))163      })164    } else {165      handle.setStream(self._createStream(req, handle))166    }167  })168  // Yes, it is in reverse169  req.on('response', function (res) {170    handle.assignRequest(res)171  })172  handle.assignResponse(req)173  // Handle PUSH174  req.addListener('newListener', spdy.request.onNewListener)175  // For v0.8176  socket.readable = true177  socket.writable = true178  if (callback) {179    return callback(null, socket)180  }181  return socket182}183if (mode === 'modern' || mode === 'normal') {184  proto.createSocket = proto._createSocket185} else {186  proto.createSocket = function createSocket (name, host, port, addr, req) {187    var state = this._spdyState188    if (state.fallback) {189      return state.createSocket(name, host, port, addr, req)190    }191    return this._createSocket(req, {192      host: host,193      port: port194    })195  }196}197proto._createStream = function _createStream (req, handle) {198  var state = this._spdyState199  var self = this200  return state.connection.reserveStream({201    method: req.method,202    path: req.path,203    headers: req._headers,204    host: state.host205  }, function (err, stream) {...Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3  const browser = await chromium.launch({ headless: false });4  const context = await browser.newContext();5  const page = await context.newPage();6  const wsEndpoint = page.context()._browser._connection._transport._wsEndpoint;7  const socket = await chromium.createSocket(wsEndpoint);8  await socket.send('Emulation.setDeviceMetricsOverride', {9  });10  await socket.send('Page.navigate', {11  });12  await socket.send('Page.captureScreenshot', {13  });14  await socket.close();15  await browser.close();16})();17const puppeteer = require('puppeteer');18(async () => {19  const browser = await puppeteer.launch({ headless: false });20  const page = await browser.newPage();21  await page.emulate({22    viewport: {23    },24  });25  await page.screenshot({26  });27  await browser.close();28})();29[MIT](LICENSE)Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3  const browser = await chromium.launch();4  const context = await browser.newContext();5  const page = await context.newPage();6  const socket = await page._createSocket();7  socket.on('message', message => console.log(message));8  socket.send('hello');9  await page.close();10  await context.close();11  await browser.close();12})();Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3    const browser = await chromium.launch();4    const context = await browser.newContext();5    const page = await context.newPage();6    socket.on('message', message => {7        console.log(message);8    });9    socket.send('hello world');10    await browser.close();11})();Using AI Code Generation
1const { chromium } = require('playwright-chromium');2const { createSocket } = require('dgram');3(async () => {4    const browser = await chromium.launch({headless: false, slowMo: 500});5    const context = await browser.newContext();6    const page = await context.newPage();7    const socket = createSocket('udp4');8    socket.bind(0);9    await page.route('**/*', route => {10        route.continue({11            headers: {12                ...route.request().headers(),13            },14        });15    });16    await browser.close();17})();18const { chromium } = require('playwright-chromium');19const { createSocket } = require('dgram');20(async () => {21    const browser = await chromium.launch({headless: false, slowMo: 500});22    const context = await browser.newContext();23    const page = await context.newPage();24    const socket = createSocket('udp4');25    socket.bind(0);26    await page.route('**/*', route => {27        const url = route.request().url();28        if (url.endsWith('.png') || url.endsWith('.jpg')) {29            route.abort();30        } else {31            route.continue();32        }33    });34    await browser.close();35})();36const { chromium } = require('playwright-chromium');37const { createSocket } = require('dgram');38(async () => {39    const browser = await chromium.launch({headless: false, slowMo: 500});Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3  const browser = await chromium.launch();4  const context = await browser.newContext();5  const page = await context.newPage();6  await page.screenshot({ path: `example.png` });7  const wsEndpoint = browser.wsEndpoint();8  await browser.close();9})();10const { chromium } = require('playwright');11(async () => {12  const browser = await chromium.connect({Using AI Code Generation
1const { createSocket } = require('dgram');2const { internalBinding } = require('internal/test/binding');3const { getBinding } = internalBinding('udp_wrap');4const { UDPWrap } = getBinding(createSocket('udp4')._handle);5const udp = new UDPWrap();6udp.bind('Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3  const browser = await chromium.launch();4  const context = await browser.newContext();5  await ws.send('Hello');6  await ws.close();7  await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11  const browser = await chromium.launchPersistentContext('/tmp/myprofile', {12  });13  const page = await browser.newPage();14  await browser.close();15})();16const { chromium } = require('playwright');17(async () => {18  const browser = await chromium.launchPersistentContext('/tmp/myprofile', {19  });20  const page = await browser.newPage();21  await browser.close();22})();23const { chromium } = require('playwright');24(async () => {25  const browser = await chromium.launchPersistentContext('/tmp/myprofile', {26    extraHTTPHeaders: {27    },28  });29  const page = await browser.newPage();30  await browser.close();31})();32const { chromium } = require('playwright');33(async () => {Using AI Code Generation
1const playwright = require('playwright');2const { createSocket } = playwright._electron;3const socket = createSocket();4#### socket.on(event, handler)5#### socket.once(event, handler)6#### socket.off(event, handler)7#### socket.send(method, params)8#### socket.dispose()9### socket.on('event', event => {})10### socket.on('close', () => {})11### socket.send(method, params)12[Apache-2.0](LICENSE)LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
