How to use size2 method in wpt

Best JavaScript code snippet using wpt

fontdata-extra.js

Source:fontdata-extra.js Github

copy

Full Screen

1/*************************************************************2 *3 * MathJax/jax/output/SVG/fonts/Asana-Math/fontdata-extra.js4 * 5 * Adds extra stretchy characters to the Asana-Math fonts6 * Copyright (c) 2013-2014 The MathJax Consortium7 *8 * Licensed under the Apache License, Version 2.0 (the "License");9 * you may not use this file except in compliance with the License.10 * You may obtain a copy of the License at11 *12 * http://www.apache.org/licenses/LICENSE-2.013 *14 * Unless required by applicable law or agreed to in writing, software15 * distributed under the License is distributed on an "AS IS" BASIS,16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.17 * See the License for the specific language governing permissions and18 * limitations under the License.19 */20(function (SVG) {21 var VERSION = "2.4.0";22 var DELIMITERS = SVG.FONTDATA.DELIMITERS;23 var H = "H", V = "V";24 var ALPHABETS = "AsanaMathJax_Alphabets",25 ARROWS = "AsanaMathJax_Arrows",26 DOUBLESTRUCK = "AsanaMathJax_DoubleStruck",27 FRAKTUR = "AsanaMathJax_Fraktur",28 LATIN = "AsanaMathJax_Latin",29 MAIN = "AsanaMathJax_Main",30 MARKS = "AsanaMathJax_Marks",31 MISC = "AsanaMathJax_Misc",32 MONOSPACE = "AsanaMathJax_Monospace",33 NONUNICODE = "AsanaMathJax_NonUnicode",34 NORMAL = "AsanaMathJax_Normal",35 OPERATORS = "AsanaMathJax_Operators",36 SANSSERIF = "AsanaMathJax_SansSerif",37 SCRIPT = "AsanaMathJax_Script",38 SHAPES = "AsanaMathJax_Shapes",39 SIZE1 = "AsanaMathJax_Size1",40 SIZE2 = "AsanaMathJax_Size2",41 SIZE3 = "AsanaMathJax_Size3",42 SIZE4 = "AsanaMathJax_Size4",43 SIZE5 = "AsanaMathJax_Size5",44 SIZE6 = "AsanaMathJax_Size6",45 SYMBOLS = "AsanaMathJax_Symbols",46 VARIANTS = "AsanaMathJax_Variants";47 var delim = {48 0x306:49 {50 dir: H,51 HW: [[282,MAIN], [384,SIZE1], [542,SIZE2], [922,SIZE3], [1762,SIZE4]]52 },53 0x333:54 {55 dir: H,56 HW: [[433,MARKS], [511,SIZE1], [675,SIZE2], [1127,SIZE3]],57 stretch: {rep:[0xE003,SIZE6], right:[0xE003,SIZE6]}58 },59 0x33F:60 {61 dir: H,62 HW: [[433,MARKS], [511,SIZE1], [675,SIZE2], [1127,SIZE3]],63 stretch: {rep:[0xE004,SIZE6], right:[0xE004,SIZE6]}64 },65 0x2045:66 {67 dir: V,68 HW: [[910,MARKS], [1344,SIZE1], [1862,SIZE2], [2328,SIZE3]],69 stretch: {bot:[0xE006,SIZE6], ext:[0xE007,SIZE6], mid:[0xE008,SIZE6], top:[0xE009,SIZE6]}70 },71 0x2046:72 {73 dir: V,74 HW: [[910,MARKS], [1344,SIZE1], [1862,SIZE2], [2328,SIZE3]],75 stretch: {bot:[0xE00A,SIZE6], ext:[0xE00B,SIZE6], mid:[0xE00C,SIZE6], top:[0xE00D,SIZE6]}76 },77 0x20D0:78 {79 dir: H,80 HW: [[558,MARKS]],81 stretch: {left:[0x20D0,MARKS], rep:[0xE00E,SIZE6]}82 },83 0x20D1:84 {85 dir: H,86 HW: [[558,MARKS]],87 stretch: {rep:[0xE00E,SIZE6], right:[0x20D1,MARKS]}88 },89 0x20D6:90 {91 dir: H,92 HW: [[558,MARKS], [807,SIZE1], [1127,SIZE2], [1878,SIZE3], [3579,SIZE4]],93 stretch: {left:[0x20D6,MARKS], rep:[0xE00E,SIZE6]}94 },95 0x20D7:96 {97 dir: H,98 HW: [[558,MAIN], [807,SIZE1], [1127,SIZE2], [1878,SIZE3], [3579,SIZE4]],99 stretch: {rep:[0xE00E,SIZE6], right:[0x20D7,MAIN]}100 },101 0x20E1:102 {103 dir: H,104 HW: [[557,MARKS]],105 stretch: {left:[0x20D6,MARKS], rep:[0xE00E,SIZE6], right:[0x20D7,MAIN]}106 },107 0x20E9:108 {109 dir: H,110 HW: [[630,MARKS]],111 stretch: {left:[0xE00F,SIZE6], rep:[0xE010,SIZE6], right:[0xE011,SIZE6]}112 },113 0x20EE:114 {115 dir: H,116 HW: [[557,MARKS]],117 stretch: {left:[0x20EE,MARKS], rep:[0xE012,SIZE6]}118 },119 0x20EF:120 {121 dir: H,122 HW: [[557,MARKS]],123 stretch: {rep:[0xE012,SIZE6], right:[0x20EF,MARKS]}124 },125 0x21A9:126 {127 dir: H,128 HW: [[884,MAIN]],129 stretch: {left:[0xE013,SIZE6], rep:[0x23AF,SYMBOLS], right:[0xE01A,SIZE6]}130 },131 0x21AA:132 {133 dir: H,134 HW: [[884,MAIN]],135 stretch: {left:[0xE01B,SIZE6], rep:[0x23AF,SYMBOLS], right:[0xE017,SIZE6]}136 },137 0x2210:138 {139 dir: V,140 HW: [[937,OPERATORS], [1349,SIZE1], [1942,SIZE2], [2797,SIZE3]]141 },142 0x2211:143 {144 dir: V,145 HW: [[930,OPERATORS], [1339,SIZE1], [1928,SIZE2], [2776,SIZE3]]146 },147 0x2229:148 {149 dir: V,150 HW: [[603,MAIN], [1559,SIZE1], [2245,SIZE2], [2588,SIZE3]]151 },152 0x222B:153 {154 dir: V,155 HW: [[1327,MAIN], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]],156 stretch: {bot:[0x2321,SYMBOLS], ext:[0x23AE,SYMBOLS], top:[0x2320,SYMBOLS]}157 },158 0x222C:159 {160 dir: V,161 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]162 },163 0x222D:164 {165 dir: V,166 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]167 },168 0x222E:169 {170 dir: V,171 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]172 },173 0x222F:174 {175 dir: V,176 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]177 },178 0x2230:179 {180 dir: V,181 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]182 },183 0x2231:184 {185 dir: V,186 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]187 },188 0x2232:189 {190 dir: V,191 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]192 },193 0x2233:194 {195 dir: V,196 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]197 },198 0x22C0:199 {200 dir: V,201 HW: [[939,OPERATORS], [1559,SIZE1], [2588,SIZE2]]202 },203 0x22C1:204 {205 dir: V,206 HW: [[939,OPERATORS], [1559,SIZE1], [2588,SIZE2]]207 },208 0x22C2:209 {210 dir: V,211 HW: [[939,OPERATORS], [1559,SIZE1], [2588,SIZE2]]212 },213 0x22C3:214 {215 dir: V,216 HW: [[939,OPERATORS], [1559,SIZE1], [2245,SIZE2], [2588,SIZE3]]217 },218 0x23B4:219 {220 dir: H,221 HW: [[602,MAIN], [978,SIZE1], [1353,SIZE2], [1690,SIZE3]],222 stretch: {left:[0xE00F,SIZE6], rep:[0xE010,SIZE6], right:[0xE011,SIZE6]}223 },224 0x23B5:225 {226 dir: H,227 HW: [[602,MAIN], [978,SIZE1], [1353,SIZE2], [1690,SIZE3]],228 stretch: {left:[0xE023,SIZE6], rep:[0xE024,SIZE6], right:[0xE025,SIZE6]}229 },230 0x23DC:231 {232 dir: H,233 HW: [[942,MAIN], [973,SIZE1], [1349,SIZE2], [1686,SIZE3]],234 stretch: {left:[0xE026,SIZE6], rep:[0xE027,SIZE6], right:[0xE028,SIZE6]}235 },236 0x23DD:237 {238 dir: H,239 HW: [[942,MAIN], [973,SIZE1], [1349,SIZE2], [1686,SIZE3]],240 stretch: {left:[0xE029,SIZE6], rep:[0xE02A,SIZE6], right:[0xE02B,SIZE6]}241 },242 0x23E0:243 {244 dir: H,245 HW: [[900,MAIN], [1360,SIZE1], [2056,SIZE2], [3108,SIZE3]]246 },247 0x23E1:248 {249 dir: H,250 HW: [[900,MAIN], [1360,SIZE1], [2056,SIZE2], [3108,SIZE3]]251 },252 0x27E6:253 {254 dir: V,255 HW: [[910,SYMBOLS], [1025,SIZE1], [1535,SIZE2], [2045,SIZE3], [2556,SIZE4]]256 },257 0x27E7:258 {259 dir: V,260 HW: [[910,SYMBOLS], [1025,SIZE1], [1535,SIZE2], [2045,SIZE3], [2556,SIZE4]]261 },262 0x27EA:263 {264 dir: V,265 HW: [[885,SYMBOLS], [1020,SIZE1], [2041,SIZE2], [2552,SIZE3]]266 },267 0x27EB:268 {269 dir: V,270 HW: [[885,SYMBOLS], [1020,SIZE1], [2041,SIZE2], [2552,SIZE3]]271 },272 0x29FC:273 {274 dir: V,275 HW: [[953,SYMBOLS], [1372,SIZE1], [1893,SIZE2], [2366,SIZE3]]276 },277 0x29FD:278 {279 dir: V,280 HW: [[953,SYMBOLS], [1372,SIZE1], [1893,SIZE2], [2366,SIZE3]]281 },282 0x2A00:283 {284 dir: V,285 HW: [[1146,OPERATORS], [1650,SIZE1], [2376,SIZE2]]286 },287 0x2A01:288 {289 dir: V,290 HW: [[1149,OPERATORS], [1650,SIZE1], [2376,SIZE2]]291 },292 0x2A02:293 {294 dir: V,295 HW: [[1149,OPERATORS], [1650,SIZE1], [2376,SIZE2]]296 },297 0x2A03:298 {299 dir: V,300 HW: [[939,OPERATORS], [1559,SIZE1], [2588,SIZE2]]301 },302 0x2A04:303 {304 dir: V,305 HW: [[939,OPERATORS], [1559,SIZE1], [2588,SIZE2]]306 },307 0x2A05:308 {309 dir: V,310 HW: [[926,OPERATORS], [1537,SIZE1], [2552,SIZE2]]311 },312 0x2A06:313 {314 dir: V,315 HW: [[926,OPERATORS], [1537,SIZE1], [2552,SIZE2]]316 },317 0x2A07:318 {319 dir: V,320 HW: [[939,OPERATORS], [1559,SIZE1], [2588,SIZE2]]321 },322 0x2A08:323 {324 dir: V,325 HW: [[939,OPERATORS], [1559,SIZE1], [2588,SIZE2]]326 },327 0x2A09:328 {329 dir: V,330 HW: [[926,OPERATORS], [1333,SIZE1], [1920,SIZE2]]331 },332 0x2A0C:333 {334 dir: V,335 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]336 },337 0x2A0D:338 {339 dir: V,340 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]341 },342 0x2A0E:343 {344 dir: V,345 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]346 },347 0x2A0F:348 {349 dir: V,350 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]351 },352 0x2A10:353 {354 dir: V,355 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]356 },357 0x2A11:358 {359 dir: V,360 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]361 },362 0x2A12:363 {364 dir: V,365 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]366 },367 0x2A13:368 {369 dir: V,370 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]371 },372 0x2A14:373 {374 dir: V,375 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]376 },377 0x2A15:378 {379 dir: V,380 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]381 },382 0x2A16:383 {384 dir: V,385 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]386 },387 0x2A17:388 {389 dir: V,390 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]391 },392 0x2A18:393 {394 dir: V,395 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]396 },397 0x2A19:398 {399 dir: V,400 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]401 },402 0x2A1A:403 {404 dir: V,405 HW: [[1327,OPERATORS], [1964,SIZE1], [2711,SIZE2], [3470,SIZE3]]406 },407 0x2A1B:408 {409 dir: V,410 HW: [[1436,OPERATORS], [2125,SIZE1], [2933,SIZE2], [3754,SIZE3]]411 },412 0x2A1C:413 {414 dir: V,415 HW: [[1436,OPERATORS], [2125,SIZE1], [2933,SIZE2], [3754,SIZE3]]416 }417 };418 419 for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}};420 MathJax.Ajax.loadComplete(SVG.fontDir + "/fontdata-extra.js");...

