lexxit-automation-framework 2.0.19 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +246 -57
  2. package/npmignore +8 -0
  3. package/package.json +32 -1
  4. package/public/dashboard.html +591 -0
  5. package/src/actions/baseHandler.ts +351 -0
  6. package/src/actions/browserManager.ts +432 -0
  7. package/src/actions/checkboxHandler.ts +276 -0
  8. package/src/actions/clickHandler.ts +513 -0
  9. package/src/actions/customcodehandler.ts +251 -0
  10. package/src/actions/dropdownHandler.ts +501 -0
  11. package/src/actions/radiobuttonHandler.ts +286 -0
  12. package/src/actions/textHandler.ts +498 -0
  13. package/src/api/server.ts +210 -0
  14. package/src/config.ts +7 -0
  15. package/src/executor/functionMap.ts +153 -0
  16. package/src/executor/mapping.ts +70 -0
  17. package/src/executor/scriptExecutor.ts +162 -0
  18. package/src/executor/stepExecutor.ts +289 -0
  19. package/src/runner/testRunner.ts +78 -0
  20. package/src/sse/sseManager.ts +130 -0
  21. package/src/store/executionStore.ts +152 -0
  22. package/src/store/testDataStore.ts +46 -0
  23. package/src/types/types.ts +159 -0
  24. package/src/utils/healingService.ts +210 -0
  25. package/src/utils/locatorService.ts +73 -0
  26. package/src/utils/logger.ts +27 -0
  27. package/src/utils/metadataService.ts +137 -0
  28. package/src/utils/waitConditions.ts +141 -0
  29. package/src/validator/validator.ts +140 -0
  30. package/tsconfig.json +16 -0
  31. package/bin/lexxit-automation-framework.js +0 -224
  32. package/dist-obf/app.js +0 -1
  33. package/dist-obf/controllers/controller.js +0 -1
  34. package/dist-obf/core/BrowserManager.js +0 -1
  35. package/dist-obf/core/PlaywrightEngine.js +0 -1
  36. package/dist-obf/core/ScreenshotManager.js +0 -1
  37. package/dist-obf/core/TestData.js +0 -1
  38. package/dist-obf/core/TestExecutor.js +0 -1
  39. package/dist-obf/core/handlers/AllHandlers.js +0 -1
  40. package/dist-obf/core/handlers/BaseHandler.js +0 -1
  41. package/dist-obf/core/handlers/ClickHandler.js +0 -1
  42. package/dist-obf/core/handlers/CustomCodeHandler.js +0 -1
  43. package/dist-obf/core/handlers/DropdownHandler.js +0 -1
  44. package/dist-obf/core/handlers/InputHandler.js +0 -1
  45. package/dist-obf/core/registry/ActionRegistry.js +0 -1
  46. package/dist-obf/installer/frameworkLauncher.js +0 -1
  47. package/dist-obf/public/dashboard.html +0 -591
  48. package/dist-obf/public/execution.html +0 -510
  49. package/dist-obf/public/queue-monitor.html +0 -408
  50. package/dist-obf/queue/ExecutionQueue.js +0 -1
  51. package/dist-obf/routes/api.routes.js +0 -1
  52. package/dist-obf/server.js +0 -1
  53. package/dist-obf/types/types.js +0 -1
  54. package/dist-obf/utils/chromefinder.js +0 -1
  55. package/dist-obf/utils/elementHighlight.js +0 -1
  56. package/dist-obf/utils/locatorHelper.js +0 -1
  57. package/dist-obf/utils/logger.js +0 -1
  58. package/dist-obf/utils/response.js +0 -1
  59. package/dist-obf/utils/responseFormatter.js +0 -1
  60. package/dist-obf/utils/sseManager.js +0 -1
  61. package/scripts/postinstall.js +0 -52
