UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

104 lines (97 loc) 3.59 kB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Dojox Recorder Test</title> <style> @import "../../../dojo/resources/dojo.css"; @import "../../../dijit/tests/css/dijitTests.css"; </style> <!-- required: the default dijit theme: --> <link id="themeStyles" rel="stylesheet" href="../../../dijit/themes/tundra/tundra.css"> <!-- required: dojo.js --> <script type="text/javascript" src="../../../dojo/dojo.js" data-dojo-config="isDebug: true, parseOnLoad: true"></script> <!-- only needed for alternate theme testing: --> <script type="text/javascript" src="../../../dijit/tests/_testCommon.js"></script> <script type="text/javascript"> dojo.require("dijit.dijit"); dojo.require("dijit.form.ComboBox"); dojo.require("dijit.robot"); dojo.require("dojox.robot.recorder"); dojo.addOnLoad(function(){ doh.register('dojox.robot.AutoGeneratedTestGroup',{ // would be nice to have Deferred support for setUp/tearDown name: 'setUp', timeout: 5100, runTest: function(){ var d = new doh.Deferred(); // start the recorder and close the alert dojo.byId('textbox').value=""; doh.robot.mouseMoveAt('safeclick'); doh.robot.mouseClick({left:true, middle:false, right:false}, 3); doh.robot.keyPress(dojo.keys.ENTER, 3000,null,true); doh.robot.keyPress(dojo.keys.ENTER, 1000,{ctrl:true,alt:true}); setTimeout(function(){ d.callback(true); },5000); return d; } }); doh.register('dojox.robot.AutoGeneratedTestGroup',{ name: 'autotest0', timeout: 8879, runTest: function(){ var d = new doh.Deferred(); // Safari/Mac stops listening to mouse movement after the alert pops up in the runner // click to wake it up doh.robot.mouseMoveAt('safeclick'); doh.robot.mouseClick({left:true, middle:false, right:false}); doh.robot.mouseMove(196, 124, 353,true); doh.robot._scrollIntoView('widget_combo'); doh.robot.mouseMoveAt(dijit.byId('combo').downArrowNode, 18, 100, 1, 7); doh.robot.mouseClick({left:true, middle:false, right:false}, 1); doh.robot.mouseMove(195, 124, 546,true); doh.robot.mouseMove(174, 165, 16,true); doh.robot.mouseMoveAt('combo_popup2', 483, 100, 148, 5); doh.robot.mouseClick({left:true, middle:false, right:false}, 1); doh.robot.mouseMove(155, 195, 334,true); doh.robot.mouseMoveAt('textbox', 331, 100, 131, 11); doh.robot.mouseClick({left:true, middle:false, right:false}, 1); doh.robot.typeKeys('test me', 602, 1500); doh.robot.keyPress(dojo.keys.ENTER, 500,{ctrl:true,alt:true}); doh.robot.sequence(function(){ var div=dojo.byId('dojox.robot.recorder'); var text; if(div["innerText"] !== undefined){ text = div.innerText; }else if(div["textContent"]){ text = div.textContent; } var re = new RegExp ("MoveAt.*Click.*Move.*scrollIntoView.*MoveAt.*Click.*Move\\(.*MoveAt.*Click.*Move\\(.*MoveAt.*Click.*typeKeys"); if(re.test(text.replace(/[\n\r\t]/g))){ d.callback(true); }else{ d.errback(new Error('We got a failure')); } }, 1000); return d; } }); doh.run(); }); </script> </head> <body class="tundra"> <h1 id="safeclick">Recorder will use the DOH robot to record a test by itself.</h1> <p>dijit.form.ComboBox:</p> <select dojoType="dijit.form.ComboBox" id="combo"> <option>A</option> <option>B</option> <option>C</option> </select> <p>Native element:</p> <input type="text" id="textbox"> </body> </html>