adam
|
294
|
1
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
adam
|
260
|
4
|
<head>
|
adam
|
118
|
5
|
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
|
adam
|
182
|
6
|
<title>Windmill IDE</title>
|
adam
|
118
|
7
|
|
adam
|
491
|
8
|
<link rel="stylesheet" type="text/css" href="css/windmill.css"/>
|
adam
|
847
|
9
|
<link rel="stylesheet" type="text/css" href="css/jquery.css"/>
|
adam
|
983
|
10
|
<link rel="stylesheet" type="text/css" href="css/superfish.css" media="screen">
|
adam
|
885
|
11
|
|
adam
|
941
|
12
|
<script type='text/javascript' src='js/lib/jquery/jquery-1.2.6.pack.js'></script>
|
adam
|
847
|
13
|
<script type="text/javascript" charset="utf-8">
|
|
14
|
jQuery.noConflict();
|
|
15
|
</script>
|
adam
|
941
|
16
|
<script type='text/javascript' src='js/lib/jquery/jquery-ui-wm-1.6b.min.js'></script>
|
|
17
|
<script type='text/javascript' src='js/lib/jquery/ui.progressbar.js'></script>
|
adam
|
983
|
18
|
<script type="text/javascript" src="js/lib/jquery/hoverIntent.js"></script>
|
|
19
|
<script type="text/javascript" src="js/lib/jquery/superfish.js"></script>
|
adam
|
895
|
20
|
<script type="text/javascript">
|
adam
|
867
|
21
|
jQuery(function(){
|
adam
|
895
|
22
|
//tabs
|
|
23
|
jQuery('#tabs ul').tabs();
|
|
24
|
jQuery("#dialog").dialog({ autoOpen: false });
|
|
25
|
jQuery('.ui-tabs-nav').bind('tabsshow', function(event, ui) {
|
|
26
|
ui.panel.style.height = "95%";
|
adam
|
983
|
27
|
jQuery('ul.sf-menu').superfish({
|
|
28
|
speed: 'fast',
|
|
29
|
autoArrows: false,
|
|
30
|
dropShadows: false
|
|
31
|
});
|
adam
|
895
|
32
|
});
|
|
33
|
});
|
adam
|
847
|
34
|
</script>
|
adam
|
205
|
35
|
</head>
|
mde
|
358
|
36
|
<body>
|
adam
|
983
|
37
|
<img style="position:absolute;" id="icon" src="img/wmIcon.png" alt="Welcome to Windmill!">
|
|
38
|
|
|
39
|
<div id="menu" style="position:relative;height:20px;z-index:99;">
|
|
40
|
<ul class="sf-menu" style="float:right;">
|
|
41
|
<li class="current">
|
|
42
|
<a href="#a">Test Building</a>
|
|
43
|
<ul id="actionDD">
|
|
44
|
<li>
|
|
45
|
<a id="addSuite" href="#aa">New Suite</a>
|
|
46
|
</li>
|
adam
|
986
|
47
|
<li>
|
adam
|
983
|
48
|
<a id="addAction" href="#ab">New Action</a>
|
|
49
|
</li>
|
|
50
|
<li>
|
|
51
|
<a id="clearIDE" href="#">Clear IDE</a>
|
|
52
|
</li>
|
|
53
|
</ul>
|
|
54
|
</li>
|
|
55
|
<li>
|
|
56
|
<a href="#">Tools</a>
|
|
57
|
<ul>
|
|
58
|
<li>
|
adam
|
986
|
59
|
<a href="#" onclick="javascript:openFirebug()">Firebug Lite</a>
|
adam
|
983
|
60
|
</li>
|
|
61
|
<li>
|
|
62
|
<a href="#" onclick="javascript:openSettings()">Settings</a>
|
|
63
|
</li>
|
|
64
|
</ul>
|
|
65
|
</li>
|
|
66
|
<li>
|
|
67
|
<a href="#">Information</a>
|
|
68
|
<ul>
|
|
69
|
<li>
|
|
70
|
<a target="_blank" href="http://www.getwindmill.com">Homepage</a>
|
|
71
|
</li>
|
|
72
|
<li>
|
|
73
|
<a target="_blank" href="http://trac.getwindmill.com/wiki">Wiki</a>
|
|
74
|
</li>
|
|
75
|
<li>
|
|
76
|
<a target="_blank" href="http://trac.getwindmill.com/report">Tickets</a>
|
|
77
|
</li>
|
|
78
|
<li>
|
|
79
|
<a target="_blank" href="http://trac.getwindmill.com/browser">Source</a>
|
|
80
|
</li>
|
|
81
|
<li>
|
|
82
|
<a target="_blank" href="http://www.getwindmill.com/documentation">Docs</a>
|
|
83
|
</li>
|
|
84
|
</ul>
|
|
85
|
</li>
|
|
86
|
</ul>
|
|
87
|
</div>
|
|
88
|
|
|
89
|
<div id="cover">
|
|
90
|
<div style="position:absolute;top:40%;left:20%">
|
|
91
|
<center><div style="font-weight:bold;font-size:14px;" id="loadMessage">Starting Up..</div></center><br>
|
|
92
|
<center><img src="img/loading.gif"></center>
|
|
93
|
</div>
|
adam
|
793
|
94
|
</div>
|
adam
|
983
|
95
|
<div id="runningStatus" align="center">
|
|
96
|
<br><br><br><br><br>
|
adam
|
941
|
97
|
<center><h2>Loading, Please Wait...</h2></center>
|
|
98
|
<center><div id="progressbar"></div></center>
|
adam
|
747
|
99
|
</div>
|
adam
|
260
|
100
|
|
adam
|
747
|
101
|
<div id="controllers">
|
|
102
|
<a href="#" title="Toggle Recorder">
|
|
103
|
<img height="28px" width="28px" alt="Toggle Recorder" name='record'
|
|
104
|
id="record" border=no src="img/record.png" onClick="toggleRec();">
|
|
105
|
</a>
|
adam
|
610
|
106
|
|
adam
|
747
|
107
|
<a href="#" title="Play All">
|
|
108
|
<img height="28px" width="28px" alt="Play All" name ='playback'
|
|
109
|
id="playback" border=no src="img/playback.png" onClick="togglePlay();">
|
|
110
|
</a>
|
adam
|
610
|
111
|
|
adam
|
747
|
112
|
<a href="#" title="Toggle DOM Explorer">
|
|
113
|
<img height="28px" width="28px" alt="Toggle DOM Explorer" name ='explorer'
|
|
114
|
id="explorer" border=no src="img/xon.png" onClick="toggleExplore();">
|
|
115
|
</a>
|
adam
|
610
|
116
|
|
adam
|
747
|
117
|
<a href="#" title="Toggle Assert Explorer">
|
|
118
|
<img height="28px" width="28px" alt="Toggle Assert Explorer" name ='assertx'
|
|
119
|
id="assertx" border=no src="img/axon.png" onClick="toggleAExplore();">
|
|
120
|
</a>
|
|
121
|
</div>
|
adam
|
260
|
122
|
|
adam
|
747
|
123
|
<div id="domExp"></div>
|
adam
|
983
|
124
|
<div id="tabs">
|
adam
|
847
|
125
|
<ul>
|
|
126
|
<li class="ui-tabs-nav-item"><a href="#actionsTab">Actions</a></li>
|
|
127
|
<li class="ui-tabs-nav-item"><a href="#outputTab">Output</a></li>
|
|
128
|
<li class="ui-tabs-nav-item"><a href="#performanceTab">Performance</a></li>
|
|
129
|
</ul>
|
|
130
|
|
adam
|
983
|
131
|
<div id="actionsTab" style="padding:0px;margin:0px;">
|
|
132
|
<div id="ide">
|
|
133
|
<form id="ideForm" name="ideForm" onsubmit="return false;" onscroll="scroll();"></form>
|
adam
|
847
|
134
|
</div>
|
|
135
|
</div>
|
|
136
|
|
adam
|
983
|
137
|
<div id="outputTab" style="padding:0px;margin:0px;padding-left:5px;">
|
adam
|
847
|
138
|
<div class="tab">
|
|
139
|
<div id="resOut"></div>
|
|
140
|
</div>
|
|
141
|
</div>
|
|
142
|
|
adam
|
983
|
143
|
<div id="performanceTab" style="padding:0px;margin:0px;padding-left:5px;">
|
adam
|
847
|
144
|
<div class="tab">
|
|
145
|
<div id="perfOut"></div>
|
|
146
|
</div>
|
|
147
|
</div>
|
|
148
|
|
|
149
|
</div>
|
|
150
|
|
|
151
|
<div id="dialog" style="padding-top:0px;margin-top:0px;">
|
adam
|
884
|
152
|
<div id="settings" style="font-size:12px;">
|
adam
|
847
|
153
|
<form id='settingsForm' name='settingsForm'>
|
|
154
|
<h3 style="color:#25444e">Windmill Settings</h3>
|
|
155
|
<strong>System</strong><br>
|
|
156
|
<table>
|
|
157
|
<tr>
|
|
158
|
<td>Throw JavaScript errors, full debug:</td>
|
|
159
|
<td> <INPUT TYPE=checkbox UNCHECKED ID='throwDebug'></td>
|
|
160
|
</tr>
|
|
161
|
<tr>
|
|
162
|
<td>Break on failure:</td>
|
|
163
|
<td> <INPUT TYPE=checkbox UNCHECKED ID='toggleBreak' onclick="windmill.ui.toggleBreak();"></td>
|
|
164
|
</tr>
|
|
165
|
<tr>
|
|
166
|
<td>Suppress Javascript Alerts:</td><td> <INPUT TYPE=checkbox UNCHECKED ID='jsAlerts'></td>
|
|
167
|
</tr>
|
|
168
|
<tr>
|
|
169
|
<td>Suite Save Formatting:</td>
|
|
170
|
<td>
|
|
171
|
<SELECT id="suiteSaveFormat" NAME="suiteSaveFormat">
|
|
172
|
<OPTION value="python" selected>python</option>
|
|
173
|
<OPTION value="json">json</option>
|
|
174
|
</SELECT>
|
|
175
|
</td>
|
|
176
|
</tr>
|
|
177
|
</table><br>
|
|
178
|
|
|
179
|
<strong>IDE/Recorder</strong>
|
|
180
|
<table>
|
|
181
|
<tr>
|
|
182
|
<td>Auto Scroll IDE to bottom:</td>
|
|
183
|
<td> <INPUT TYPE=checkbox CHECKED ID='autoScroll'></td>
|
|
184
|
</tr>
|
|
185
|
<tr>
|
|
186
|
<td>Absolute click sensitivity when recording:</td>
|
|
187
|
<td><INPUT TYPE=checkbox CHECKED ID='clickOn'></td>
|
|
188
|
</tr>
|
|
189
|
<tr>
|
|
190
|
<td>Action play button cascades:</td>
|
|
191
|
<td> <INPUT TYPE=checkbox UNCHECKED ID='playCascade'></td>
|
|
192
|
</tr>
|
|
193
|
<tr>
|
|
194
|
<td>Use XPath only for explorer/recorder:</td>
|
|
195
|
<td> <INPUT TYPE=checkbox UNCHECKED ID='useXpath'></td>
|
|
196
|
</tr>
|
|
197
|
<tr>
|
|
198
|
<td>Record detailed XPath's (vs absolute):</td>
|
adam
|
869
|
199
|
<td> <INPUT TYPE=checkbox CHECKED ID='absXpaths'></td>
|
adam
|
847
|
200
|
</tr>
|
|
201
|
<tr>
|
|
202
|
<td>Play action by hitting 'return/enter':</td>
|
|
203
|
<td> <INPUT TYPE=checkbox CHECKED ID='playOnReturn'></td>
|
|
204
|
</tr>
|
adam
|
880
|
205
|
<tr>
|
|
206
|
<td>Cross Browser compatibility mode:</td>
|
|
207
|
<td> <INPUT TYPE=checkbox UNCHECKED ID='xbrowsercompat'></td>
|
|
208
|
</tr>
|
adam
|
847
|
209
|
</table>
|
|
210
|
<center> <a id="loopLink" href = "#" onclick="javascript:toggleLoop();">
|
|
211
|
Toggle Service Loop
|
|
212
|
</a>   |  
|
adam
|
923
|
213
|
<a href='#' onclick="windmill.testWin().document.location.reload()">
|
adam
|
847
|
214
|
Reload Testing Application
|
|
215
|
</a>
|
|
216
|
</center>
|
|
217
|
</form>
|
|
218
|
</div>
|
|
219
|
|
|
220
|
</div>
|
adam
|
983
|
221
|
<div style="position:absolute;left:85%;top:95%;background:#FFF" id="mouseExp"></div>
|
adam
|
118
|
222
|
</body>
|
adam
|
747
|
223
|
<script type="text/javascript">
|
adam
|
979
|
224
|
jQuery("#progressbar").progressBar({ width: '120', barImage: '/windmill-serv/img/progressbar/progressbg_black.gif'} );
|
|
225
|
|
adam
|
941
|
226
|
//function to increment the progress bar if we aren't in IE
|
|
227
|
incProgressBar = function(){
|
adam
|
955
|
228
|
if (typeof progress == "undefined") {
|
adam
|
956
|
229
|
progress = 10;
|
adam
|
941
|
230
|
}
|
adam
|
956
|
231
|
else { progress = progress + 10; }
|
adam
|
982
|
232
|
if (progress <= 100){
|
|
233
|
//Keep it from going over 100%
|
|
234
|
jQuery("#progressbar").progressBar(progress);
|
|
235
|
}
|
adam
|
941
|
236
|
}
|
|
237
|
|
|
238
|
//define the path to try to pull the compressed JS from
|
adam
|
885
|
239
|
var path = "/windmill-compressor/windmill.js";
|
|
240
|
|
|
241
|
//use document.write to include all the non cooked files
|
|
242
|
var noFile = function(s){
|
adam
|
895
|
243
|
//Double check to make sure we aren't loading windmill src twice
|
adam
|
897
|
244
|
if (typeof(windmill) != "undefined"){ return; }
|
adam
|
923
|
245
|
jQuery("#loadMessage").html("Reverting to JavaScript includes..");
|
adam
|
895
|
246
|
|
|
247
|
//Define all the files to be loaded
|
|
248
|
var scriptsArr = [];
|
|
249
|
scriptsArr.push('js/lib/fleegix.js')
|
|
250
|
scriptsArr.push('js/lib/hash.js')
|
adam
|
941
|
251
|
scriptsArr.push('js/lib/firebug/pi.js')
|
|
252
|
scriptsArr.push('js/lib/firebug/firebug-lite.js')
|
adam
|
914
|
253
|
if (!/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
|
|
254
|
scriptsArr.push('js/lib/json2.js')
|
|
255
|
}
|
adam
|
895
|
256
|
scriptsArr.push('js/lib/browserdetect.js')
|
|
257
|
scriptsArr.push('js/wm/windmill.js')
|
|
258
|
scriptsArr.push('js/lib/getXPath.js')
|
|
259
|
scriptsArr.push('js/lib/elementslib.js')
|
|
260
|
scriptsArr.push('js/lib/ajaxslt/xmltoken.js')
|
|
261
|
scriptsArr.push('js/lib/ajaxslt/dom.js')
|
|
262
|
scriptsArr.push('js/lib/ajaxslt/util.js')
|
|
263
|
scriptsArr.push('js/lib/ajaxslt/xpath.js')
|
|
264
|
scriptsArr.push('js/controller/controller.js')
|
|
265
|
scriptsArr.push('js/controller/commands.js')
|
|
266
|
scriptsArr.push('js/controller/asserts.js')
|
|
267
|
scriptsArr.push('js/controller/waits.js')
|
|
268
|
scriptsArr.push('js/extensions/extensions.js')
|
|
269
|
scriptsArr.push('js/wm/registry.js')
|
|
270
|
scriptsArr.push('js/wm/utils.js')
|
|
271
|
scriptsArr.push('js/wm/ide/ui.js')
|
|
272
|
scriptsArr.push('js/wm/ide/recorder.js')
|
|
273
|
scriptsArr.push('js/wm/ide/remote.js')
|
|
274
|
scriptsArr.push('js/wm/ide/dx.js')
|
|
275
|
scriptsArr.push('js/wm/ide/ax.js')
|
|
276
|
scriptsArr.push('js/wm/ide/results.js')
|
|
277
|
scriptsArr.push('js/wm/xhr.js')
|
|
278
|
scriptsArr.push('js/wm/metrics.js')
|
|
279
|
scriptsArr.push('js/wm/events.js')
|
|
280
|
scriptsArr.push('js/wm/global.js')
|
|
281
|
scriptsArr.push('js/wm/jstest.js')
|
|
282
|
scriptsArr.push('js/wm/load.js')
|
adam
|
885
|
283
|
|
adam
|
895
|
284
|
//pull down each script file
|
|
285
|
for (var i = 0; i < scriptsArr.length; i++){
|
|
286
|
var scriptTag = document.createElement('script');
|
|
287
|
scriptTag.src = scriptsArr[i];
|
|
288
|
document.body.appendChild(scriptTag);
|
|
289
|
}
|
adam
|
885
|
290
|
}
|
adam
|
895
|
291
|
jQuery("#loadMessage").html("Downloading JavaScript Source...");
|
adam
|
941
|
292
|
incProgressBar();
|
adam
|
897
|
293
|
|
|
294
|
if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
|
|
295
|
noFile();
|
|
296
|
}
|
|
297
|
else {
|
|
298
|
jQuery.ajax({
|
|
299
|
type: "GET",
|
|
300
|
url: path,
|
|
301
|
dataType: "script",
|
|
302
|
error: noFile
|
|
303
|
});
|
|
304
|
}
|
adam
|
747
|
305
|
|
adam
|
983
|
306
|
var reFlow = function(){
|
|
307
|
if (/MSIE[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
|
|
308
|
document.getElementById('ide').style.height = document.body.clientHeight -70 + "px";
|
|
309
|
document.getElementById('ideForm').style.height = document.body.clientHeight -70 + "px";
|
|
310
|
document.getElementById('resOut').style.height = document.body.clientHeight -70 + "px";
|
|
311
|
document.getElementById('perfOut').style.height = document.body.clientHeight -70 + "px";
|
|
312
|
}
|
|
313
|
else {
|
|
314
|
document.getElementById('ide').style.height = window.innerHeight -70 + "px";
|
|
315
|
document.getElementById('ideForm').style.height = window.innerHeight -70 + "px";
|
|
316
|
document.getElementById('resOut').style.height = window.innerHeight -70 + "px";
|
|
317
|
document.getElementById('perfOut').style.height = window.innerHeight -70 + "px";
|
|
318
|
}
|
|
319
|
}
|
|
320
|
jQuery(document).ready(reFlow);
|
|
321
|
jQuery(window).resize(reFlow);
|
adam
|
897
|
322
|
|
adam
|
747
|
323
|
</script>
|
|
324
|
|
mde
|
358
|
325
|
</html>
|