@@ -1 +0,0 @@
1
- 'use strict';const a25_0x144e10=a25_0x5e5a;(function(_0x4d492f,_0x3ed2d8){const _0x366d35=a25_0x5e5a,_0x53ec81=_0x4d492f();while(!![]){try{const _0x94afaf=parseInt(_0x366d35(0x14c))/0x1*(parseInt(_0x366d35(0x15c))/0x2)+parseInt(_0x366d35(0x138))/0x3+-parseInt(_0x366d35(0x13c))/0x4*(-parseInt(_0x366d35(0x16c))/0x5)+parseInt(_0x366d35(0x169))/0x6+-parseInt(_0x366d35(0x17c))/0x7*(parseInt(_0x366d35(0x145))/0x8)+parseInt(_0x366d35(0x171))/0x9*(-parseInt(_0x366d35(0x13b))/0xa)+-parseInt(_0x366d35(0x140))/0xb*(parseInt(_0x366d35(0x133))/0xc);if(_0x94afaf===_0x3ed2d8)break;else _0x53ec81['push'](_0x53ec81['shift']());}catch(_0xa43414){_0x53ec81['push'](_0x53ec81['shift']());}}}(a25_0xe1d1,0x1a976));function a25_0xe1d1(){const _0x74fd66=['mZHltNnXCfi','v29YAg4','y2XPzw50CW','rhnLDMm','C3nLtwfUywDLCG','CMvTB3zLq2XPzw50','CKrbs1u','ANnfC1C','y3jLyxrL','C2v0sgvHzgvY','z2v0','DgfnyLK','rKPlzeG','mtiZotm5nKXlELLQDq','wc1by2nLBc1cDwzMzxjPBMC','oIbOzwfYDgjLyxqkcG','ntmXnwXhqwDkDa','ywrK','Aw5MBW','Dg9ju09tDhjPBMC','BhfbuNa','mtHPz0riqKu','Bg9N','s29VwM8','qLvgrKvsx1ruta','uMvWBgf5Aw5Nia','yxDLsLy','zfPSy1i','yNjVywrJyxn0','qMfxyLG','D3jPDgfIBgvfBMrLza','C052rvG','mtr2vLjdzNu','uw9fzMW','BM8Ty2fJAgu','C25VAKe','C2L6zq','De94q1y','v1nez2G','zgvSzxrL','CgPfvuq','vLDrq00','q29UBMvJDgLVBG','mZuYmJbMwwzdruG','q29UBMvJDgvKihrVigv4zwn1DgLVBIbZDhjLyw0','q2fJAguTq29UDhjVBa','u1nftwfUywDLCG','x19LC01VzhvSzq','ntGXnduXBerhvu1S','zgvMAw5LuhjVCgvYDhK','zxHLy3v0Aw9Ux2nVBxbSzxrL','mZm4odGWqxvswfjQ','oezTrwPtzW','zM9YrwfJAa','s3vHwMq','AgfZq2XPzw50CW','nti4BLrNuNHi','lI9SB2DNzxi','z2XVyMfS','C2v0','ChvZAa','nZq1otyWtLfYrwjp','AMjNChK','ywrKq2XPzw50','Cufgy2u','AgfZ','q0PYCLO','zw1PDa','ntm0nwrIDw5IzG','txvyEhi','D3jPDgu','zxzLBNrcDwzMzxi','BfrXCNO','tg9Nz2vY','DgDgzuS','C3rYAw5NAwz5','zMX1C2HizwfKzxjZ','q1bjwNq','s29hvNu','tufyx0jvrKzfuG','C2vUzfrVt25L','C1jpBgO','zgf0ytOG','DfHrtgW'];a25_0xe1d1=function(){return _0x74fd66;};return a25_0xe1d1();}function a25_0x5e5a(_0x5dced2,_0x20947f){_0x5dced2=_0x5dced2-0x12a;const _0xe1d1b9=a25_0xe1d1();let _0x5e5a15=_0xe1d1b9[_0x5dced2];if(a25_0x5e5a['BgGxhv']===undefined){var _0x45beb0=function(_0x50384a){const _0x669cdd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e1cb2='',_0x497992='';for(let _0x2b4ea8=0x0,_0x1927d1,_0x507396,_0x17bd6c=0x0;_0x507396=_0x50384a['charAt'](_0x17bd6c++);~_0x507396&&(_0x1927d1=_0x2b4ea8%0x4?_0x1927d1*0x40+_0x507396:_0x507396,_0x2b4ea8++%0x4)?_0x5e1cb2+=String['fromCharCode'](0xff&_0x1927d1>>(-0x2*_0x2b4ea8&0x6)):0x0){_0x507396=_0x669cdd['indexOf'](_0x507396);}for(let _0x4cf330=0x0,_0x1c1b25=_0x5e1cb2['length'];_0x4cf330<_0x1c1b25;_0x4cf330++){_0x497992+='%'+('00'+_0x5e1cb2['charCodeAt'](_0x4cf330)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x497992);};a25_0x5e5a['TQPDLy']=_0x45beb0,a25_0x5e5a['ybSJor']={},a25_0x5e5a['BgGxhv']=!![];}const _0x577af2=_0xe1d1b9[0x0],_0x100570=_0x5dced2+_0x577af2,_0x2dc5f3=a25_0x5e5a['ybSJor'][_0x100570];return!_0x2dc5f3?(_0x5e5a15=a25_0x5e5a['TQPDLy'](_0x5e5a15),a25_0x5e5a['ybSJor'][_0x100570]=_0x5e5a15):_0x5e5a15=_0x2dc5f3,_0x5e5a15;}Object[a25_0x144e10(0x139)](exports,a25_0x144e10(0x137),{'value':!![]}),exports[a25_0x144e10(0x160)]=exports[a25_0x144e10(0x136)]=void 0x0;const a25_0x590dbd=require(a25_0x144e10(0x141)),a25_0x2d853d=a25_0x590dbd[a25_0x144e10(0x151)][a25_0x144e10(0x164)](a25_0x144e10(0x136));class a25_0x39b399{constructor(){const _0x20e516=a25_0x144e10,_0x5c817c={'lqARp':function(_0x2fef06,_0x33e780){return _0x2fef06*_0x33e780;},'RAXzC':function(_0x3cc61f,_0x4c7fc9){return _0x3cc61f*_0x4c7fc9;}};this[_0x20e516(0x15e)]=new Map(),this[_0x20e516(0x14f)]=new Map(),this[_0x20e516(0x157)]=0x1f4,this[_0x20e516(0x174)]=_0x5c817c[_0x20e516(0x170)](_0x5c817c['RAXzC'](0x2,0x3c),0x3c)*0x3e8;}[a25_0x144e10(0x147)](_0x241b1d,_0x1ca8ea){const _0x5bbc5f=a25_0x144e10,_0x4907e5={'KooZo':_0x5bbc5f(0x134),'jsEsW':function(_0x5507b1,_0x59f4a1){return _0x5507b1===_0x59f4a1;},'aweJV':'QIhDB','tOxCV':':\x20heartbeat\x0a\x0a','rVkae':function(_0x32abb6,_0x56b484){return _0x32abb6(_0x56b484);},'ONFgb':'Content-Type','CPIZt':'text/event-stream','CJrrZ':_0x5bbc5f(0x135),'rQGXP':_0x5bbc5f(0x12a),'OgalR':'keep-alive','QoEfl':_0x5bbc5f(0x16a),'rDAKU':function(_0x166141,_0x9817be){return _0x166141>_0x9817be;},'snojA':_0x5bbc5f(0x15f),'FJKdH':_0x5bbc5f(0x172),'VWQCM':function(_0x344aa3,_0x329f54,_0xab3d1f){return _0x344aa3(_0x329f54,_0xab3d1f);},'rXwRN':'close'};_0x1ca8ea[_0x5bbc5f(0x165)](_0x4907e5['ONFgb'],_0x4907e5[_0x5bbc5f(0x155)]),_0x1ca8ea[_0x5bbc5f(0x165)](_0x4907e5[_0x5bbc5f(0x14a)],_0x4907e5['rQGXP']),_0x1ca8ea[_0x5bbc5f(0x165)](_0x5bbc5f(0x132),_0x4907e5['OgalR']),_0x1ca8ea[_0x5bbc5f(0x165)](_0x4907e5[_0x5bbc5f(0x17d)],'no'),_0x1ca8ea[_0x5bbc5f(0x154)]();if(!this['clients']['has'](_0x241b1d))this['clients'][_0x5bbc5f(0x143)](_0x241b1d,new Set());this[_0x5bbc5f(0x15e)][_0x5bbc5f(0x166)](_0x241b1d)[_0x5bbc5f(0x16d)](_0x1ca8ea),a25_0x2d853d[_0x5bbc5f(0x16e)]('SSE\x20client\x20connected:\x20'+_0x241b1d);const _0x2cf492=this[_0x5bbc5f(0x14f)][_0x5bbc5f(0x166)](_0x241b1d)??[];if(_0x4907e5[_0x5bbc5f(0x162)](_0x2cf492['length'],0x0))a25_0x2d853d[_0x5bbc5f(0x16e)](_0x5bbc5f(0x175)+_0x2cf492['length']+'\x20past\x20events\x20to\x20late\x20client:\x20'+_0x241b1d),_0x2cf492[_0x5bbc5f(0x13d)](_0x3d3a9b=>this[_0x5bbc5f(0x158)](_0x1ca8ea,_0x3d3a9b));else{if(_0x4907e5[_0x5bbc5f(0x12b)]==='RDdwk')try{if(!_0x1ba8b7[_0x5bbc5f(0x17a)])_0x4a8582['write'](_0x5bbc5f(0x15a)+_0x280af4[_0x5bbc5f(0x153)](_0x5cca38)+'\x0a\x0a');}catch{}else this['sendToOne'](_0x1ca8ea,{'type':_0x4907e5[_0x5bbc5f(0x168)],'executionId':_0x241b1d,'timestamp':new Date()[_0x5bbc5f(0x16f)](),'data':{'message':_0x4907e5['KooZo']}});}const _0x52fd13=_0x4907e5[_0x5bbc5f(0x131)](setInterval,()=>{const _0x1ef03f=_0x5bbc5f,_0x4291d6={'sROlj':_0x4907e5[_0x1ef03f(0x173)]};if(_0x4907e5[_0x1ef03f(0x163)](_0x4907e5[_0x1ef03f(0x176)],'YWOIj'))this[_0x1ef03f(0x158)](_0x24efed,{'type':_0x1ef03f(0x172),'executionId':_0xbc11b7,'timestamp':new _0x5084f7()['toISOString'](),'data':{'message':hzaikd[_0x1ef03f(0x159)]}});else{if(!_0x1ca8ea[_0x1ef03f(0x17a)])_0x1ca8ea['write'](_0x4907e5[_0x1ef03f(0x12d)]);else _0x4907e5['rVkae'](clearInterval,_0x52fd13);}},0x4e20);_0x1ca8ea['on'](_0x4907e5['rXwRN'],()=>{const _0x13dee9=_0x5bbc5f;clearInterval(_0x52fd13),this[_0x13dee9(0x161)](_0x241b1d,_0x1ca8ea);});}[a25_0x144e10(0x14b)](_0x705806,_0xb5e967,_0xbc1476){const _0x22640f=a25_0x144e10,_0x531d22={'tgFeK':_0x22640f(0x16b),'Worhn':function(_0xf39409,_0x2dc5ef){return _0xf39409===_0x2dc5ef;},'eaUyE':function(_0x381991,_0x5e8298){return _0x381991<_0x5e8298;},'taMbY':function(_0x1e8d9c,_0x1ceaf4){return _0x1e8d9c>_0x1ceaf4;},'dZlcR':function(_0x31d0c1,_0x50bcc2){return _0x31d0c1===_0x50bcc2;},'xNupb':function(_0x34ea9f,_0x2df6c6){return _0x34ea9f!==_0x2df6c6;},'WSDgh':_0x22640f(0x14d),'KuaZd':function(_0x128eb2,_0x40b058,_0x17e78e){return _0x128eb2(_0x40b058,_0x17e78e);},'nCWyE':function(_0x1c6bad,_0x44ed01,_0x229696){return _0x1c6bad(_0x44ed01,_0x229696);}},_0x43868a={'type':_0xb5e967,'executionId':_0x705806,'timestamp':new Date()['toISOString'](),'data':_0xbc1476};if(!this[_0x22640f(0x14f)][_0x22640f(0x149)](_0x705806)){if(_0x531d22[_0x22640f(0x15d)]('bxWFv',_0x22640f(0x179))){if(!_0x4a8cd5['writableEnded'])_0x1d0510[_0x22640f(0x14e)](xLjeAO[_0x22640f(0x152)]);else _0x3d659e(_0x5a9f96);}else this[_0x22640f(0x14f)][_0x22640f(0x143)](_0x705806,[]);}const _0x2a66c7=this['eventBuffer']['get'](_0x705806);if(_0x531d22['eaUyE'](_0x2a66c7['length'],this[_0x22640f(0x157)]))_0x2a66c7[_0x22640f(0x144)](_0x43868a);const _0x3c72a2=this['clients'][_0x22640f(0x166)](_0x705806);_0x3c72a2&&_0x531d22[_0x22640f(0x167)](_0x3c72a2[_0x22640f(0x12c)],0x0)&&_0x3c72a2[_0x22640f(0x13d)](_0x24ec16=>this[_0x22640f(0x158)](_0x24ec16,_0x43868a)),_0x531d22[_0x22640f(0x177)](_0xb5e967,_0x22640f(0x13a))&&(_0x531d22['xNupb'](_0x531d22[_0x22640f(0x12e)],'EOhBK')?(_0x531d22[_0x22640f(0x13e)](setTimeout,()=>this[_0x22640f(0x15e)][_0x22640f(0x12f)](_0x705806),0x1388),_0x531d22['nCWyE'](setTimeout,()=>this[_0x22640f(0x14f)]['delete'](_0x705806),this['BUFFER_TTL'])):_0x303068[_0x22640f(0x13d)](_0x26ab70=>this[_0x22640f(0x158)](_0x26ab70,_0x89b3de)));}[a25_0x144e10(0x178)](_0x35e0d9,_0x11735f){const _0x3b940f=a25_0x144e10,_0x4b8f39={'KoGVu':_0x3b940f(0x142)},_0x30a65b={'type':_0x35e0d9,'executionId':_0x4b8f39[_0x3b940f(0x156)],'timestamp':new Date()['toISOString'](),'data':_0x11735f};this['clients'][_0x3b940f(0x13d)](_0x5e0876=>_0x5e0876[_0x3b940f(0x13d)](_0x13a9b9=>this[_0x3b940f(0x158)](_0x13a9b9,_0x30a65b)));}['getBuffer'](_0x5ceaaf){const _0x30aaa8=a25_0x144e10;return this[_0x30aaa8(0x14f)][_0x30aaa8(0x166)](_0x5ceaaf)??[];}[a25_0x144e10(0x13f)](_0x1e8f4e){const _0x14f0f5=a25_0x144e10,_0x19a5ab={'jbgpy':function(_0x1d5a08,_0x288163){return _0x1d5a08>_0x288163;}};return _0x19a5ab[_0x14f0f5(0x146)](this['clients'][_0x14f0f5(0x166)](_0x1e8f4e)?.[_0x14f0f5(0x12c)]??0x0,0x0);}[a25_0x144e10(0x158)](_0x26cf24,_0x34bf95){const _0x4cbcab=a25_0x144e10,_0x32de00={'qAFce':function(_0x51108e,_0xc61f43){return _0x51108e>_0xc61f43;},'lTqrz':function(_0x4d88fd,_0x352b67){return _0x4d88fd===_0x352b67;},'pjEUD':_0x4cbcab(0x15b)};try{if(_0x32de00[_0x4cbcab(0x150)](_0x32de00[_0x4cbcab(0x130)],'Wzagk'))return fMtpFU[_0x4cbcab(0x148)](this[_0x4cbcab(0x15e)][_0x4cbcab(0x166)](_0x22736e)?.[_0x4cbcab(0x12c)]??0x0,0x0);else{if(!_0x26cf24[_0x4cbcab(0x17a)])_0x26cf24['write'](_0x4cbcab(0x15a)+JSON[_0x4cbcab(0x153)](_0x34bf95)+'\x0a\x0a');}}catch{}}[a25_0x144e10(0x161)](_0x528fe1,_0x12ecdb){const _0x395079=a25_0x144e10,_0x2d3ec9={'sNvEX':function(_0x15883,_0x4f649a){return _0x15883===_0x4f649a;}};this[_0x395079(0x15e)]['get'](_0x528fe1)?.[_0x395079(0x12f)](_0x12ecdb);if(_0x2d3ec9[_0x395079(0x17b)](this[_0x395079(0x15e)][_0x395079(0x166)](_0x528fe1)?.['size'],0x0))this[_0x395079(0x15e)][_0x395079(0x12f)](_0x528fe1);}}exports[a25_0x144e10(0x136)]=a25_0x39b399,exports[a25_0x144e10(0x160)]=new a25_0x39b399();
@@ -1,52 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * postinstall.js
5
- * Runs automatically after: npm install -g lexxit-automation-framework
6
- * Installs Playwright Chromium silently.
7
- */
8
-
9
- const { execSync } = require("child_process");
10
-
11
- const COLORS = {
12
- reset: "\x1b[0m",
13
- green: "\x1b[32m",
14
- yellow: "\x1b[33m",
15
- red: "\x1b[31m",
16
- cyan: "\x1b[36m",
17
- };
18
-
19
- function log(color, prefix, msg) {
20
- console.log(`${color}${prefix}${COLORS.reset} ${msg}`);
21
- }
22
-
23
- console.log(`
24
- ${COLORS.cyan}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
25
- lexxit-automation-framework — Post Install Setup
26
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${COLORS.reset}
27
- `);
28
-
29
- // ─── INSTALL PLAYWRIGHT CHROMIUM ─────────────────────────────────────────────
30
-
31
- log(COLORS.cyan, "[1/1]", "Installing Playwright Chromium browser...");
32
-
33
- try {
34
- execSync("npx playwright install chromium", {
35
- stdio: "inherit",
36
- timeout: 120000, // 2 minutes
37
- });
38
-
39
- log(COLORS.green, "✔", "Playwright Chromium installed successfully.\n");
40
- } catch (err) {
41
- log(
42
- COLORS.yellow,
43
- "⚠",
44
- "Playwright Chromium install failed. You can run it manually:"
45
- );
46
- console.log(" npx playwright install chromium\n");
47
- // Don't exit(1) — don't block the npm install itself
48
- }
49
-
50
- console.log(`${COLORS.green}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
51
- console.log(` Setup complete. Run: lexxit-automation-framework start`);
52
- console.log(`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${COLORS.reset}\n`);