Best JavaScript code snippet using webdriverio-monorepo
log.js
Source:log.js
1[{2 "name": "Scene",3 "x": 568,4 "y": 320,5 "zOrder": "0|0|0",6 "width": 1136,7 "height": 640,8 "scale": 1,9 "opacity": 255,10 "visible": true,11 "anchorX": 0.5,12 "anchorY": 0.5,13 "string": "",14 "className": "",15 "id": "",16 "isClickable": false17}, {18 "name": "image_Full",19 "x": 568,20 "y": 320,21 "zOrder": "0|0|0|0",22 "width": 1136,23 "height": 640,24 "scale": 1,25 "opacity": 255,26 "visible": true,27 "anchorX": 0.5,28 "anchorY": 0.5,29 "string": "",30 "className": "",31 "id": "",32 "isClickable": false33}, {34 "name": "",35 "x": 0,36 "y": 0,37 "zOrder": "0|0|0|0|0",38 "width": 1136,39 "height": 640,40 "scale": 1,41 "opacity": 127,42 "visible": true,43 "anchorX": 0,44 "anchorY": 0,45 "string": "",46 "className": "",47 "id": "",48 "isClickable": false49}, {50 "name": "image_Bgr",51 "x": 568,52 "y": 320,53 "zOrder": "0|0|0|0",54 "width": 1136,55 "height": 640,56 "scale": 1,57 "opacity": 255,58 "visible": true,59 "anchorX": 0.5,60 "anchorY": 0.5,61 "string": "",62 "className": "",63 "id": "",64 "isClickable": false65}, {66 "name": "btn_Face",67 "x": 875.219970703125,68 "y": 330.6499938964844,69 "zOrder": "0|0|0|0|0",70 "width": 276,71 "height": 100,72 "scale": 1,73 "opacity": 255,74 "visible": true,75 "anchorX": 0.5,76 "anchorY": 0.5,77 "string": "",78 "className": "",79 "id": "",80 "isClickable": true81}, {82 "name": "Image_1",83 "x": 790.219970703125,84 "y": 338.6499938964844,85 "zOrder": "0|0|0|0|0|0",86 "width": 53,87 "height": 52,88 "scale": 1,89 "opacity": 255,90 "visible": true,91 "anchorX": 0.5,92 "anchorY": 0.5,93 "string": "",94 "className": "",95 "id": "",96 "isClickable": false97}, {98 "name": "label_Face",99 "x": 907.7879638671875,100 "y": 338.6499938964844,101 "zOrder": "0|0|0|0|0|0",102 "width": 200,103 "height": 66,104 "scale": 1,105 "opacity": 255,106 "visible": true,107 "anchorX": 0.5,108 "anchorY": 0.5,109 "string": "Facebook",110 "className": "",111 "id": "",112 "isClickable": false113}, {114 "name": "btn_Google",115 "x": 563.7999877929688,116 "y": 330.6499938964844,117 "zOrder": "0|0|0|0|0",118 "width": 276,119 "height": 100,120 "scale": 1,121 "opacity": 255,122 "visible": true,123 "anchorX": 0.5,124 "anchorY": 0.5,125 "string": "",126 "className": "",127 "id": "",128 "isClickable": true129}, {130 "name": "Image_1",131 "x": 478.79998779296875,132 "y": 338.6499938964844,133 "zOrder": "0|0|0|0|0|0",134 "width": 53,135 "height": 52,136 "scale": 1,137 "opacity": 255,138 "visible": true,139 "anchorX": 0.5,140 "anchorY": 0.5,141 "string": "",142 "className": "",143 "id": "",144 "isClickable": false145}, {146 "name": "label_Google",147 "x": 586.8673095703125,148 "y": 338.6499938964844,149 "zOrder": "0|0|0|0|0|0",150 "width": 200,151 "height": 66,152 "scale": 1,153 "opacity": 255,154 "visible": true,155 "anchorX": 0.5,156 "anchorY": 0.5,157 "string": "Google",158 "className": "",159 "id": "",160 "isClickable": false161}, {162 "name": "btn_Zing",163 "x": 252.3699951171875,164 "y": 330.6499938964844,165 "zOrder": "0|0|0|0|0",166 "width": 276,167 "height": 100,168 "scale": 1,169 "opacity": 255,170 "visible": true,171 "anchorX": 0.5,172 "anchorY": 0.5,173 "string": "",174 "className": "",175 "id": "",176 "isClickable": true177}, {178 "name": "Image_1",179 "x": 167.3699951171875,180 "y": 338.6499938964844,181 "zOrder": "0|0|0|0|0|0",182 "width": 52,183 "height": 52,184 "scale": 1,185 "opacity": 255,186 "visible": true,187 "anchorX": 0.5,188 "anchorY": 0.5,189 "string": "",190 "className": "",191 "id": "",192 "isClickable": false193}, {194 "name": "label_Zing",195 "x": 280.52197265625,196 "y": 338.6499938964844,197 "zOrder": "0|0|0|0|0|0",198 "width": 200,199 "height": 66,200 "scale": 1,201 "opacity": 255,202 "visible": true,203 "anchorX": 0.5,204 "anchorY": 0.5,205 "string": "ZID",206 "className": "",207 "id": "",208 "isClickable": false209}, {210 "name": "label_Des",211 "x": 568,212 "y": 474.035888671875,213 "zOrder": "0|0|0|0|0",214 "width": 500,215 "height": 90,216 "scale": 1,217 "opacity": 255,218 "visible": true,219 "anchorX": 0.5,220 "anchorY": 0.5,221 "string": "Chose login method:",222 "className": "",223 "id": "",224 "isClickable": false225}, {226 "name": "btn_Reg",227 "x": 739.9904174804688,228 "y": 58.68009948730469,229 "zOrder": "0|0|0|0|0",230 "width": 156,231 "height": 68,232 "scale": 1,233 "opacity": 255,234 "visible": true,235 "anchorX": 0.5,236 "anchorY": 0.5,237 "string": "",238 "className": "",239 "id": "",240 "isClickable": true241}, {242 "name": "label_BtnRegTitle",243 "x": 742.3304443359375,244 "y": 64.70489501953125,245 "zOrder": "0|0|0|0|0|0",246 "width": 400,247 "height": 50,248 "scale": 1,249 "opacity": 255,250 "visible": true,251 "anchorX": 0.5,252 "anchorY": 0.5,253 "string": "REGISTER",254 "className": "",255 "id": "",256 "isClickable": false257}, {258 "name": "label_Reg",259 "x": 427.476806640625,260 "y": 48.785499572753906,261 "zOrder": "0|0|0|0|0",262 "width": 400,263 "height": 50,264 "scale": 1,265 "opacity": 255,266 "visible": true,267 "anchorX": 0.5,268 "anchorY": 0.5,269 "string": "You don't have account yet?",270 "className": "",271 "id": "",272 "isClickable": false273}, {274 "name": "image_Top",275 "x": 148.39968872070312,276 "y": 591.5811767578125,277 "zOrder": "0|0|0|0",278 "width": 46,279 "height": 46,280 "scale": 1,281 "opacity": 255,282 "visible": true,283 "anchorX": 0.5,284 "anchorY": 0.5,285 "string": "",286 "className": "",287 "id": "",288 "isClickable": false289}, {290 "name": "label_Title",291 "x": 141.86769104003906,292 "y": 585.4798583984375,293 "zOrder": "0|0|0|0|0",294 "width": 290,295 "height": 60,296 "scale": 1,297 "opacity": 255,298 "visible": true,299 "anchorX": 0.5,300 "anchorY": 0.5,301 "string": "",302 "className": "",303 "id": "",304 "isClickable": false305}, {306 "name": "",307 "x": 0,308 "y": 0,309 "zOrder": "0|0|0",310 "width": 1136,311 "height": 640,312 "scale": 1,313 "opacity": 255,314 "visible": true,315 "anchorX": 0.5,316 "anchorY": 0.5,317 "string": "",318 "className": "BaseScreen",319 "id": "",320 "isClickable": false321}, {322 "name": "Scene",323 "x": 568,324 "y": 320,325 "zOrder": "0|0|0|0",326 "width": 1136,327 "height": 640,328 "scale": 1,329 "opacity": 255,330 "visible": true,331 "anchorX": 0.5,332 "anchorY": 0.5,333 "string": "",334 "className": "",335 "id": "",336 "isClickable": false337}, {338 "name": "image_FullBgr",339 "x": 568,340 "y": 320,341 "zOrder": "0|0|0|0|0",342 "width": 1136,343 "height": 640,344 "scale": 1,345 "opacity": 255,346 "visible": true,347 "anchorX": 0.5,348 "anchorY": 0.5,349 "string": "",350 "className": "",351 "id": "",352 "isClickable": false353}, {354 "name": "btn_Bgr",355 "x": 568,356 "y": 320,357 "zOrder": "0|0|0|0|0",358 "width": 1136,359 "height": 640,360 "scale": 1,361 "opacity": 255,362 "visible": true,363 "anchorX": 0.5,364 "anchorY": 0.5,365 "string": "",366 "className": "",367 "id": "",368 "isClickable": true369}, {370 "name": "image_Bg2",371 "x": 568,372 "y": 320,373 "zOrder": "0|0|0|0|0",374 "width": 1136,375 "height": 640,376 "scale": 1,377 "opacity": 255,378 "visible": true,379 "anchorX": 0.5,380 "anchorY": 0.5,381 "string": "",382 "className": "",383 "id": "",384 "isClickable": false385}, {386 "name": "",387 "x": 0,388 "y": 0,389 "zOrder": "0|0|0|0|0|0",390 "width": 1136,391 "height": 640,392 "scale": 1,393 "opacity": 102,394 "visible": true,395 "anchorX": 0,396 "anchorY": 0,397 "string": "",398 "className": "",399 "id": "",400 "isClickable": false401}, {402 "name": "image_Bg",403 "x": 568,404 "y": 320,405 "zOrder": "0|0|0|0|0",406 "width": 1136,407 "height": 640,408 "scale": 1,409 "opacity": 255,410 "visible": true,411 "anchorX": 0.5,412 "anchorY": 0.5,413 "string": "",414 "className": "",415 "id": "",416 "isClickable": false417}, {418 "name": "image_LoginArea",419 "x": 780.3184204101562,420 "y": 312,421 "zOrder": "0|0|0|0|0|0",422 "width": 429,423 "height": 529,424 "scale": 1,425 "opacity": 255,426 "visible": true,427 "anchorX": 0.5,428 "anchorY": 0.5,429 "string": "",430 "className": "",431 "id": "",432 "isClickable": false433}, {434 "name": "image_Logo",435 "x": 779.3317260742188,436 "y": 532.734619140625,437 "zOrder": "0|0|0|0|0|0|0",438 "width": 165,439 "height": 175,440 "scale": 1,441 "opacity": 255,442 "visible": false,443 "anchorX": 0.5,444 "anchorY": 0.5,445 "string": "",446 "className": "",447 "id": "",448 "isClickable": false449}, {450 "name": "login_title_or_1",451 "x": 784.30810546875,452 "y": 146.11720275878906,453 "zOrder": "0|0|0|0|0|0|0",454 "width": 441,455 "height": 20,456 "scale": 1,457 "opacity": 255,458 "visible": true,459 "anchorX": 0.5,460 "anchorY": 0.5,461 "string": "",462 "className": "",463 "id": "",464 "isClickable": false465}, {466 "name": "btn_Face",467 "x": 780.3184204101562,468 "y": 226.93679809570312,469 "zOrder": "0|0|0|0|0|0|0",470 "width": 489,471 "height": 98,472 "scale": 1,473 "opacity": 255,474 "visible": true,475 "anchorX": 0.5,476 "anchorY": 0.5,477 "string": "",478 "className": "",479 "id": "",480 "isClickable": true481}, {482 "name": "btn_Face2",483 "x": 770.6740112304688,484 "y": 340.7005920410156,485 "zOrder": "0|0|0|0|0|0|0|0",486 "width": 220,487 "height": 130,488 "scale": 1,489 "opacity": 255,490 "visible": true,491 "anchorX": 0.5,492 "anchorY": 0.5,493 "string": "",494 "className": "",495 "id": "",496 "isClickable": true497}, {498 "name": "label_Face",499 "x": 824.6707153320312,500 "y": 234.21820068359375,501 "zOrder": "0|0|0|0|0|0|0|0",502 "width": 350,503 "height": 66,504 "scale": 1,505 "opacity": 255,506 "visible": true,507 "anchorX": 0.5,508 "anchorY": 0.5,509 "string": "Login with Facebook",510 "className": "",511 "id": "",512 "isClickable": false513}, {514 "name": "common_gold_3",515 "x": 780.3184204101562,516 "y": 357.989013671875,517 "zOrder": "0|0|0|0|0|0|0|0",518 "width": 265,519 "height": 104,520 "scale": 1,521 "opacity": 255,522 "visible": true,523 "anchorX": 0.5,524 "anchorY": 0.5,525 "string": "",526 "className": "",527 "id": "",528 "isClickable": false529}, {530 "name": "label_BonusFace",531 "x": 774.3037109375,532 "y": 305.6322937011719,533 "zOrder": "0|0|0|0|0|0|0|0",534 "width": 390,535 "height": 82,536 "scale": 0.5,537 "opacity": 255,538 "visible": true,539 "anchorX": 0.5,540 "anchorY": 0.5,541 "string": "+100,000",542 "className": "",543 "id": "",544 "isClickable": false545}, {546 "name": "btn_ZID",547 "x": 892.8450927734375,548 "y": 81,549 "zOrder": "0|0|0|0|0|0|0",550 "width": 204,551 "height": 75,552 "scale": 1,553 "opacity": 255,554 "visible": true,555 "anchorX": 0.5,556 "anchorY": 0.5,557 "string": "",558 "className": "",559 "id": "",560 "isClickable": true561}, {562 "name": "label_ZID",563 "x": 911.8782958984375,564 "y": 88.30500030517578,565 "zOrder": "0|0|0|0|0|0|0|0",566 "width": 120,567 "height": 66,568 "scale": 1,569 "opacity": 255,570 "visible": true,571 "anchorX": 0.5,572 "anchorY": 0.5,573 "string": "Zing ID",574 "className": "",575 "id": "",576 "isClickable": false577}, {578 "name": "btn_Google",579 "x": 680.4472045898438,580 "y": 81,581 "zOrder": "0|0|0|0|0|0|0",582 "width": 211,583 "height": 75,584 "scale": 1,585 "opacity": 255,586 "visible": true,587 "anchorX": 0.5,588 "anchorY": 0.5,589 "string": "",590 "className": "",591 "id": "",592 "isClickable": true593}, {594 "name": "label_Google",595 "x": 706.1259155273438,596 "y": 88.30500030517578,597 "zOrder": "0|0|0|0|0|0|0|0",598 "width": 168.8000030517578,599 "height": 45,600 "scale": 1,601 "opacity": 255,602 "visible": true,603 "anchorX": 0.5,604 "anchorY": 0.5,605 "string": "Google",606 "className": "",607 "id": "",608 "isClickable": false609}, {610 "name": "btn_Guest",611 "x": 1342.093994140625,612 "y": -76.28599548339844,613 "zOrder": "0|0|0|0|0|0|0",614 "width": 204,615 "height": 73,616 "scale": 1,617 "opacity": 255,618 "visible": true,619 "anchorX": 0.5,620 "anchorY": 0.5,621 "string": "",622 "className": "",623 "id": "",624 "isClickable": true625}, {626 "name": "label_Guest",627 "x": 1362.0859375,628 "y": -71.17599487304688,629 "zOrder": "0|0|0|0|0|0|0|0",630 "width": 163.1999969482422,631 "height": 43.80000305175781,632 "scale": 1,633 "opacity": 255,634 "visible": true,635 "anchorX": 0.5,636 "anchorY": 0.5,637 "string": "Guest",638 "className": "",639 "id": "",640 "isClickable": false641}, {642 "name": "",643 "x": 769.3317260742188,644 "y": 554.734619140625,645 "zOrder": "0|0|0|0|0|0|0",646 "width": 0,647 "height": 0,648 "scale": 1,649 "opacity": 255,650 "visible": true,651 "anchorX": 0,652 "anchorY": 0,653 "string": "",654 "className": "",655 "id": "",656 "isClickable": false657}, {658 "name": "sprite_ShadowNPC",659 "x": 276.84320068359375,660 "y": 285.8439025878906,661 "zOrder": "0|0|0|0|0|0",662 "width": 46,663 "height": 46,664 "scale": 1,665 "opacity": 255,666 "visible": true,667 "anchorX": 0.5,668 "anchorY": 0.5,669 "string": "",670 "className": "",671 "id": "",672 "isClickable": false673}, {674 "name": "",675 "x": 253.84320068359375,676 "y": -2.156097412109375,677 "zOrder": "0|0|0|0|0|0|0",678 "width": 0,679 "height": 0,680 "scale": 1,681 "opacity": 255,682 "visible": true,683 "anchorX": 0,684 "anchorY": 0,685 "string": "",686 "className": "",687 "id": "",688 "isClickable": false689}, {690 "name": "",691 "x": 568,692 "y": 320,693 "zOrder": "1|0|0|0|0",694 "width": 0,695 "height": 0,696 "scale": 1,697 "opacity": 128,698 "visible": true,699 "anchorX": 0,700 "anchorY": 0,701 "string": "",702 "className": "",703 "id": "",704 "isClickable": false705}, {706 "name": "",707 "x": 0,708 "y": 0,709 "zOrder": "2|0|0",710 "width": 1136,711 "height": 640,712 "scale": 1,713 "opacity": 255,714 "visible": true,715 "anchorX": 0.5,716 "anchorY": 0.5,717 "string": "",718 "className": "BaseScreen",719 "id": "",720 "isClickable": false721}, {722 "name": "",723 "x": 0,724 "y": 0,725 "zOrder": "-10|2|0|0",726 "width": 1136,727 "height": 640,728 "scale": 1,729 "opacity": 178,730 "visible": true,731 "anchorX": 0,732 "anchorY": 0,733 "string": "",734 "className": "",735 "id": "",736 "isClickable": false737}, {738 "name": "Scene",739 "x": 568,740 "y": 320,741 "zOrder": "0|2|0|0",742 "width": 1136,743 "height": 640,744 "scale": 1,745 "opacity": 255,746 "visible": true,747 "anchorX": 0.5,748 "anchorY": 0.5,749 "string": "",750 "className": "",751 "id": "",752 "isClickable": false753}, {754 "name": "image_Full",755 "x": 568,756 "y": 320,757 "zOrder": "0|0|2|0|0",758 "width": 1136,759 "height": 640,760 "scale": 1,761 "opacity": 255,762 "visible": true,763 "anchorX": 0.5,764 "anchorY": 0.5,765 "string": "",766 "className": "",767 "id": "",768 "isClickable": false769}, {770 "name": "",771 "x": 0,772 "y": 0,773 "zOrder": "0|0|0|2|0|0",774 "width": 1136,775 "height": 640,776 "scale": 1,777 "opacity": 127,778 "visible": true,779 "anchorX": 0,780 "anchorY": 0,781 "string": "",782 "className": "",783 "id": "",784 "isClickable": false785}, {786 "name": "image_Bgr",787 "x": 568,788 "y": 320,789 "zOrder": "0|0|2|0|0",790 "width": 1136,791 "height": 640,792 "scale": 1,793 "opacity": 255,794 "visible": true,795 "anchorX": 0.5,796 "anchorY": 0.5,797 "string": "",798 "className": "",799 "id": "",800 "isClickable": false801}, {802 "name": "btn_Ok",803 "x": 584.0176391601562,804 "y": 210.5699005126953,805 "zOrder": "0|0|0|2|0|0",806 "width": 276,807 "height": 100,808 "scale": 1,809 "opacity": 255,810 "visible": true,811 "anchorX": 0.5,812 "anchorY": 0.5,813 "string": "",814 "className": "",815 "id": "",816 "isClickable": true817}, {818 "name": "label_TextBtnLogin",819 "x": 586.7776489257812,820 "y": 218.17990112304688,821 "zOrder": "0|0|0|0|2|0|0",822 "width": 400,823 "height": 60,824 "scale": 1,825 "opacity": 255,826 "visible": true,827 "anchorX": 0.5,828 "anchorY": 0.5,829 "string": "Login",830 "className": "",831 "id": "",832 "isClickable": false833}, {834 "name": "sprite_Name",835 "x": 693.3416137695312,836 "y": 408.26458740234375,837 "zOrder": "0|0|0|2|0|0",838 "width": 371,839 "height": 47,840 "scale": 1,841 "opacity": 255,842 "visible": true,843 "anchorX": 0.5,844 "anchorY": 0.5,845 "string": "",846 "className": "",847 "id": "",848 "isClickable": false849}, {850 "name": "sprite_Pass",851 "x": 693.3416137695312,852 "y": 329.9237060546875,853 "zOrder": "0|0|0|2|0|0",854 "width": 371,855 "height": 47,856 "scale": 1,857 "opacity": 255,858 "visible": true,859 "anchorX": 0.5,860 "anchorY": 0.5,861 "string": "",862 "className": "",863 "id": "",864 "isClickable": false865}, {866 "name": "label_Acc",867 "x": 343.68548583984375,868 "y": 408.2047119140625,869 "zOrder": "0|0|0|2|0|0",870 "width": 300,871 "height": 38,872 "scale": 1,873 "opacity": 255,874 "visible": true,875 "anchorX": 0.5,876 "anchorY": 0.5,877 "string": "Account:",878 "className": "",879 "id": "",880 "isClickable": false881}, {882 "name": "label_Pass",883 "x": 346.685791015625,884 "y": 332.4512023925781,885 "zOrder": "0|0|0|2|0|0",886 "width": 300,887 "height": 38,888 "scale": 1,889 "opacity": 255,890 "visible": true,891 "anchorX": 0.5,892 "anchorY": 0.5,893 "string": "Password:",894 "className": "",895 "id": "",896 "isClickable": false897}, {898 "name": "",899 "x": 693.3416137695312,900 "y": 408.26458740234375,901 "zOrder": "0|0|0|2|0|0",902 "width": 371,903 "height": 50,904 "scale": 1,905 "opacity": 255,906 "visible": true,907 "anchorX": 0.5,908 "anchorY": 0.5,909 "string": "300",910 "className": "",911 "id": "",912 "isClickable": false913}, {914 "name": "",915 "x": 512.8416137695312,916 "y": 408.26458740234375,917 "zOrder": "9999|0|0|0|2|0|0",918 "width": 45,919 "height": 35,920 "scale": 1,921 "opacity": 255,922 "visible": true,923 "anchorX": 0,924 "anchorY": 0.5,925 "string": "300",926 "className": "",927 "id": "",928 "isClickable": false929}, {930 "name": "",931 "x": 512.8416137695312,932 "y": 408.26458740234375,933 "zOrder": "9999|0|0|0|2|0|0",934 "width": 174,935 "height": 35,936 "scale": 1,937 "opacity": 255,938 "visible": false,939 "anchorX": 0,940 "anchorY": 0.5,941 "string": "Touch to input",942 "className": "",943 "id": "",944 "isClickable": false945}, {946 "name": "",947 "x": 693.3416137695312,948 "y": 329.9237060546875,949 "zOrder": "0|0|0|2|0|0",950 "width": 371,951 "height": 50,952 "scale": 1,953 "opacity": 255,954 "visible": true,955 "anchorX": 0.5,956 "anchorY": 0.5,957 "string": "",958 "className": "",959 "id": "",960 "isClickable": false961}, {962 "name": "",963 "x": 512.8416137695312,964 "y": 329.9237060546875,965 "zOrder": "9999|0|0|0|2|0|0",966 "width": 0,967 "height": 0,968 "scale": 1,969 "opacity": 255,970 "visible": false,971 "anchorX": 0,972 "anchorY": 0.5,973 "string": "",974 "className": "",975 "id": "",976 "isClickable": false977}, {978 "name": "",979 "x": 512.8416137695312,980 "y": 329.9237060546875,981 "zOrder": "9999|0|0|0|2|0|0",982 "width": 174,983 "height": 35,984 "scale": 1,985 "opacity": 255,986 "visible": true,987 "anchorX": 0,988 "anchorY": 0.5,989 "string": "Touch to input",990 "className": "",991 "id": "",992 "isClickable": false993}, {994 "name": "image_Top",995 "x": 148.39968872070312,996 "y": 591.5811767578125,997 "zOrder": "0|0|2|0|0",998 "width": 46,999 "height": 46,1000 "scale": 1,1001 "opacity": 255,1002 "visible": true,1003 "anchorX": 0.5,1004 "anchorY": 0.5,1005 "string": "",1006 "className": "",1007 "id": "",1008 "isClickable": false1009}, {1010 "name": "label_Title",1011 "x": 141.86769104003906,1012 "y": 585.4798583984375,1013 "zOrder": "0|0|0|2|0|0",1014 "width": 290,1015 "height": 60,1016 "scale": 1,1017 "opacity": 255,1018 "visible": true,1019 "anchorX": 0.5,1020 "anchorY": 0.5,1021 "string": "",1022 "className": "",1023 "id": "",1024 "isClickable": false1025}, {1026 "name": "btn_Back",1027 "x": 60,1028 "y": 580,1029 "zOrder": "0|0|2|0|0",1030 "width": 66,1031 "height": 66,1032 "scale": 1,1033 "opacity": 255,1034 "visible": true,1035 "anchorX": 0.5085999965667725,1036 "anchorY": 0.5151000022888184,1037 "string": "",1038 "className": "",1039 "id": "",1040 "isClickable": true...
main.js
Source:main.js
1var socket = io();2var selectedCard;3var selectedMiddleCard;4var actionCanBeSent = false;5var username;6var matchId;7var intervalId;8var autoShoveIntervalId;9var autoKeepIntervalId;10var isMute;11var $window = $(window);12function setUsername() {13 socket.emit('setUsername', $('#name').val());14};15function startGame() {16 socket.emit('startGame', { maxPlayers: 7 });17 clear('admin');18}19function write(divID, data) {20 let div = document.getElementById(divID);21 div.appendChild(document.createTextNode(data));22 div.appendChild(document.createElement('br'));23 div.scrollTop = div.scrollHeight;24}25function writeBold(divID, data) {26 let div = document.getElementById(divID);27 let text = document.createElement('b');28 text.innerHTML = data;29 div.appendChild(text);30 div.appendChild(document.createElement('br'));31 div.scrollTop = div.scrollHeight;32}33function writeError(divID, data) {34 let div = document.getElementById(divID);35 let text = document.createElement('b');36 text.innerHTML = data;37 text.style.color = 'red';38 div.appendChild(text);39 div.appendChild(document.createElement('br'));40 div.scrollTop = div.scrollHeight;41}42function clear(divID) {43 let div = document.getElementById(divID);44 div.innerHTML = '';45}46function action(action) {47 if (action === 'change' && ((!selectedCard) || (!selectedMiddleCard))) {48 writeError('gameLog', 'Bitte Karte auswählen');49 } else {50 actionCanBeSent = false;51 removeActions();52 socket.emit('action', { matchId: matchId, action: action, card: selectedCard, middleCard: selectedMiddleCard });53 selectedCard = false;54 selectedMiddleCard = false;55 for (let i = 0; i < document.images.length; i++) {56 document.images[i].style.border = '2px solid transparent';57 }58 }59};60function selectCard(img, card) {61 let cards = document.getElementById('playerCards').getElementsByTagName('img');;62 for (let i = 0; i < cards.length; i++) {63 cards[i].style.border = '2px solid transparent';64 }65 img.style.border = '2px solid red';66 selectedCard = card;67};68function selectMiddleCard(img, card) {69 let cards = document.getElementById('middleCards').getElementsByTagName('img');;70 for (let i = 0; i < cards.length; i++) {71 cards[i].style.border = '2px solid transparent';72 }73 img.style.border = '2px solid red';74 selectedMiddleCard = card;75};76function removeActions() {77 clear('playerActions');78 clearInterval(autoShoveIntervalId);79 clearInterval(autoKeepIntervalId);80}81function addActions(type) {82 clear('playerActions');83 let actions;84 switch (type) {85 case 'regular':86 actions = [{ action: 'change', title: 'Tauschen', isClickable: true }, { action: 'changeAll', title: 'Alle Tauschen', isClickable: true }, { action: 'shove', title: 'Schieben', isClickable: true }, { action: 'knock', title: 'Klopfen', isClickable: true }];87 break;88 case 'firstMove':89 actions = [{ action: 'keep', title: 'Behalten', isClickable: true }, { action: 'new', title: 'Tauschen', isClickable: true }];90 break;91 case 'noKnock':92 actions = [{ action: 'change', title: 'Tauschen', isClickable: true }, { action: 'changeAll', title: 'Alle Tauschen', isClickable: true }, { action: 'shove', title: 'Schieben', isClickable: true }, { action: 'knock', title: 'Klopfen', isClickable: false }];93 break;94 }95 for (let i = 0; i < actions.length; i++) {96 let btn = document.createElement('button');97 btn.innerHTML = actions[i].title;98 if (actions[i].isClickable) {99 btn.className = 'button';100 btn.addEventListener('click', function() {101 action(actions[i].action);102 });103 } else {104 btn.className = 'buttonDisabled';105 }106 let playerActions = document.getElementById('playerActions');107 playerActions.appendChild(btn);108 /* if (i === 1) {109 playerActions.appendChild(document.createElement('br'));110 }*/111 }112}113function setCountdown(counter) {114 clearInterval(intervalId);115 intervalId = setInterval(function() {116 div1 = document.getElementById("counter");117 div2 = document.getElementById("nextMove");118 counter--;119 if (counter >= 0) {120 div1.innerHTML = 'Neue Runde in ' + counter;121 div2.innerHTML = 'Neue Runde in ' + counter;122 }123 if (counter === 0) {124 div1.innerHTML = '';125 div2.innerHTML = '';126 clearInterval(intervalId);127 }128 }, 1000);129}130function startTimerAutoShove(counter) {131 autoShoveIntervalId = setInterval(function() {132 counter--;133 if (counter === 5) {134 myAudio = new Audio('/audio/countdown.mp3').play();135 }136 if (counter === 0) {137 action('shove');138 }139 }, 1000);140}141function startTimerAutoKeep(counter) {142 autoKeepIntervalId = setInterval(function() {143 counter--;144 if (counter === 5) {145 if (!isMute) {146 myAudio = new Audio('/audio/countdown.mp3').play();147 }148 }149 if (counter === 0) {150 action('keep');151 }152 }, 1000);153}154window.onbeforeunload = function() {155 return 'Data will be lost if you leave the page, are you sure?';156};157flexFont = function() {158 var divs = document.querySelectorAll('.gameLog, .standings');159 for (var i = 0; i < divs.length; i++) {160 var relFontsize = divs[i].offsetWidth * 0.05;161 divs[i].style.fontSize = relFontsize + 'px';162 }163};164window.onload = function(event) {165 flexFont();166};167window.onresize = function(event) {168 flexFont();169};170$window.keydown(event => {171 // When the client hits ENTER on their keyboard172 if (event.which === 13) {173 if (!username && $('#name').val() != '') {174 setUsername();175 }176 }177});178$("#log-btn").click(function() {179 $('#standings').hide();180 $('#statistics').hide();181 $("#info").hide();182 $("#gameLog").show();183 ("#gameLog").scrollTop = ("#gameLog").scrollHeight;184});185$("#standings-btn").click(function() {186 $('#gameLog').hide();187 $('#statistics').hide();188 $("#info").hide();189 $("#standings").show();190});191$("#stats-btn").click(function() {192 $('#gameLog').hide();193 $('#standings').hide();194 $("#info").hide();195 $("#statistics").show();196});197$("#info-btn").click(function() {198 $('#gameLog').hide();199 $('#standings').hide();200 $("#statistics").hide();201 $("#info").show();202});203function muteSounds() {204 isMute = true;205 $("#mute-btn").hide();206 $("#unmute-btn").show();207}208function unmuteSounds() {209 isMute = false;210 $("#unmute-btn").hide();211 $("#mute-btn").show();...
Stars.js
Source:Stars.js
1import React, {Component} from "react";2import "./star.css";3class Star extends Component {4 constructor(props) {5 super(props);6 this.state = {7 isClickAble: this.props.isClickAble,8 type: this.props.type,9 stars: Number.parseFloat(this.props.stars),10 modified: false,11 };12 }13 componentWillReceiveProps(props) {14 if (!props.isClickAble && this.props !== props) {15 this.setState({16 isClickAble: props.isClickAble,17 type: props.type,18 stars: Number.parseFloat(props.stars),19 });20 }21 }22 mrender = (isClickAble, type, star, clickedCallback) => {23 var bar = (p, width) => {24 return (25 <div26 key={Math.random() + Math.random() + Math.random}27 className="progress"28 style={{width: width}}29 >30 <div31 className="progress-bar"32 role="progressbar"33 aria-valuenow="60"34 aria-valuemin="0"35 aria-valuemax="100"36 style={{width: p + "%", background: "#ffc107"}}37 >38 <span className="sr-only">{p}</span>39 </div>40 </div>41 );42 };43 var starClick = (e, cb) => {44 if (isClickAble) {45 this.setState({stars: e + 1, modified: true});46 cb(e + 1);47 }48 };49 var starBtn = (isOpen, c, nonBtn, i) => {50 var cn = isOpen ? "btn btn-xs " : "btn btn-xs btn-grey ";51 cn += "mstarbtn ";52 if (isOpen) {53 if (this.state.modified) {54 cn += "btn-primary ";55 } else {56 cn += "btn-warning ";57 }58 }59 return (60 <button61 type="button"62 className={cn}63 aria-label="Left Align"64 id={i}65 style={{width: "20%"}}66 onClick={(e) => starClick(i, clickedCallback)}67 key={i}68 disabled={!nonBtn}69 >70 <span className="glyphicon glyphicon-star" aria-hidden="true">71 {isOpen ? c : c}72 </span>73 </button>74 );75 };76 var bars = [];77 var btns = [];78 var tr = "";79 switch (type) {80 default:81 case "bar":82 return bar(star * 20, "100%");83 case "splitedBar":84 for (let i = 0; i < 5; i++) {85 if (star >= 1) {86 bars.push(bar(100, "20%"));87 star--;88 } else if (star > 0) {89 bars.push(bar(star * 100, "20%"));90 star--;91 } else {92 bars.push(bar(0, "20%"));93 }94 }95 tr = <div className="row">{bars}</div>;96 return tr;97 case "star":98 for (let i = 0; i < 5; i++) {99 if (star >= 1) {100 btns.push(starBtn(true, "â", isClickAble, i));101 star--;102 } else {103 btns.push(starBtn(false, "â", isClickAble, i));104 }105 }106 tr = <div className="row">{btns}</div>;107 return tr;108 case "btns":109 for (var i = 0; i < 5; i++) {110 if (star >= 1) {111 btns.push(starBtn(true, "", isClickAble, i));112 star--;113 } else {114 btns.push(starBtn(false, "", isClickAble, i));115 }116 }117 tr = <div className="row">{btns}</div>;118 return tr;119 }120 };121 render() {122 return this.mrender(123 this.state.isClickAble,124 this.state.type,125 this.state.stars,126 this.props.callback,127 );128 }129}...
kyivstar_prod.js
Source:kyivstar_prod.js
...7 browser.pause(200);8 let inputNumber =$(`.user_phone`).$(`#connect_phone_protectionplus`);9 inputNumber.addValue(980444444444)10 let button = $(`.key_send`)11 button.isClickable()12 button.click()13 browser.pause(3000)14 });15// ÐликабелÑнÑе ли кнопки и кÑда они ведÑÑ16 it(`isClickabel`, () => {17 browser.url(`https://www.mb.kyivstar.ua`)18 let button_HowToProtect = $(`[href="#rec229886033"]`);19 let buttob_WhatIsIncluded = $ (`[href="#rec229886034"]`);20 let button_Subscriptions = $(`[href="#rec229886038"]`);21 let button_IfPhoneIsLost = $(`[href="#rec229886041"]`);22 let button_CommonQuestions = $(`[href="#rec229886042"]`)23 button_HowToProtect.isClickable();24 //npm install @wdio/cliexpectChai(button_HowToProtect).to.be.click(true);25 buttob_WhatIsIncluded.isClickable();26 // expectChai(buttob_WhatIsIncluded).to.be.isClickable(true)27 button_Subscriptions.isClickable();28 button_IfPhoneIsLost.isClickable();29 button_CommonQuestions.isClickable();30 assert(button_HowToProtect === $('[href="#rec229886033"]'));31 assert(buttob_WhatIsIncluded === $('[href="#rec229886034"]'));32 assert( button_CommonQuestions === $('[href="#rec229886042"]'));33 assert(button_Subscriptions === $('[href="#rec229886038"]') );34 assert(button_IfPhoneIsLost === $('[href="#rec229886041"]'));35 });36 xit(`switch language`, () => {37 browser.url(`https://www.mb.kyivstar.ua`)38 let buttonOpen = $(`[data-tooltip-menu-id="232294284"]`)39 buttonOpen.click();40 let nextLang = $(`[data-menu-item-number="2"]`)41 nextLang.click()42 });43})
g.inventory.js
Source:g.inventory.js
...11 });12 describe("order list", () => {13 it("if I select a condition from the list it does not reorder me", () => {14 inventoryPage.productSort.click();15 inventoryPage.elementOfSortZa.isClickable(false);16 inventoryPage.elementOfSortLohi.isClickable(false);17 inventoryPage.elementOfSortHilo.isClickable(false);18 browser.pause(2000);19 });20 });21 describe("add to cart", () => {22 it("if I select these elements it adds them to the cart", () => {23 inventoryPage.btnToShopOne.isClickable(true);24 inventoryPage.btnToShopTwo.isClickable(true);25 inventoryPage.btnToShopFive.isClickable(true);26 browser.pause(2000);27 });28 it("if I select these elements it does not add them to the cart", () => {29 inventoryPage.btnToShopThree.isClickable(false);30 inventoryPage.btnToShopFour.isClickable(false);31 inventoryPage.btnToShopSix.isClickable(false);32 browser.pause(2000);33 });34 });35 describe("remove from cart", () => {36 it(" if i press to remove items from inventory this does not happen", () => {37 inventoryPage.btnToDeleteOne.isClickable(false);38 inventoryPage.btnToDeleteTwo.isClickable(false);39 inventoryPage.btnToDeleteFive.isClickable(false);40 browser.refresh();41 browser.pause(2000);42 });43 });...
j.inventory.js
Source:j.inventory.js
...11 });12 describe("order list", () => {13 it("if I select any item from the list it sorts correctly", () => {14 inventoryPage.productSort.click();15 inventoryPage.elementOfSortZa.isClickable(true);16 inventoryPage.elementOfSortLohi.isClickable(true);17 inventoryPage.elementOfSortHilo.isClickable(true);18 browser.pause(2000);19 });20 });21 describe("add to cart", () => {22 it("if I select these elements it adds them to the cart", () => {23 inventoryPage.btnToShopOne.isClickable(true);24 inventoryPage.btnToShopTwo.isClickable(true);25 inventoryPage.btnToShopThree.isClickable(true);26 inventoryPage.btnToShopFour.isClickable(true);27 inventoryPage.btnToShopFive.isClickable(true);28 browser.pause(2000);29 });30 });31 describe("remove from cart", () => {32 it("if I press remove from the list it does it correctly", () => {33 inventoryPage.btnToDeleteOne.isClickable(true);34 inventoryPage.btnToDeleteTwo.isClickable(true);35 inventoryPage.btnToDeleteThree.isClickable(true);36 inventoryPage.btnToDeleteFour.isClickable(true);37 inventoryPage.btnToDeleteFive.isClickable(true);38 browser.refresh();39 browser.pause(2000);40 });41 });...
categories.js
Source:categories.js
1export const leftCategories = [2 { name: "Ones", isClickable: true, achieved: 'Any "1" Dice', score: 'Sum of all "1" dice' },3 { name: "Twos", isClickable: true, achieved: 'Any "2" Dice', score: 'Sum of all "2" dice' },4 { name: "Threes", isClickable: true, achieved: 'Any "3" Dice', score: 'Sum of all "3" dice' },5 { name: "Fours", isClickable: true, achieved: 'Any "4" Dice', score: 'Sum of all "4" dice' },6 { name: "Fives", isClickable: true, achieved: 'Any "5" Dice', score: 'Sum of all "5" dice' },7 { name: "Sixes", isClickable: true, achieved: 'Any "6" Dice', score: 'Sum of all "6" dice' },8 {9 name: "Left Bonus",10 isClickable: false,11 achieved: "Left Total >= 63",12 score: "35",13 },14 { name: "Left Total", isClickable: false },15];16export const rightCategories = [17 { name: "3 of a Kind", isClickable: true, achieved: "3 of any die", score: "Sum of all dice" },18 { name: "4 of a Kind", isClickable: true, achieved: "4 of any die", score: "Sum of all dice" },19 { name: "Full House", isClickable: true, achieved: "3 of any die, 2 of another", score: "25" },20 {21 name: "Sm Straight",22 isClickable: true,23 achieved: "Sequence of 4 consecutive dice",24 score: "30",25 },26 {27 name: "Lg Straight",28 isClickable: true,29 achieved: "Sequence of 5 consecutive dice",30 score: "40",31 },32 { name: "Roll!", isClickable: true, achieved: "5 of any die", score: "50" },33 {34 name: "Roll! Bonus",35 isClickable: false,36 achieved: "Any 5 of a kind in a scoring category after Roll! has been achieved",37 score: "+50 per qualifying category",38 },39 { name: "Free Space", achieved: "No conditions", score: "Sum of all dice", isClickable: true },...
Button.js
Source:Button.js
1import styled from "styled-components";2export default function Button({ children, onButtonClicked, isClickable }) {3 return (4 <Wrapper5 onClick={() => {6 if (isClickable) {7 onButtonClicked();8 }9 }}10 isClickable={isClickable}11 >12 {children}13 </Wrapper>14 );15}16const Wrapper = styled.button`17 padding: 6px 12px;18 border: solid 1px rgba(0, 0, 0, 0.1);19 background-color: ${(props) => (props.isClickable ? "white" : "grey")};20 transition: ease 0.2s;21 &:hover {22 background-color: ${(props) => (props.isClickable ? "lightgrey" : "grey")};23 border-color: ${(props) => (props.isClickable ? "lightgrey" : "grey")};24 color: ${(props) => (props.isClickable ? "white" : "")};25 }26 &:active {27 transform: translateY(1px);28 outline: none;29 }30 &:focus {31 outline: none;32 background-color: ${(props) => (props.isClickable ? "grey" : "grey")};33 color: ${(props) => (props.isClickable ? "white" : "")};34 }35 @media (max-width: 1040px) {36 background-color: lightcoral !important;37 }...
Using AI Code Generation
1var webdriverio = require('webdriverio');2var options = {3 desiredCapabilities: {4 }5};6 .remote(options)7 .init()8 .isClickable('#lst-ib')9 .then(function(isClickable) {10 })11 .end();12var webdriverio = require('webdriverio');13var options = {14 desiredCapabilities: {15 }16};17 .remote(options)18 .init()19 .isClickable('#lst-ib')20 .then(function(isClickable) {21 })22 .end();23var webdriverio = require('webdriverio');24var options = {25 desiredCapabilities: {26 }27};28 .remote(options)29 .init()30 .isClickable('#lst-ib')31 .then(function(isClickable) {32 })33 .end();34var webdriverio = require('webdriverio');35var options = {36 desiredCapabilities: {37 }38};39 .remote(options)40 .init()41 .isClickable('#lst-ib')42 .then(function(isClickable) {43 })44 .end();45var webdriverio = require('webdriverio');46var options = {47 desiredCapabilities: {48 }49};50 .remote(options)51 .init()52 .isClickable('#lst-ib')53 .then(function(isClickable) {54 })55 .end();
Using AI Code Generation
1var webdriverio = require('webdriverio');2var options = {3 desiredCapabilities: {4 }5};6 .remote(options)7 .init()8 .isClickable('input[name="btnI"]')9 .then(function (isClickable) {10 })11 .end();12isExisting() method13isExisting(selector)14var webdriverio = require('webdriverio');15var options = {16 desiredCapabilities: {17 }18};19 .remote(options)20 .init()21 .isExisting('input[name="btnI"]')22 .then(function (isExisting) {23 })24 .end();25isDisplayed() method26isDisplayed(selector)27var webdriverio = require('webdriverio');28var options = {29 desiredCapabilities: {30 }31};32 .remote(options)33 .init()34 .isDisplayed('input[name="btnI"]')35 .then(function (isDisplayed) {36 })37 .end();38isDisabled() method39The isDisabled() method is used to check whether an element is disabled or
Using AI Code Generation
1var webdriverio = require("webdriverio");2var options = {3 desiredCapabilities: {4 }5};6var client = webdriverio.remote(options);7 .init()8 .isClickable('input[name="q"]')9 .then(function(isClickable){10 console.log(isClickable);11 })12 .end();13client.isClickable(selector, [ms]);14var webdriverio = require("webdriverio");15var options = {16 desiredCapabilities: {17 }18};19var client = webdriverio.remote(options);20 .init()21 .isClickable('input[name="q"]')22 .then(function(isClickable){23 console.log(isClickable);24 })25 .end();26client.isDisplayed(selector, [ms]);27var webdriverio = require("webdriverio");28var options = {29 desiredCapabilities: {
Using AI Code Generation
1const isClickable = require('is-clickable');2const webdriverio = require('webdriverio');3const options = { desiredCapabilities: { browserName: 'chrome' } };4const browser = webdriverio.remote(options);5browser.init()6 .then(() => browser.element('input[name="btnK"]'))7 .then((el) => isClickable(el.value.ELEMENT, browser))8 .then((isClickable) => {9 if (isClickable) {10 console.log('Element is clickable');11 } else {12 console.log('Element is not clickable');13 }14 })15 .end();
Using AI Code Generation
1describe('Test to check if element is clickable', function() {2 it('Test to check if element is clickable', function() {3 var element = browser.$('input[name="q"]');4 console.log(element.isClickable());5 });6});7isExisting()8describe('Test to check if element is present', function() {9 it('Test to check if element is present', function() {10 var element = browser.$('input[name="q"]');11 console.log(element.isExisting());12 });13});14isEnabled()15describe('Test to check if element is enabled', function() {16 it('Test to check if element is enabled', function() {17 var element = browser.$('input[name="q"]');18 console.log(element.isEnabled());19 });20});21isFocused()22describe('Test to check if element is focused', function() {23 it('Test to check if element is focused', function() {24 var element = browser.$('input[name="q"]');25 console.log(element.isFocused());26 });27});28isDisplayed()
Using AI Code Generation
1it('should click on an element', () => {2 const element = $('=API');3 browser.waitUntil(() => element.isClickable(), {4 });5 element.click();6});7exports.config = {8 capabilities: [{9 }],10 mochaOpts: {11 },12 before: function () {13 const chai = require('chai');14 global.expect = chai.expect;15 global.assert = chai.assert;16 global.should = chai.should();17 }18}
Using AI Code Generation
1if (browser.isClickable(‘.someClass’)) {2 console.log(‘Element is clickable’)3} else {4 console.log(‘Element is not clickable’)5}6browser.isClickable(‘.someClass’, function(err, isClickable) {7 if (err) {8 console.log(err)9 } else {10 console.log(isClickable)11 }12})
Using AI Code Generation
1describe('Test', () => {2 it('test', async () => {3 const elem = await $('a').isClickable()4 console.log(elem)5 })6})7describe('Test', () => {8 it('test', async () => {9 const elem = await browser.isClickable('a')10 console.log(elem)11 })12})13describe('Test', () => {14 it('test', async () => {15 const elem = await $('a').isClickable()16 console.log(elem)17 })18})19describe('Test', () => {20 it('test', async () => {21 const elem = await browser.isClickable('a')22 console.log(elem)23 })24})25describe('Test', () => {26 it('test', async () => {27 const elem = await $('a').isClickable()28 console.log(elem)29 })30})
Wondering what could be a next-gen browser and mobile test automation framework that is also simple and concise? Yes, that’s right, it's WebdriverIO. Since the setup is very easy to follow compared to Selenium testing configuration, you can configure the features manually thereby being the center of attraction for automation testing. Therefore the testers adopt WedriverIO to fulfill their needs of browser testing.
Learn to run automation testing with WebdriverIO tutorial. Go from a beginner to a professional automation test expert with LambdaTest WebdriverIO tutorial.
Running Your First Automation Script - Learn the steps involved to execute your first Test Automation Script using WebdriverIO since the setup is very easy to follow and the features can be configured manually.
Selenium Automation With WebdriverIO - Read more about automation testing with WebdriverIO and how it supports both browsers and mobile devices.
Browser Commands For Selenium Testing - Understand more about the barriers faced while working on your Selenium Automation Scripts in WebdriverIO, the ‘browser’ object and how to use them?
Handling Alerts & Overlay In Selenium - Learn different types of alerts faced during automation, how to handle these alerts and pops and also overlay modal in WebdriverIO.
How To Use Selenium Locators? - Understand how Webdriver uses selenium locators in a most unique way since having to choose web elements very carefully for script execution is very important to get stable test results.
Deep Selectors In Selenium WebdriverIO - The most popular automation testing framework that is extensively adopted by all the testers at a global level is WebdriverIO. Learn how you can use Deep Selectors in Selenium WebdriverIO.
Handling Dropdown In Selenium - Learn more about handling dropdowns and how it's important while performing automated browser testing.
Automated Monkey Testing with Selenium & WebdriverIO - Understand how you can leverage the amazing quality of WebdriverIO along with selenium framework to automate monkey testing of your website or web applications.
JavaScript Testing with Selenium and WebdriverIO - Speed up your Javascript testing with Selenium and WebdriverIO.
Cross Browser Testing With WebdriverIO - Learn more with this step-by-step tutorial about WebdriverIO framework and how cross-browser testing is done with WebdriverIO.
Get 100 minutes of automation test minutes FREE!!