Files
openlayers/master/examples/test_recorder.html
Éric Lemoine 5d14b9e2d4 Updated
2013-02-20 10:38:25 +01:00

104 lines
3.6 KiB
HTML

<!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"
djConfig="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>