Best JavaScript code snippet using wpt
arguments.ts
Source:arguments.ts
1import {parse, URL, URLSearchParams} from 'url';2import test from 'ava';3import {Handler} from 'express';4import pEvent from 'p-event';5import got, {Options, StrictOptions} from '../source/index.js';6import withServer, {withBodyParsingServer} from './helpers/with-server.js';7const echoUrl: Handler = (request, response) => {8 response.end(request.url);9};10test('`url` is required', async t => {11 await t.throwsAsync(12 // @ts-expect-error No argument on purpose.13 got(),14 {15 message: 'Missing `url` property'16 }17 );18 await t.throwsAsync(19 got(''),20 {21 message: 'Invalid URL: '22 }23 );24 await t.throwsAsync(25 got({26 url: ''27 }),28 {29 message: 'Invalid URL: '30 }31 );32});33test('`url` should be utf-8 encoded', async t => {34 await t.throwsAsync(35 got('https://example.com/%D2%E0%EB%EB%E8%ED'),36 {37 message: 'URI malformed'38 }39 );40});41test('throws if no arguments provided', async t => {42 // @ts-expect-error Error tests43 await t.throwsAsync(got(), {44 message: 'Missing `url` property'45 });46});47test('throws if the url option is missing', async t => {48 await t.throwsAsync(got({}), {49 message: 'Missing `url` property'50 });51});52test('throws an error if the protocol is not specified', async t => {53 await t.throwsAsync(got('example.com'), {54 message: 'Invalid URL: example.com'55 });56});57test('properly encodes query string', withServer, async (t, server, got) => {58 server.get('/', echoUrl);59 const path = '?test=http://example.com?foo=bar';60 const {body} = await got(path);61 t.is(body, '/?test=http://example.com?foo=bar');62});63test('options are optional', withServer, async (t, server, got) => {64 server.get('/test', echoUrl);65 t.is((await got('test')).body, '/test');66});67test('methods are normalized', withServer, async (t, server, got) => {68 server.post('/test', echoUrl);69 const instance = got.extend({70 handlers: [71 (options, next) => {72 if (options.method === options.method.toUpperCase()) {73 t.pass();74 } else {75 t.fail();76 }77 return next(options);78 }79 ]80 });81 await instance('test', {method: 'post'});82});83test('throws an error when legacy URL is passed', withServer, async (t, server) => {84 server.get('/test', echoUrl);85 await t.throwsAsync(86 // @ts-expect-error Error tests87 got(parse(`${server.url}/test`))88 );89 // TODO: Assert message above.90 await t.throwsAsync(91 got({92 protocol: 'http:',93 hostname: 'localhost',94 port: server.port95 } as any),96 {message: 'Unexpected option: protocol'}97 );98});99test('overrides `searchParams` from options', withServer, async (t, server, got) => {100 server.get('/', echoUrl);101 const {body} = await got(102 '?drop=this',103 {104 searchParams: {105 test: 'wow'106 }107 }108 );109 t.is(body, '/?test=wow');110});111test('does not duplicate `searchParams`', withServer, async (t, server, got) => {112 server.get('/', echoUrl);113 const instance = got.extend({114 searchParams: new URLSearchParams({foo: '123'})115 });116 const body = await instance('?bar=456').text();117 t.is(body, '/?foo=123');118});119test('escapes `searchParams` parameter values', withServer, async (t, server, got) => {120 server.get('/', echoUrl);121 const {body} = await got({122 searchParams: {123 test: 'itâs ok'124 }125 });126 t.is(body, '/?test=it%E2%80%99s+ok');127});128test('the `searchParams` option can be a URLSearchParams', withServer, async (t, server, got) => {129 server.get('/', echoUrl);130 // eslint-disable-next-line unicorn/prevent-abbreviations131 const searchParams = new URLSearchParams({test: 'wow'});132 const {body} = await got({searchParams});133 t.is(body, '/?test=wow');134});135test('ignores empty searchParams object', withServer, async (t, server, got) => {136 server.get('/test', echoUrl);137 t.is((await got('test', {searchParams: {}})).requestUrl.toString(), `${server.url}/test`);138});139test('throws when passing body with a non payload method', async t => {140 await t.throwsAsync(got('https://example.com', {body: 'asdf'}), {141 message: 'The `GET` method cannot be used with a body'142 });143});144test('`allowGetBody` option', withServer, async (t, server, got) => {145 server.get('/test', echoUrl);146 await t.notThrowsAsync(got('test', {body: 'asdf', allowGetBody: true}));147});148test('WHATWG URL support', withServer, async (t, server) => {149 server.get('/test', echoUrl);150 const url = new URL(`${server.url}/test`);151 await t.notThrowsAsync(got(url));152});153test('returns streams when using `isStream` option', withServer, async (t, server, got) => {154 server.get('/stream', (_request, response) => {155 response.end('ok');156 });157 const data = await pEvent(got('stream', {isStream: true}), 'data');158 t.is(data.toString(), 'ok');159});160test('accepts `url` as an option', withServer, async (t, server, got) => {161 server.get('/test', echoUrl);162 await t.notThrowsAsync(got({url: 'test'}));163});164test('can omit `url` option if using `prefixUrl`', withServer, async (t, server, got) => {165 server.get('/', echoUrl);166 await t.notThrowsAsync(got({}));167});168test('throws when `options.hooks` is not an object', async t => {169 await t.throwsAsync(170 // @ts-expect-error Error tests171 got('https://example.com', {hooks: 'not object'}),172 {173 message: 'Expected value which is `Object`, received value of type `string`.'174 }175 );176});177test('throws when known `options.hooks` value is not an array', async t => {178 await t.throwsAsync(179 // @ts-expect-error Error tests180 got('https://example.com', {hooks: {beforeRequest: {}}})181 );182 // TODO: Assert message above.183});184test('throws when known `options.hooks` array item is not a function', async t => {185 await t.throwsAsync(186 // @ts-expect-error Error tests187 got('https://example.com', {hooks: {beforeRequest: [{}]}}),188 {189 message: 'Expected value which is `Function`, received value of type `Object`.'190 }191 );192});193test('does not allow extra keys in `options.hooks`', withServer, async (t, server, got) => {194 server.get('/test', echoUrl);195 // @ts-expect-error Error tests196 await t.throwsAsync(got('test', {hooks: {extra: []}}), {197 message: 'Unexpected hook event: extra'198 });199});200test('`prefixUrl` option works', withServer, async (t, server, got) => {201 server.get('/test/foobar', echoUrl);202 const instanceA = got.extend({prefixUrl: `${server.url}/test`});203 const {body} = await instanceA('foobar');204 t.is(body, '/test/foobar');205});206test('accepts WHATWG URL as the `prefixUrl` option', withServer, async (t, server, got) => {207 server.get('/test/foobar', echoUrl);208 const instanceA = got.extend({prefixUrl: new URL(`${server.url}/test`)});209 const {body} = await instanceA('foobar');210 t.is(body, '/test/foobar');211});212test('backslash in the end of `prefixUrl` option is optional', withServer, async (t, server) => {213 server.get('/test/foobar', echoUrl);214 const instanceA = got.extend({prefixUrl: `${server.url}/test/`});215 const {body} = await instanceA('foobar');216 t.is(body, '/test/foobar');217});218test('`prefixUrl` can be changed if the URL contains the old one', withServer, async (t, server) => {219 server.get('/', echoUrl);220 const instanceA = got.extend({221 prefixUrl: `${server.url}/meh`,222 handlers: [223 (options, next) => {224 options.prefixUrl = server.url;225 return next(options);226 }227 ]228 });229 const {body} = await instanceA('');230 t.is(body, '/');231});232test('throws if the `searchParams` value is invalid', async t => {233 await t.throwsAsync(got('https://example.com', {234 searchParams: {235 // @ts-expect-error Error tests236 foo: []237 }238 }));239 // TODO: Assert message above.240});241test.failing('`context` option is enumerable', withServer, async (t, server, got) => {242 server.get('/', echoUrl);243 const context = {244 foo: 'bar'245 };246 await got({247 context,248 hooks: {249 beforeRequest: [250 options => {251 t.deepEqual(options.context, context);252 t.true({}.propertyIsEnumerable.call(options, 'context'));253 }254 ]255 }256 });257});258test('`context` option is accessible when using hooks', withServer, async (t, server) => {259 server.get('/', echoUrl);260 const context = {261 foo: 'bar'262 };263 await got(server.url, {264 context,265 hooks: {266 beforeRequest: [267 options => {268 t.deepEqual(options.context, context);269 t.false({}.propertyIsEnumerable.call(options, 'context'));270 }271 ]272 }273 });274});275test('`context` option is accessible when extending instances', t => {276 const context = {277 foo: 'bar'278 };279 const instance = got.extend({context});280 t.deepEqual(instance.defaults.options.context, context);281 t.false({}.propertyIsEnumerable.call(instance.defaults.options, 'context'));282});283test('`context` option is shallow merged', t => {284 const context = {285 foo: 'bar'286 };287 const context2 = {288 bar: 'baz'289 };290 const instance1 = got.extend({context});291 t.deepEqual(instance1.defaults.options.context, context);292 t.false({}.propertyIsEnumerable.call(instance1.defaults.options, 'context'));293 const instance2 = instance1.extend({context: context2});294 t.deepEqual(instance2.defaults.options.context, {...context, ...context2});295});296test('throws if `options.encoding` is `null`', async t => {297 await t.throwsAsync(got('https://example.com', {298 // @ts-expect-error For testing purposes299 encoding: null300 }), {message: 'To get a Buffer, set `options.responseType` to `buffer` instead'});301});302test('`url` option and input argument are mutually exclusive', async t => {303 await t.throwsAsync(got('https://example.com', {304 url: 'https://example.com'305 }), {message: 'The `url` option is mutually exclusive with the `input` argument'});306});307test('throws a helpful error when passing `followRedirects`', async t => {308 await t.throwsAsync(got('https://example.com', {309 // @ts-expect-error For testing purposes310 followRedirects: true311 }), {message: 'The `followRedirects` option does not exist. Use `followRedirect` instead.'});312});313test('merges `searchParams` instances', t => {314 const instance = got.extend({315 searchParams: new URLSearchParams('a=1')316 }, {317 searchParams: new URLSearchParams('b=2')318 });319 // eslint-disable-next-line unicorn/prevent-abbreviations320 const searchParams = instance.defaults.options.searchParams as URLSearchParams;321 t.is(searchParams.get('a'), '1');322 t.is(searchParams.get('b'), '2');323});324test('throws a helpful error when passing `auth`', async t => {325 await t.throwsAsync(got('https://example.com', {326 // @ts-expect-error For testing purposes327 auth: 'username:password'328 }), {329 message: 'Parameter `auth` is deprecated. Use `username` / `password` instead.'330 });331});332test('throws on leading slashes', async t => {333 await t.throwsAsync(got('/asdf', {prefixUrl: 'https://example.com'}), {334 message: '`url` must not start with a slash'335 });336});337test('throws on invalid `dnsCache` option', async t => {338 await t.throwsAsync(got('https://example.com', {339 // @ts-expect-error Error tests340 dnsCache: 123341 }));342 // TODO: Assert message above.343});344test('throws on invalid `agent` option', async t => {345 await t.throwsAsync(got('https://example.com', {346 agent: {347 // @ts-expect-error Error tests348 asdf: 123349 }350 }), {message: 'Unexpected agent option: asdf'});351});352test('fallbacks to native http if `request(...)` returns undefined', withServer, async (t, server, got) => {353 server.get('/', echoUrl);354 const {body} = await got('', {request: () => undefined});355 t.is(body, '/');356});357test('strict options', withServer, async (t, server, got) => {358 server.get('/', echoUrl);359 const options: StrictOptions = {};360 const {body} = await got(options);361 t.is(body, '/');362});363test('does not throw on frozen options', withServer, async (t, server, got) => {364 server.get('/', echoUrl);365 const options: StrictOptions = {};366 Object.freeze(options);367 const {body} = await got(options);368 t.is(body, '/');369});370test('encodes query string included in input', t => {371 const {url} = new Options({372 url: new URL('https://example.com/?a=b c')373 });374 t.is(url!.search, '?a=b%20c');375});376test('normalizes search params included in options', t => {377 const {url} = new Options({378 url: new URL('https://example.com'),379 searchParams: 'a=b c'380 });381 t.is(url!.search, '?a=b+c');382});383test('reuse options while using init hook', withServer, async (t, server, got) => {384 t.plan(2);385 server.get('/', echoUrl);386 const options = {387 hooks: {388 init: [389 () => {390 t.pass();391 }392 ]393 }394 };395 await got('', options);396 await got('', options);397});398test('allowGetBody sends json payload', withBodyParsingServer, async (t, server, got) => {399 server.get('/', (request, response) => {400 if (request.body.hello !== 'world') {401 response.statusCode = 400;402 }403 response.end();404 });405 const {statusCode} = await got({406 allowGetBody: true,407 json: {hello: 'world'},408 retry: {409 limit: 0410 },411 throwHttpErrors: false412 });413 t.is(statusCode, 200);414});415test('no URL pollution', withServer, async (t, server) => {416 server.get('/ok', echoUrl);417 const url = new URL(server.url);418 const {body} = await got(url, {419 hooks: {420 beforeRequest: [421 options => {422 (options.url as URL).pathname = '/ok';423 }424 ]425 }426 });427 t.is(url.pathname, '/');428 t.is(body, '/ok');429});430test('prefixUrl is properly replaced when extending', withServer, async (t, server) => {431 server.get('/', (request, response) => {432 response.end(request.url);433 });434 server.get('/other/path/', (request, response) => {435 response.end(request.url);436 });437 const parent = got.extend({prefixUrl: server.url});438 const child = parent.extend({prefixUrl: `${server.url}/other/path/`});439 t.is(await child.get('').text(), '/other/path/');440});441test('throws on too large noise', t => {442 /* eslint-disable no-new */443 t.throws(() => {444 new Options({445 retry: {446 noise: 101447 }448 });449 }, {450 message: 'The maximum acceptable retry noise is +/- 100ms, got 101'451 });452 t.throws(() => {453 new Options({454 retry: {455 noise: -101456 }457 });458 }, {459 message: 'The maximum acceptable retry noise is +/- 100ms, got -101'460 });461 t.throws(() => {462 new Options({463 retry: {464 noise: Number.POSITIVE_INFINITY465 }466 });467 }, {468 message: 'The maximum acceptable retry noise is +/- 100ms, got Infinity'469 });470 t.throws(() => {471 new Options({472 retry: {473 noise: Number.NEGATIVE_INFINITY474 }475 });476 }, {477 message: 'The maximum acceptable retry noise is +/- 100ms, got -Infinity'478 });479 t.notThrows(() => {480 new Options({481 retry: {482 noise: 0483 }484 });485 });486 /* eslint-enable no-new */...
close.any.js
Source:close.any.js
1// META: script=../../constants.sub.js2// META: script=resources/url-constants.js3// META: global=window,worker4// META: variant=?wss5// META: variant=?wpt_flags=h26promise_test(async () => {7 const wss = new WebSocketStream(ECHOURL);8 await wss.connection;9 wss.close({code: 3456, reason: 'pizza'});10 const { code, reason } = await wss.closed;11 assert_equals(code, 3456, 'code should match');12 assert_equals(reason, 'pizza', 'reason should match');13}, 'close code should be sent to server and reflected back');14promise_test(async () => {15 const wss = new WebSocketStream(ECHOURL);16 await wss.connection;17 wss.close();18 const { code, reason } = await wss.closed;19 assert_equals(code, 1005, 'code should be unset');20 assert_equals(reason, '', 'reason should be empty');21}, 'no close argument should send empty Close frame');22promise_test(async () => {23 const wss = new WebSocketStream(ECHOURL);24 await wss.connection;25 wss.close({});26 const { code, reason } = await wss.closed;27 assert_equals(code, 1005, 'code should be unset');28 assert_equals(reason, '', 'reason should be empty');29}, 'unspecified close code should send empty Close frame');30promise_test(async () => {31 const wss = new WebSocketStream(ECHOURL);32 await wss.connection;33 wss.close({reason: ''});34 const { code, reason } = await wss.closed;35 assert_equals(code, 1005, 'code should be unset');36 assert_equals(reason, '', 'reason should be empty');37}, 'unspecified close code with empty reason should send empty Close frame');38promise_test(async () => {39 const wss = new WebSocketStream(ECHOURL);40 await wss.connection;41 wss.close({reason: 'non-empty'});42 const { code, reason } = await wss.closed;43 assert_equals(code, 1000, 'code should be set');44 assert_equals(reason, 'non-empty', 'reason should match');45}, 'unspecified close code with non-empty reason should set code to 1000');46promise_test(async () => {47 const wss = new WebSocketStream(ECHOURL);48 await wss.connection;49 assert_throws_js(TypeError, () => wss.close(true),50 'close should throw a TypeError');51}, 'close(true) should throw a TypeError');52promise_test(async () => {53 const wss = new WebSocketStream(ECHOURL);54 await wss.connection;55 const reason = '.'.repeat(124);56 assert_throws_dom('SyntaxError', () => wss.close({ reason }),57 'close should throw a TypeError');58}, 'close() with an overlong reason should throw');59promise_test(t => {60 const wss = new WebSocketStream(ECHOURL);61 wss.close();62 return Promise.all([63 promise_rejects_dom(t, 'NetworkError', wss.connection,64 'connection promise should reject'),65 promise_rejects_dom(t, 'NetworkError', wss.closed,66 'closed promise should reject')]);67}, 'close during handshake should work');68for (const invalidCode of [999, 1001, 2999, 5000]) {69 promise_test(async () => {70 const wss = new WebSocketStream(ECHOURL);71 await wss.connection;72 assert_throws_dom('InvalidAccessError', () => wss.close({ code: invalidCode }),73 'close should throw a TypeError');74 }, `close() with invalid code ${invalidCode} should throw`);75}76promise_test(async () => {77 const wss = new WebSocketStream(ECHOURL);78 const { writable } = await wss.connection;79 writable.getWriter().close();80 const { code, reason } = await wss.closed;81 assert_equals(code, 1005, 'code should be unset');82 assert_equals(reason, '', 'reason should be empty');83}, 'closing the writable should result in a clean close');84promise_test(async () => {85 const wss = new WebSocketStream(`${BASEURL}/delayed-passive-close`);86 const { writable } = await wss.connection;87 const startTime = performance.now();88 await writable.getWriter().close();89 const elapsed = performance.now() - startTime;90 const jitterAllowance = 100;91 assert_greater_than_equal(elapsed, 1000 - jitterAllowance,92 'one second should have elapsed');93}, 'writer close() promise should not resolve until handshake completes');94const abortOrCancel = [95 {96 method: 'abort',97 voweling: 'aborting',98 stream: 'writable',99 },100 {101 method: 'cancel',102 voweling: 'canceling',103 stream: 'readable',104 },105];106for (const { method, voweling, stream } of abortOrCancel) {107 promise_test(async () => {108 const wss = new WebSocketStream(ECHOURL);109 const info = await wss.connection;110 info[stream][method]();111 const { code, reason } = await wss.closed;112 assert_equals(code, 1005, 'code should be unset');113 assert_equals(reason, '', 'reason should be empty');114 }, `${voweling} the ${stream} should result in a clean close`);115 promise_test(async () => {116 const wss = new WebSocketStream(ECHOURL);117 const info = await wss.connection;118 info[stream][method]({ code: 3333 });119 const { code, reason } = await wss.closed;120 assert_equals(code, 3333, 'code should be used');121 assert_equals(reason, '', 'reason should be empty');122 }, `${voweling} the ${stream} with a code should send that code`);123 promise_test(async () => {124 const wss = new WebSocketStream(ECHOURL);125 const info = await wss.connection;126 info[stream][method]({ code: 3456, reason: 'set' });127 const { code, reason } = await wss.closed;128 assert_equals(code, 3456, 'code should be used');129 assert_equals(reason, 'set', 'reason should be used');130 }, `${voweling} the ${stream} with a code and reason should use them`);131 promise_test(async () => {132 const wss = new WebSocketStream(ECHOURL);133 const info = await wss.connection;134 info[stream][method]({ reason: 'specified' });135 const { code, reason } = await wss.closed;136 assert_equals(code, 1005, 'code should be unset');137 assert_equals(reason, '', 'reason should be empty');138 }, `${voweling} the ${stream} with a reason but no code should be ignored`);139 promise_test(async () => {140 const wss = new WebSocketStream(ECHOURL);141 const info = await wss.connection;142 info[stream][method]({ code: 999 });143 const { code, reason } = await wss.closed;144 assert_equals(code, 1005, 'code should be unset');145 assert_equals(reason, '', 'reason should be empty');146 }, `${voweling} the ${stream} with an invalid code should be ignored`);147 promise_test(async () => {148 const wss = new WebSocketStream(ECHOURL);149 const info = await wss.connection;150 info[stream][method]({ code: 1000, reason: 'x'.repeat(128) });151 const { code, reason } = await wss.closed;152 assert_equals(code, 1005, 'code should be unset');153 assert_equals(reason, '', 'reason should be empty');154 }, `${voweling} the ${stream} with an invalid reason should be ignored`);155 // DOMExceptions are only ignored because the |code| attribute is too small to156 // be a valid WebSocket close code.157 promise_test(async () => {158 const wss = new WebSocketStream(ECHOURL);159 const info = await wss.connection;160 info[stream][method](new DOMException('yes', 'DataCloneError'));161 const { code, reason } = await wss.closed;162 assert_equals(code, 1005, 'code should be unset');163 assert_equals(reason, '', 'reason should be empty');164 }, `${voweling} the ${stream} with a DOMException should be ignored`);...
Using AI Code Generation
1 console.log(data);2});3 console.log(data);4});5 console.log(data);6});7 console.log(data);8});
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) return console.error(err);4 console.log(data);5 wpt.getTestResults(data.data.testId, function(err, data) {6 if (err) return console.error(err);7 console.log(data);8 });9});10var wpt = require('webpagetest');11var wpt = new WebPageTest('www.webpagetest.org');12 if (err) return console.error(err);13 console.log(data);14 wpt.getTestResults(data.data.testId, function(err, data) {15 if (err) return console.error(err);16 console.log(data);17 });18});19var wpt = require('webpagetest');20var wpt = new WebPageTest('www.webpagetest.org');21 if (err) return console.error(err);22 console.log(data);23 wpt.getTestResults(data.data.testId, function(err, data) {24 if (err) return console.error(err);25 console.log(data);26 });27});
Using AI Code Generation
1var wpt = require('./wpt.js');2wpt.echoURL(url, function(err, data){3 if(err){4 console.log("Error: " + err);5 }6 else{7 console.log("Success: " + data);8 }9});10echoURL(url, callback)11getLocations(callback)12getTesters(callback)13getTestStatus(testID, callback)14getTestResults(testID, callback)15getTestResultsPageSpeed(testID, callback)16getTestResultsHar(testID, callback)17getTestResultsWaterfall(testID, callback)18getTestResultsScreenshots(testID, callback)19getTestResultsVideo(testID, callback)20getTestResultsPageImages(testID, callback)21getTestResultsPageElements(testID, callback)22getTestResultsRequests(testID, callback)23getTestResultsRequestsFull(testID, callback)24getTestResultsRequestsSummary(testID, callback)25getTestResultsRequestsDomain(testID, callback
Using AI Code Generation
1var wpt = require('wpt');2var echoURL = wpt.echoURL;3echoURL(url, function(err, res) {4 if (err) {5 console.log(err);6 } else {7 console.log(res);8 }9});10var wpt = require('wpt');11var echoURL = wpt.echoURL;12echoURL(url, function(err, res) {13 if (err) {14 console.log(err);15 } else {16 console.log(res);17 }18});19var wpt = require('wpt');20var echoURL = wpt.echoURL;21echoURL(url, function(err, res) {22 if (err) {23 console.log(err);24 } else {25 console.log(res);26 }27});28var wpt = require('wpt');29var echoURL = wpt.echoURL;30echoURL(url, function(err, res) {31 if (err) {32 console.log(err);33 } else {34 console.log(res);35 }36});37var wpt = require('wpt');38var echoURL = wpt.echoURL;39echoURL(url, function(err, res) {40 if (err) {41 console.log(err);42 } else {43 console.log(res);44 }45});46var wpt = require('wpt');47var echoURL = wpt.echoURL;48echoURL(url, function(err, res) {49 if (err) {50 console.log(err);51 } else {52 console.log(res);53 }54});55var wpt = require('wpt');56var echoURL = wpt.echoURL;
Using AI Code Generation
1var wpt = require('wpt.js');2var wptClient = new wpt('API_KEY');3 if (error) {4 console.log(error);5 } else {6 console.log(data);7 }8});9var wpt = require('wpt.js');10var wptClient = new wpt('API_KEY');11wptClient.getLocations(function (error, data) {12 if (error) {13 console.log(error);14 } else {15 console.log(data);16 }17});18var wpt = require('wpt.js');19var wptClient = new wpt('API_KEY');20wptClient.getTesters(function (error, data) {21 if (error) {22 console.log(error);23 } else {24 console.log(data);25 }26});27var wpt = require('wpt.js');28var wptClient = new wpt('API_KEY');29wptClient.getTest('testId', function (error, data) {30 if (error) {31 console.log(error);32 } else {33 console.log(data);34 }35});36var wpt = require('wpt.js');37var wptClient = new wpt('API_KEY');38wptClient.getTestStatus('testId', function (error, data) {39 if (error) {40 console.log(error);41 } else {42 console.log(data);43 }44});45var wpt = require('wpt.js');46var wptClient = new wpt('API_KEY');47wptClient.getTestResults('testId', function (error, data) {48 if (error) {49 console.log(error);50 } else {51 console.log(data);52 }53});54var wpt = require('wpt.js');55var wptClient = new wpt('API_KEY
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!