Full Screen

Full Screen

colorwheel.js

Source:colorwheel.js Github

copy

Full Screen

1(function (Raphael) {2 Raphael.colorwheel = function (x, y, size, initcolor, element) {3 return new ColorWheel(x, y, size, initcolor, element);4 };5 var pi = Math.PI,6 doc = document,7 win = window,8 ColorWheel = function (x, y, size, initcolor, element) {9 size = size || 200;10 var w3 = 3 * size / 200,11 w1 = size / 200,12 fi = 1.6180339887,13 segments = pi * size / 5,14 size20 = size / 20,15 size2 = size / 2,16 padding = 2 * size / 200,17 t = this;18 var H = 1, S = 1, B = 1, s = size - (size20 * 4);19 var r = element ? Raphael(element, size, size) : Raphael(x, y, size, size),20 xy = s / 6 + size20 * 2 + padding,21 wh = s * 2 / 3 - padding * 2;22 w1 < 1 && (w1 = 1);23 w3 < 1 && (w3 = 1);24 // ring drawing25 var a = pi / 2 - pi * 2 / segments * 1.3,26 R = size2 - padding,27 R2 = size2 - padding - size20 * 2,28 path = ["M", size2, padding, "A", R, R, 0, 0, 1, R * Math.cos(a) + R + padding, R - R * Math.sin(a) + padding, "L", R2 * Math.cos(a) + R + padding, R - R2 * Math.sin(a) + padding, "A", R2, R2, 0, 0, 0, size2, padding + size20 * 2, "z"].join();29 for (var i = 0; i < segments; i++) {30 r.path(path).attr({31 stroke: "none",32 fill: "hsb(" + i * (255 / segments) / 255 + ", 1, 0.78)",33 transform: "r" + [(360 / segments) * i, size2, size2]34 });35 }36 r.path(["M", size2, padding, "A", R, R, 0, 1, 1, size2 - 1, padding, "l1,0", "M", size2, padding + size20 * 2, "A", R2, R2, 0, 1, 1, size2 - 1, padding + size20 * 2, "l1,0"]).attr({37 "stroke-width": w3,38 stroke: "#fff"39 });40 t.cursorhsb = r.set();41 var h = size20 * 2 + 2;42 t.cursorhsb.push(r.rect(size2 - h / fi / 2, padding - 1, h / fi, h, 3 * size / 200).attr({43 stroke: "#000",44 opacity: .5,45 "stroke-width": w346 }));47 t.cursorhsb.push(t.cursorhsb[0].clone().attr({48 stroke: "#fff",49 opacity: 1,50 "stroke-width": w151 }));52 t.ring = r.path(["M", size2, padding, "A", R, R, 0, 1, 1, size2 - 1, padding, "l1,0M", size2, padding + size20 * 2, "A", R2, R2, 0, 1, 1, size2 - 1, padding + size20 * 2, "l1,0"]).attr({53 fill: "#000",54 opacity: 0,55 stroke: "none"56 });57 // rect drawing58 t.main = r.rect(xy, xy, wh, wh).attr({59 stroke: "none",60 fill: "#f00",61 opacity: 162 });63 t.main.clone().attr({64 stroke: "none",65 fill: "0-#fff-#fff",66 opacity: 067 });68 t.square = r.rect(xy - 1, xy - 1, wh + 2, wh + 2).attr({69 r: 2,70 stroke: "#fff",71 "stroke-width": w3,72 fill: "90-#000-#000",73 opacity: 0,74 cursor: "crosshair"75 });76 t.cursor = r.set();77 t.cursor.push(r.circle(size2, size2, size20 / 2).attr({78 stroke: "#000",79 opacity: .5,80 "stroke-width": w381 }));82 t.cursor.push(t.cursor[0].clone().attr({83 stroke: "#fff",84 opacity: 1,85 "stroke-width": w186 }));87 t.H = t.S = t.B = 1;88 t.raphael = r;89 t.size2 = size2;90 t.wh = wh;91 t.x = x;92 t.xy = xy;93 t.y = y;94 // events95 t.ring.drag(function (dx, dy, x, y) {96 t.docOnMove(dx, dy, x, y);97 }, function (x, y) {98 t.hsbOnTheMove = true;99 t.setH(x - t.x - t.size2, y - t.y - t.size2);100 }, function () {101 t.hsbOnTheMove = false;102 });103 t.square.drag(function (dx, dy, x, y) {104 t.docOnMove(dx, dy, x, y);105 }, function (x, y) {106 t.clrOnTheMove = true;107 t.setSB(x - t.x, y - t.y);108 }, function () {109 t.clrOnTheMove = false;110 });111 t.color(initcolor || "#f00");112 this.onchanged && this.onchanged(this.color());113 },114 proto = ColorWheel.prototype;115 proto.setH = function (x, y) {116 var d = Raphael.angle(x, y, 0, 0),117 rd = Raphael.rad(d);118 this.cursorhsb.attr({transform: "r" + [d + 90, this.size2, this.size2]});119 this.H = (d + 90) / 360;120 this.main.attr({fill: "hsb(" + this.H + ",1,1)"});121 this.onchange && this.onchange(this.color());122 };123 proto.setSB = function (x, y) {124 var me = this;125 x < me.size2 - me.wh / 2 && (x = me.size2 - me.wh / 2);126 x > me.size2 + me.wh / 2 && (x = me.size2 + me.wh / 2);127 y < me.size2 - me.wh / 2 && (y = me.size2 - me.wh / 2);128 y > me.size2 + me.wh / 2 && (y = me.size2 + me.wh / 2);129 me.cursor.attr({cx: x, cy: y});130 me.B = 1 - (y - me.xy) / me.wh;131 me.S = (x - me.xy) / me.wh;132 me.onchange && me.onchange(me.color());133 };134 proto.docOnMove = function (dx, dy, x, y) {135 if (this.hsbOnTheMove) {136 this.setH(x - this.x - this.size2, y - this.y - this.size2);137 }138 if (this.clrOnTheMove) {139 this.setSB(x - this.x, y - this.y);140 }141 };142 proto.remove = function () {143 this.raphael.remove();144 this.color = function () {145 return false;146 };147 };148 proto.color = function (color) {149 if (color) {150 color = Raphael.color(color);151 var d = color.h * 360;152 this.H = color.h;153 this.S = color.s;154 this.B = color.v;155 this.cursorhsb.attr({transform: "r" + [d, this.size2, this.size2]});156 this.main.attr({fill: "hsb(" + this.H + ",1,1)"});157 var x = this.S * this.wh + this.xy,158 y = (1 - this.B) * this.wh + this.xy;159 this.cursor.attr({cx: x, cy: y});160 return this;161 } else {162 return Raphael.hsb2rgb(this.H, this.S, this.B).hex;163 }164 };...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) return console.log(err);4 wpt.getTestStatus(data.data.testId, function(err, data) {5 if (err) return console.log(err);6 console.log(data.data.testId);7 });8});

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('wpt');2 if (err) {3 console.log(err);4 } else {5 console.log(data);6 }7});8### size2(url, callback)9var wpt = require('wpt');10 if (err) {11 console.log(err);12 } else {13 console.log(data);14 }15});16### screenshot(url, callback)17var wpt = require('wpt');18 if (err) {19 console.log(err);20 } else {21 console.log(data);22 }23});24### screenshot(url, options, callback)25var wpt = require('wpt');

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('webpagetest');2var test = wpt('www.webpagetest.org');3}, function(err, data) {4 if (err) return console.error(err);5 console.log(data);6 test.getTestResults(data.data.testId, function(err, data) {7 if (err) return console.error(err);8 console.log(data);9 test.getTestStatus(data.data.testId, function(err, data) {10 if (err) return console.error(err);11 console.log(data);12 });13 });14});

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3wpt.runTest(url, {location: 'Dulles:Chrome'}, function(err, data) {4 if (err) return console.error(err);5 console.log('Test status: ' + data.statusText);6 if (data.statusCode == 200) {7 console.log('Test completed in ' + data.data.average.firstView.loadTime + 'ms');8 }9});

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('wpt');2var options = {3};4wpt.size2(options, function(err, data) {5 if (err) {6 console.log(err);7 } else {8 console.log(data);9 }10});11### wpt(options, callback)

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run wpt automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful