Best JavaScript code snippet using root
commands.js
Source:commands.js
...5 * @short Commands6 * @desc7 *8 * UEditorä¸æ§è¡å½ä»¤çç»ä¸è°ç¨æ ¼å¼ä¸º9 * <code>editor.execCommand("cmdName"[,opt]);</code>10 *11 *12 * æ£æµå½åå½ä»¤æ¯å¦å¯ç¨çæ¹æ³æ¯13 * <code>editor.queryCommandState("cmdName");</code>14 *15 *16 * é¨åå½ä»¤å¯ä»¥è¿åå½ä»¤å¼ï¼å
¶æ ¼å¼ä¸º17 * <code>editor.queryCommandValue("cmdName");</code>18 */19/**20 * æå
¥éç¹21 * @name anchor22 * @grammar editor.execCommand("anchor","name"); //éç¹çåå23 */24/**25 * 为å½åéä¸æåæ·»å ç²ä½ææ26 * @name bold27 * @grammar editor.execCommand("bold");28 */29/**30 * 为å½åéä¸æåæ·»å æä½ææ31 * @name italic32 * @grammar editor.execCommand("italic");33 */34/**35 * 为å½åéä¸æåæ·»å ä¸å线ææ36 * @name underline37 * @grammar editor.execCommand("underline");38 */39/**40 * 为å½åéä¸æåæ·»å å é¤çº¿ææ41 * @name strikethrough42 * @grammar editor.execCommand("strikethrough");43 */44/**45 * å°å½åéä¸æå转æ¢æä¸æ 46 * @name superscript47 * @grammar editor.execCommand("superscript");48 */49/**50 * å°å½åéä¸æå转æ¢æä¸æ 51 * @name subscript52 * @grammar editor.execCommand("subscript");53 */54/**55 * 为å½åéä¸æåæ·»å é¢è²56 * @name foreColor57 * @grammar editor.execCommand("foreColor","#ffffff");58 */59/**60 * 为å½åéä¸æåæ·»å èæ¯é¢è²61 * @name backColor62 * @grammar editor.execCommand("backColor","#dddddd");63 */64/**65 * 设置å½åéä¸æåçåä½66 * @name fontFamily67 * @grammar editor.execCommand("fontFamily","微软é
é»,Microsoft YaHei");68 */69/**70 * 设置å½åéä¸æåçåå·71 * @name fontSize72 * @grammar editor.execCommand("fontSize","32px");73 */74/**75 * 设置å½åéåºç段è½æ ¼å¼,å¦p,h1,h2,h3,...76 * @name paragraph77 * @grammar editor.execCommand("paragraph","h1");78 */79/**80 * å°å½åéåºåæ¢ææåºæè
æ åºå表81 * @name insert(Un)OrderedList82 * @grammar editor.execCommand("insertOrderedList");83 */84/**85 * 设置å½åéåºçè¡é´è·86 * @name lineHeight87 * @grammar editor.execCommand("lineHeight");88 */89/**90 * 设置å½åéåºä¸çåä½å¯¹é½æ¹å¼91 * @name justify92 * @grammar editor.execCommand("justify",align); //alignå¯ä¸ºLeftï¼Rightï¼Centerï¼Justify93 */94/**95 * å°å½åéä¸æåä¸çåæ¯è½¬æ¢æ大å96 * @name toUppercase97 * @grammar editor.execCommand("toUppercase");98 */99/**100 * å°å½åéä¸æåä¸çåæ¯è½¬æ¢æå°å101 * @name toLowercase102 * @grammar editor.execCommand("toLowercase");103 */104/**105 * 为å½åéåºæå¨çå级å
ç´ æ·»å å¼ç¨æ è®°106 * @name blockquote107 * @grammar editor.execCommand("blockquote");108 */109/**110 * 设置å½åéåºæå¨å级å
ç´ çæåè¾å
¥æ¹å111 * @name directionality112 * @grammar editor.execCommand("directionality",dir); //dirå¯ä¸ºLTR,RTL113 */114/**115 * æ¸
é¤å½åéä¸æåä¸çæææ ·å¼æè
æå®æ ·å¼116 * @name removeFormat117 * @grammar editor.execCommand("removeFormat") //æ ¹æ®editor_config.jséçremoveFormatTagsï¼removeFormatAttributes两个å±æ§ä½ä¸ºè§å118 * @grammar editor.execCommand("removeFormat",tags,style); //æ¸
é¤æå®tagsä¸çæå®style119 * @example120 * editor.execCommand("removeFormat",'span,a','color,background-color')121 */122/**123 * åæ¢çº¯ææ¬ç²è´´æ¨¡å¼124 * @name pastePlain125 * @grammar ue.execCommand("pastePlain");126 */127/**128 * å¼å¯æ ¼å¼å·åè½129 * @name formatMatch130 * @grammar editor.execCommand("formatMatch");131 */132/**133 * æ¸
空ææ¡£134 * @name clearDoc135 * @grammar editor.execCommand("clearDoc");136 */137/**138 * å é¤å½åéä¸ææ¬139 * @name delete140 * @grammar editor.execCommand("delete");141 */142/**143 * å
¨é¨éæ©144 * @name selectAll145 * @grammar editor.execCommand("selectAll");146 */147/**148 * æ¤éæä½149 * @name undo150 * @grammar editor.execCommand("undo");151 */152/**153 * æ¢å¤æä½154 * @name redo155 * @grammar editor.execCommand("redo");156 */157/**158 * 对æ´ä¸ªç¼è¾ææ¡£è¿è¡èªå¨æç159 * @name autoTypeset160 * @grammar editor.execCommand("autoTypeset");161 */162/**163 * å¨å½åéåºä½ç½®æå
¥ä¸æ®µhtml代ç ï¼æåºæ¬åè½ã大é¨åå
¶ä»æå
¥å½ä»¤é½ä¼è°ç¨æ¤å½ä»¤å®ææåçæå
¥164 * @name insertHtml165 * @grammar editor.execCommand("insertHtml","欢è¿ä½¿ç¨UEditorï¼")166 */167/**168 * å¨å½åéåºä½ç½®æå
¥ä¸ä¸ªè¶
é¾æ¥169 * @name link170 * @grammar editor.execCommand("link",linkObj);171 * @example172 * editor.execCommand("link",{173 * href: "http://ueditor.baidu.com", //è¶
é¾å°åï¼å¿
é174 * data_ue_src: "http://ueditor.baidu.com", //UEå
é¨ä½¿ç¨åæ°ï¼ä¸hrefä¿æä¸è´å³å¯ï¼å¯é175 * target: "_self", //ç®æ çªå£ï¼å¯é176 * textValue: "UEditor", //é¾æ¥æ¾ç¤ºææ¬ï¼å¯é177 * title: "ç¾åº¦å¼æºå¯ææ¬ç¼è¾å¨UEditorå®ç½" //æ é¢ï¼å¯é178 * })179 */180/**181 * å¨å½åéåºä½ç½®æå
¥ä¸ä¸ªå¾ç182 * @name insertImage183 * @grammar editor.execCommand("insertImage",imageObj);184 * @example185 * editor.execCommand("insertImage",{186 * src: "http://ueditor.baidu.com/logo.jpg", //å¾çé¾æ¥å°å,å¿
é187 * data_ue_src: "http://ueditor.baidu.com/logo.jpg", //UEå
é¨ä½¿ç¨åæ°ï¼ä¸srcä¿æä¸è´å³å¯ï¼å¯é188 * width: 300, //å¾çæ¾ç¤ºå®½åº¦ï¼å¯é189 * height: 400, //å¾çæ¾ç¤ºé«åº¦ï¼å¯é190 * border: 2, //å¾çè¾¹æ¡ï¼å¯é191 * hspace: 5, //å¾çå·¦å³è¾¹è·ï¼å¯é192 * vspace: 2, //å¾çä¸ä¸è¾¹è·ï¼å¯é193 * alt: 'UEditor-logo', //å¾çæ¿æ¢æåï¼å¯é194 * title: "ç¾åº¦å¼æºå¯ææ¬ç¼è¾å¨UEditorå®ç½" //å¾çæ é¢ï¼å¯é195 * })196 */197/**198 * å¨å½åéåºä½ç½®æå
¥ä¸ä¸ªè§é¢199 * @name insertVideo200 * @grammar editor.execCommand("insertVideo",videoObj);201 * @example202 * editor.execCommand("insertVideo",{203 * url: "http://youku.com/id?id=1233122", //è§é¢å°åï¼å¿
é204 * width: 420, //è§é¢å®½åº¦ï¼å¯é205 * height: 280, //è§é¢é«åº¦ï¼å¯é206 * align: "none" //对é½æ¹å¼ï¼æ¯ærightï¼leftï¼centerï¼none ï¼å¯é207 * })208 */209/**210 * å¨å½åéåºä½ç½®æå
¥ä¸ä¸ªæ¥ææè
æ¶é´211 * @name date|time212 * @grammar editor.execCommand("date");213 */214/**215 * å¨å½åéåºä½ç½®æå
¥ä¸ä¸ªå页符æ è®°216 * @name pageBreak217 * @grammar editor.execCommand("pageBreak");218 */219/**220 * åæ¢æºç ç¼è¾æ¨¡å¼åå¯ææ¬ç¼è¾æ¨¡å¼221 * @name source222 * @grammar editor.execCommand("source");223 */224/**225 * IEä¸è¿å
¥æªå±æ¨¡å¼226 * @name snapScreen227 * @grammar editor.execCommand("snapScreen");228 */229/**230 * æå
¥è¡¨æ ¼231 * @name insertTable232 * @grammar editor.execCommand("insertTable",rows,cols);233 */234/**235 * æ¥æ¾æ¿æ¢236 * @name searchreplace237 * @grammar editor.execCommand("searchreplace",opt);238 * @desc239 * optæ¯ä¸ªjson对象,å±æ§å¦ä¸240 * * ''all'' true表示æ¥æ¾æ´ä¸ªææ¡£ï¼false表示ä»ä¸æ¬¡çä½ç½®å¼å§æ¥æ¾,é»è®¤æ¯false241 * * ''casesensitive'' 大å°åéæï¼trueæ¯éæ,é»è®¤æ¯false242 * * ''dir'' 1表示ä»åå¾åæ¥ï¼ï¼1表示ä»åå¾å243 * * ''searchStr'' æ¥æ¾çå符串244 * * ''replaceStr'' æ¿æ¢ç¨çå符串...
plugin.js
Source:plugin.js
...15 title: 'DF Shortcodes',16 onclick : function(e) {},17 menu: [18 {text: 'Animation',onclick:function(){19 editor.execCommand("zillaPopup", false, {title: 'Animation',identifier: 'animate'})20 }},21 {text: 'Alerts',onclick:function(){22 editor.execCommand("zillaPopup", false, {title: 'Alerts',identifier: 'alert'})23 }},24 {text: 'Columns',onclick:function(){25 editor.execCommand("zillaPopup", false, {title: 'Columns',identifier: 'columns'})26 }},27 {text: 'Columns Inner',onclick:function(){28 editor.execCommand("zillaPopup", false, {title: 'Columns Inner',identifier: 'columns_inner'})29 }},30 {31 text: 'Elements',32 menu: [33 {text: 'Accordion',onclick:function(){34 editor.execCommand("zillaPopup", false, {title: 'Accordion',identifier: 'accordion'})35 }},36 {text: 'Buttons',onclick:function(){37 editor.execCommand("zillaPopup", false, {title: 'Buttons',identifier: 'button'})38 }},39 {text: 'Call to Action',onclick:function(){40 editor.execCommand("zillaPopup", false, {title: 'Call to Action',identifier: 'cta'})41 }},42 {text: 'Circular Bar',onclick:function(){43 editor.execCommand("zillaPopup", false, {title: 'Circular Bar',identifier: 'circular_bar'})44 }},45 {text: 'Counter',onclick:function(){46 editor.execCommand("zillaPopup", false, {title: 'Counter',identifier: 'counter'})47 }},48 {text: 'Tabs',onclick:function(){49 editor.execCommand("zillaPopup", false, {title: 'Tabs',identifier: 'tabs'})50 }},51 {text: 'Partners',onclick:function(){52 editor.execCommand("zillaPopup", false, {title: 'Partners',identifier: 'partners'})53 }},54 {text: 'Pricing Table',onclick:function(){55 editor.execCommand("zillaPopup", false, {title: 'Pricing Table',identifier: 'pricing_table'})56 }},57 {text: 'Progress Bar',onclick:function(){58 editor.execCommand("zillaPopup", false, {title: 'Progress Bar',identifier: 'progress'})59 }},60 {text: 'Section',onclick:function(){61 editor.execCommand("zillaPopup", false, {title: 'Section',identifier: 'section'})62 }},63 {text: 'Table',onclick:function(){64 editor.execCommand("zillaPopup", false, {title: 'Table',identifier: 'table'})65 }},66 {text: 'Team Member',onclick:function(){67 editor.execCommand("zillaPopup", false, {title: 'Team Member',identifier: 'member'})68 }},69 {text: 'Testimonial',onclick:function(){70 editor.execCommand("zillaPopup", false, {title: 'Testimonial',identifier: 'testimonial'})71 }},72 ]73 },74 {text: 'Icobox',onclick:function(){75 editor.execCommand("zillaPopup", false, {title: 'Icobox',identifier: 'icobox'})76 }},77 {78 text: 'Typography',79 menu: [80 {text: 'Box',onclick:function(){81 editor.execCommand("zillaPopup", false, {title: 'Box',identifier: 'box'})82 }},83 {text: 'Dropcaps',onclick:function(){84 editor.execCommand("zillaPopup", false, {title: 'Dropcaps',identifier: 'dropcap'})85 }},86 {text: 'Horizontal Rules',onclick:function(){87 editor.execCommand("zillaPopup", false, {title: 'Horizontal Rules',identifier: 'hr'})88 }},89 {text: 'Icon (FontAwesome)',onclick:function(){90 editor.execCommand("zillaPopup", false, {title: 'Icon (FontAwesome)',identifier: 'icon'})91 }},92 {text: 'Icon (Entypo)',onclick:function(){93 editor.execCommand("zillaPopup", false, {title: 'Icon (Entypo)',identifier: 'entypo_icon'})94 }},95 {text: 'Image Raw',onclick:function(){96 editor.execCommand("zillaPopup", false, {title: 'Image Raw',identifier: 'img_raw'})97 }},98 {text: 'Lists',onclick:function(){99 editor.execCommand("zillaPopup", false, {title: 'Lists',identifier: 'list'})100 }},101 {text: 'Pullquote',onclick:function(){102 editor.execCommand("zillaPopup", false, {title: 'Pullquote',identifier: 'pullquote'})103 }},104 {text: 'Spacers',onclick:function(){105 editor.execCommand("zillaPopup", false, {title: 'Spacers',identifier: 'spacer'})106 }},107 ]108 },109 {110 text: 'Posts',111 menu: [112 {text: 'Blog Posts',onclick:function(){113 editor.execCommand("zillaPopup", false, {title: 'Blog Posts',identifier: 'posts'})114 }},115 {text: 'Portfolio',onclick:function(){116 editor.execCommand("zillaPopup", false, {title: 'Portfolio Items',identifier: 'portfolio'})117 }},118 ]119 },120 {121 text: 'WP Job Manager',122 menu: [123 {text: 'Jobs',onclick:function(){124 editor.execCommand("zillaPopup", false, {title: 'Jobs',identifier: 'jobs'})125 }},126 {text: 'Job Single',onclick:function(){127 editor.execCommand("zillaPopup", false, {title: 'Job',identifier: 'job'})128 }},129 {text: 'Job Summary',onclick:function(){130 editor.execCommand("zillaPopup", false, {title: 'Job Summary',identifier: 'job_summary'})131 }},132 {text: 'Job Submit Form',onclick:function(){133 editor.execCommand("mceInsertContent", false, '[submit_job_form]')134 }},135 {text: 'Job Dashboard',onclick:function(){136 editor.execCommand("mceInsertContent", false, '[job_dashboard]')137 }},138 {text: 'Jobs Slider',onclick:function(){139 editor.execCommand("zillaPopup", false, {title: 'Jobs Slider',identifier: 'jobs_slider'})140 }},141 {text: 'Jobs Feed',onclick:function(){142 editor.execCommand("zillaPopup", false, {title: 'Jobs Feed',identifier: 'jobs_feed'})143 }},144 {text: 'Counter Stats',onclick:function(){145 editor.execCommand("zillaPopup", false, {title: 'Counter Stats',identifier: 'counter_stats'})146 }},147 {text: 'Resumes',onclick:function(){148 editor.execCommand("zillaPopup", false, {title: 'Resumes',identifier: 'resumes'})149 }},150 {text: 'Resume Summary',onclick:function(){151 editor.execCommand("zillaPopup", false, {title: 'Resume Summary',identifier: 'resume_summary'})152 }},153 {text: 'Resume Submit Form',onclick:function(){154 editor.execCommand("mceInsertContent", false, '[submit_resume_form]')155 }},156 {text: 'Resumes Slider',onclick:function(){157 editor.execCommand("zillaPopup", false, {title: 'Resumes Slider',identifier: 'resumes_slider'})158 }},159 {text: 'Resumes Feed',onclick:function(){160 editor.execCommand("zillaPopup", false, {title: 'Resumes Feed',identifier: 'resumes_feed'})161 }},162 {text: 'Candidate Dashboard',onclick:function(){163 editor.execCommand("mceInsertContent", false, '[candidate_dashboard]')164 }},165 {text: 'Summaries Slider',onclick:function(){166 editor.execCommand("zillaPopup", false, {title: 'Summaries Slider',identifier: 'summaries'})167 }},168 ]169 },170 ]171 });172 });173 174 ...
Using AI Code Generation
1var exec = require('child_process').exec;2var child;3child = exec("pwd", function (error, stdout, stderr) {4 console.log('stdout: ' + stdout);5 console.log('stderr: ' + stderr);6 if (error !== null) {7 console.log('exec error: ' + error);8 }9});10child = exec("ls -lh /usr", function (error, stdout, stderr) {11 console.log('stdout: ' + stdout);12 console.log('stderr: ' + stderr);13 if (error !== null) {14 console.log('exec error: ' + error);15 }16});17child = exec("find / -type f | wc -l", function (error, stdout, stderr) {18 console.log('stdout: ' + stdout);19 console.log('stderr: ' + stderr);20 if (error !== null) {21 console.log('exec error: ' + error);22 }23});24child = exec("du -h", function (error, stdout, stderr) {25 console.log('stdout: ' + stdout);26 console.log('stderr: ' + stderr);27 if (error !== null) {28 console.log('exec error: ' + error);29 }30});31child = exec("df -h", function (error, stdout, stderr) {32 console.log('stdout: ' + stdout);33 console.log('stderr: ' + stderr);34 if (error !== null) {35 console.log('exec error: ' + error);36 }37});38var execFile = require('child_process').execFile;39var child;40child = execFile('pwd', function(error, stdout, stderr) {41 console.log('stdout: ' + stdout);42 console.log('stderr: ' + stderr);43 if (error !== null) {44 console.log('exec error: ' + error);45 }46});47child = execFile('ls', ['-lh', '/usr'], function(error, stdout, stderr) {48 console.log('stdout: ' + stdout);49 console.log('stderr: ' +
Using AI Code Generation
1var exec = require('child_process').exec;2var child;3child = exec('pwd', function (error, stdout, stderr) {4 console.log('stdout: ' + stdout);5 console.log('stderr: ' + stderr);6 if (error !== null) {7 console.log('exec error: ' + error);8 }9});10child = exec('ls', function (error, stdout, stderr) {11 console.log('stdout: ' + stdout);12 console.log('stderr: ' + stderr);13 if (error !== null) {14 console.log('exec error: ' + error);15 }16});17child = exec('cat test.js', function (error, stdout, stderr) {18 console.log('stdout: ' + stdout);19 console.log('stderr: ' + stderr);20 if (error !== null) {21 console.log('exec error: ' + error);22 }23});24child = exec('ls -l', function (error, stdout, stderr) {25 console.log('stdout: ' + stdout);26 console.log('stderr: ' + stderr);27 if (error !== null) {28 console.log('exec error: ' + error);29 }30});31child = exec('ls -a', function (error, stdout, stderr) {32 console.log('stdout: ' + stdout);33 console.log('stderr: ' + stderr);34 if (error !== null) {35 console.log('exec error: ' + error);36 }37});38child = exec('ls -la', function (error, stdout, stderr) {39 console.log('stdout: ' + stdout);40 console.log('stderr: ' + stderr);41 if (error !== null) {42 console.log('exec error: ' + error);43 }44});45child = exec('ls -la', function (error, stdout, stderr) {46 console.log('stdout: ' + stdout);47 console.log('stderr: ' + stderr);48 if (error !== null) {49 console.log('exec error: ' + error);50 }51});52child = exec('ls -a -l', function (error, stdout
Using AI Code Generation
1function execCommand(command, arg) {2 document.execCommand(command, false, arg);3}4function execCommand(command, arg) {5 document.execCommand(command, false, arg);6}7function queryCommandValue(command) {8 return document.queryCommandValue(command);9}10function queryCommandState(command) {11 return document.queryCommandState(command);12}13function queryCommandEnabled(command) {14 return document.queryCommandEnabled(command);15}16function queryCommandSupported(command) {17 return document.queryCommandSupported(command);18}19function queryCommandIndeterm(command) {20 return document.queryCommandIndeterm(command);21}22function queryCommandSupported(command) {23 return document.queryCommandSupported(command);24}25function queryCommandIndeterm(command) {26 return document.queryCommandIndeterm(command);27}28function queryCommandSupported(command) {29 return document.queryCommandSupported(command);30}31function queryCommandIndeterm(command) {32 return document.queryCommandIndeterm(command);33}34function queryCommandSupported(command) {35 return document.queryCommandSupported(command);36}37function queryCommandIndeterm(command) {38 return document.queryCommandIndeterm(command);39}40function queryCommandSupported(command) {41 return document.queryCommandSupported(command);42}43function queryCommandIndeterm(command) {44 return document.queryCommandIndeterm(command);45}46function queryCommandSupported(command) {47 return document.queryCommandSupported(command);48}49function queryCommandIndeterm(command) {
Using AI Code Generation
1var root = require('root');2root.execCommand('ls -l', function(err, res) {3 if (err) {4 console.log("Error: " + err);5 } else {6 console.log(res);7 }8});
Using AI Code Generation
1var exec = require('cordova/exec');2var test = function() {};3test.prototype.test = function(successCallback, errorCallback) {4 return exec(successCallback, errorCallback, 'test', 'test', []);5};6module.exports = new test();7var test = new cordova.plugins.test();8test.test(function(result) {9 console.log(result);10}, function(error) {11 console.log(error);12});13cordova.plugins.test.test(function(result) {14 console.log(result);15}, function(error) {16 console.log(error);17});18cordova.exec(function(result) {19 console.log(result);20}, function(error) {21 console.log(error);22}, 'test', 'test', []);23var test = new cordova.plugins.test();24test.test(function(result) {25 console.log(result);26}, function(error) {27 console.log(error);28});29cordova.plugins.test.test(function(result) {30 console.log(result);31}, function(error) {32 console.log(error);33});34cordova.exec(function(result) {35 console.log(result);36}, function(error) {37 console.log(error);38}, 'test', 'test', []);39cordova.exec(function(result) {
Using AI Code Generation
1function execCommand(command, value) {2 document.execCommand(command, false, value);3 document.getElementById('editor').focus();4}5function queryCommandValue(command) {6 var value = document.queryCommandValue(command);7 document.getElementById('editor').focus();8 return value;9}10function queryCommandState(command) {11 var state = document.queryCommandState(command);12 document.getElementById('editor').focus();13 return state;14}15function queryCommandSupported(command) {16 var supported = document.queryCommandSupported(command);17 document.getElementById('editor').focus();18 return supported;19}20function queryCommandEnabled(command) {21 var enabled = document.queryCommandEnabled(command);22 document.getElementById('editor').focus();23 return enabled;24}25function setFocus() {26 document.getElementById('editor').focus();27}28function getSelection() {29 return document.getSelection();30}31function getRange() {32 return document.getSelection().getRangeAt(0);33}34function getSelectedHtml() {35 var range = document.getSelection().getRangeAt(0);36 var clonedSelection = range.cloneContents();37 var div = document.createElement('div');38 div.appendChild(clonedSelection);39 return div.innerHTML;40}
Using AI Code Generation
1$scope.$root.$emit('execCommand', {2});3$scope.$on('execCommand', function(event, data) {4 console.log(data.command);5 console.log(data.data);6});
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!!