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!!