1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package edu.samplu.travel.krad.test;
17
18 import com.thoughtworks.selenium.DefaultSelenium;
19 import com.thoughtworks.selenium.Selenium;
20 import org.junit.After;
21 import org.junit.Before;
22 import org.junit.Test;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
26
27
28
29
30
31
32 public class UIFComponentValidationRegexPatternIT {
33 private Selenium selenium;
34
35 @Before
36 public void setUp() throws Exception {
37 selenium = new DefaultSelenium("localhost", 4444, "*firefox", System.getProperty("remote.public.url"));
38 selenium.start();
39 }
40
41 @Test
42 public void testValidCharacterConstraint() throws Exception {
43
44
45
46
47
48
49
50
51 selenium.open(System.getProperty("remote.public.url"));
52 assertEquals("Login", selenium.getTitle());
53 selenium.type("__login_user", "admin");
54 selenium.click("//input[@value='Login']");
55 selenium.waitForPageToLoad("50000");
56 assertEquals("Kuali Portal Index", selenium.getTitle());
57 selenium.click("link=Uif Components (Kitchen Sink)");
58 selenium.waitForPageToLoad("50000");
59 assertEquals("Kuali Portal Index", selenium.getTitle());
60 selenium.selectFrame("iframeportlet");
61 selenium.click("link=Validation - Regex");
62
63 Thread.sleep(5000);
64
65
66
67 clearText("//input[@name='field50']");
68 selenium.type("//input[@name='field50']", "127.344");
69 selenium.focus("//input[@name='field51']");
70 Thread.sleep(100);
71 assertTrue(selenium.isTextPresent("Must be a positive fixed point number, with 5 max digits and 2 digits to the right of the decimal point"));
72
73 clearText("//input[@name='field50']");
74 selenium.type("//input[@name='field50']", "1234.4");
75 selenium.focus("//input[@name='field51']");
76 Thread.sleep(100);
77 assertTrue(selenium.isTextPresent("Must be a positive fixed point number, with 5 max digits and 2 digits to the right of the decimal point"));
78
79 clearText("//input[@name='field50']");
80 selenium.type("//input[@name='field50']", "1234.434");
81 selenium.focus("//input[@name='field51']");
82 Thread.sleep(100);
83 assertTrue(selenium.isTextPresent("Must be a positive fixed point number, with 5 max digits and 2 digits to the right of the decimal point"));
84
85 clearText("//input[@name='field50']");
86 selenium.type("//input[@name='field50']", "123.67");
87 selenium.focus("//input[@name='field51']");
88 Thread.sleep(100);
89 assertTrue(! selenium.isTextPresent("Must be a positive fixed point number, with 5 max digits and 2 digits to the right of the decimal point"));
90
91
92 clearText("//input[@name='field51']");
93 selenium.type("//input[@name='field51']", "127.");
94 selenium.focus("//input[@name='field77']");
95 Thread.sleep(100);
96 assertTrue(selenium.isTextPresent("Must be a positive or negative number, with any number of digits to the right of the decimal."));
97
98 clearText("//input[@name='field51']");
99 selenium.type("//input[@name='field51']", "1234.4123");
100 selenium.focus("//input[@name='field77']");
101 Thread.sleep(100);
102 assertTrue(! selenium.isTextPresent("Must be a positive or negative number, with any number of digits to the right of the decimal."));
103
104 clearText("//input[@name='field51']");
105 selenium.type("//input[@name='field51']", "1234()98");
106 selenium.focus("//input[@name='field77']");
107 Thread.sleep(100);
108 assertTrue(selenium.isTextPresent("Must be a positive or negative number, with any number of digits to the right of the decimal."));
109
110 clearText("//input[@name='field51']");
111 selenium.type("//input[@name='field51']", "-123.67");
112 selenium.focus("//input[@name='field77']");
113 Thread.sleep(100);
114 assertTrue(! selenium.isTextPresent("Must be a positive or negative number, with any number of digits to the right of the decimal."));
115
116
117
118 clearText("//input[@name='field77']");
119 selenium.type("//input[@name='field77']", "127.");
120 selenium.focus("//input[@name='field52']");
121 Thread.sleep(100);
122 assertTrue(selenium.isTextPresent("Must be a positive or negative whole number"));
123
124 clearText("//input[@name='field77']");
125 selenium.type("//input[@name='field77']", "1234.4123");
126 selenium.focus("//input[@name='field52']");
127 Thread.sleep(100);
128 assertTrue(selenium.isTextPresent("Must be a positive or negative whole number"));
129
130 clearText("//input[@name='field77']");
131 selenium.type("//input[@name='field77']", "123E123");
132 selenium.focus("//input[@name='field52']");
133 Thread.sleep(100);
134 assertTrue(selenium.isTextPresent("Must be a positive or negative whole number"));
135
136 clearText("//input[@name='field77']");
137 selenium.type("//input[@name='field77']", "-123");
138 selenium.focus("//input[@name='field52']");
139 Thread.sleep(100);
140 assertTrue(! selenium.isTextPresent("Must be a positive or negative whole number"));
141
142
143 clearText("//input[@name='field52']");
144 selenium.type("//input[@name='field52']", "1271231234");
145 selenium.focus("//input[@name='field53']");
146 Thread.sleep(100);
147 assertTrue(selenium.isTextPresent("Must be a phone number, in the format of ###-###-####."));
148
149
150 clearText("//input[@name='field52']");
151 selenium.type("//input[@name='field52']", "123-123-123");
152 selenium.focus("//input[@name='field53']");
153 Thread.sleep(100);
154 assertTrue(selenium.isTextPresent("Must be a phone number, in the format of ###-###-####."));
155
156 clearText("//input[@name='field52']");
157 selenium.type("//input[@name='field52']", "12-12-123445");
158 selenium.focus("//input[@name='field53']");
159 Thread.sleep(100);
160 assertTrue(selenium.isTextPresent("Must be a phone number, in the format of ###-###-####."));
161
162 clearText("//input[@name='field52']");
163 selenium.type("//input[@name='field52']", "1234-12-1234");
164 selenium.focus("//input[@name='field53']");
165 Thread.sleep(100);
166 assertTrue(selenium.isTextPresent("Must be a phone number, in the format of ###-###-####."));
167
168 clearText("//input[@name='field52']");
169 selenium.type("//input[@name='field52']", "123.123.1234");
170 selenium.focus("//input[@name='field53']");
171 Thread.sleep(100);
172 assertTrue(selenium.isTextPresent("Must be a phone number, in the format of ###-###-####."));
173
174 clearText("//input[@name='field52']");
175 selenium.type("//input[@name='field52']", "123-123-12345");
176 selenium.focus("//input[@name='field53']");
177 Thread.sleep(100);
178 assertTrue(selenium.isTextPresent("Must be a phone number, in the format of ###-###-####."));
179
180 clearText("//input[@name='field52']");
181 selenium.type("//input[@name='field52']", "123-123-1234");
182 selenium.focus("//input[@name='field53']");
183 Thread.sleep(100);
184 assertTrue(! selenium.isTextPresent("Must be a phone number, in the format of ###-###-####."));
185
186
187 clearText("//input[@name='field53']");
188 selenium.type("//input[@name='field53']", "127");
189 selenium.focus("//input[@name='field54']");
190 Thread.sleep(100);
191 assertTrue(selenium.isTextPresent("Must be a valid Java class name."));
192
193 clearText("//input[@name='field53']");
194 selenium.type("//input[@name='field53']", "TestJava!@#Class");
195 selenium.focus("//input[@name='field54']");
196 Thread.sleep(100);
197 assertTrue(selenium.isTextPresent("Must be a valid Java class name."));
198
199 clearText("//input[@name='field53']");
200 selenium.type("//input[@name='field53']", "Test JavaClass");
201 selenium.focus("//input[@name='field54']");
202 Thread.sleep(100);
203 assertTrue(selenium.isTextPresent("Must be a valid Java class name."));
204
205 clearText("//input[@name='field53']");
206 selenium.type("//input[@name='field53']", "Test JavaClass");
207 selenium.focus("//input[@name='field54']");
208 Thread.sleep(100);
209 assertTrue(selenium.isTextPresent("Must be a valid Java class name."));
210
211 clearText("//input[@name='field53']");
212 selenium.type("//input[@name='field53']", "TestJavaClass");
213 selenium.focus("//input[@name='field54']");
214 Thread.sleep(100);
215 assertTrue(! selenium.isTextPresent("Must be a valid Java class name."));
216
217
218 clearText("//input[@name='field54']");
219 selenium.type("//input[@name='field54']", "123@123.123");
220 selenium.focus("//input[@name='field84']");
221 Thread.sleep(100);
222 assertTrue(selenium.isTextPresent("Must be a properly formatted email address."));
223
224 clearText("//input[@name='field54']");
225 selenium.type("//input[@name='field54']", "email.com@emailServer");
226 selenium.focus("//input[@name='field84']");
227 Thread.sleep(100);
228 assertTrue(selenium.isTextPresent("Must be a properly formatted email address."));
229
230 clearText("//input[@name='field54']");
231 selenium.type("//input[@name='field54']", "emailemailServer@.com");
232 selenium.focus("//input[@name='field84']");
233 Thread.sleep(100);
234 assertTrue(selenium.isTextPresent("Must be a properly formatted email address."));
235
236 clearText("//input[@name='field54']");
237 selenium.type("//input[@name='field54']", "email@emailServercom");
238 selenium.focus("//input[@name='field84']");
239 Thread.sleep(100);
240 assertTrue(selenium.isTextPresent("Must be a properly formatted email address."));
241
242 clearText("//input[@name='field54']");
243 selenium.type("//input[@name='field54']", "email@emailServer.com");
244 selenium.focus("//input[@name='field84']");
245 Thread.sleep(100);
246 assertTrue(! selenium.isTextPresent("Must be a properly formatted email address."));
247
248
249
250 clearText("//input[@name='field84']");
251 selenium.type("//input[@name='field84']", "www.google.com");
252 selenium.focus("//input[@name='field55']");
253 Thread.sleep(100);
254 assertTrue(selenium.isTextPresent("Must be a valid url beginning with http, https, or ftp"));
255
256 clearText("//input[@name='field84']");
257 selenium.type("//input[@name='field84']", "https:www.google.com");
258 selenium.focus("//input[@name='field55']");
259 Thread.sleep(100);
260 assertTrue(selenium.isTextPresent("Must be a valid url beginning with http, https, or ftp"));
261
262 clearText("//input[@name='field84']");
263 selenium.type("//input[@name='field84']", "ftp://www.google.comsdfa123!#@");
264 selenium.focus("//input[@name='field55']");
265 Thread.sleep(100);
266 assertTrue(selenium.isTextPresent("Must be a valid url beginning with http, https, or ftp"));
267
268 clearText("//input[@name='field84']");
269 selenium.type("//input[@name='field84']", "ftp:/www.google.coms");
270 selenium.focus("//input[@name='field55']");
271 Thread.sleep(100);
272 assertTrue(selenium.isTextPresent("Must be a valid url beginning with http, https, or ftp"));
273
274 clearText("//input[@name='field84']");
275 selenium.type("//input[@name='field84']", "ftp://www.google.com");
276 selenium.focus("//input[@name='field55']");
277 Thread.sleep(100);
278 assertTrue(! selenium.isTextPresent("Must be a valid url beginning with http, https, or ftp"));
279
280 clearText("//input[@name='field84']");
281 selenium.type("//input[@name='field84']", "https://www.google.com");
282 selenium.focus("//input[@name='field55']");
283 Thread.sleep(100);
284 assertTrue(! selenium.isTextPresent("Must be a valid url beginning with http, https, or ftp"));
285
286 clearText("//input[@name='field84']");
287 selenium.type("//input[@name='field84']", "http://www.google.com");
288 selenium.focus("//input[@name='field55']");
289 Thread.sleep(100);
290 assertTrue(! selenium.isTextPresent("Must be a valid url beginning with http, https, or ftp"));
291
292
293
294
295 clearText("//input[@name='field55']");
296 selenium.type("//input[@name='field55']", "12/12/2112 12:12:87 am");
297 selenium.focus("//input[@name='field75']");
298 Thread.sleep(100);
299 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
300
301 clearText("//input[@name='field55']");
302 selenium.type("//input[@name='field55']", "12-12-2112 12:12 am");
303 selenium.focus("//input[@name='field75']");
304 Thread.sleep(100);
305 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
306
307 clearText("//input[@name='field55']");
308 selenium.type("//input[@name='field55']", "12-12-2112 12:12");
309 selenium.focus("//input[@name='field75']");
310 Thread.sleep(100);
311 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
312
313 clearText("//input[@name='field55']");
314 selenium.type("//input[@name='field55']", "12/12/2112 12:12");
315 selenium.focus("//input[@name='field75']");
316 Thread.sleep(100);
317 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
318
319 clearText("//input[@name='field55']");
320 selenium.type("//input[@name='field55']", "12-12-2112 12:12:78");
321 selenium.focus("//input[@name='field75']");
322 Thread.sleep(100);
323 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
324
325 clearText("//input[@name='field55']");
326 selenium.type("//input[@name='field55']", "12 Sept");
327 selenium.focus("//input[@name='field75']");
328 Thread.sleep(100);
329 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
330
331 clearText("//input[@name='field55']");
332 selenium.type("//input[@name='field55']", "Sept 12 12:12");
333 selenium.focus("//input[@name='field75']");
334 Thread.sleep(100);
335 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
336
337 clearText("//input[@name='field55']");
338 selenium.type("//input[@name='field55']", "221299 12:12:13");
339 selenium.focus("//input[@name='field75']");
340 Thread.sleep(100);
341 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
342
343 clearText("//input[@name='field55']");
344 selenium.type("//input[@name='field55']", "111222 12:12");
345 selenium.focus("//input[@name='field75']");
346 Thread.sleep(100);
347 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
348
349 clearText("//input[@name='field55']");
350 selenium.type("//input[@name='field55']", "9/9/2012 12:12 am");
351 selenium.focus("//input[@name='field75']");
352 Thread.sleep(100);
353 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
354
355
356 clearText("//input[@name='field55']");
357 selenium.type("//input[@name='field55']", "09/09/2012 12:12 pm");
358 selenium.focus("//input[@name='field75']");
359 Thread.sleep(100);
360 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
361
362 clearText("//input[@name='field55']");
363 selenium.type("//input[@name='field55']", "090923");
364 selenium.focus("//input[@name='field75']");
365 Thread.sleep(100);
366 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
367
368 clearText("//input[@name='field55']");
369 selenium.type("//input[@name='field55']", "Sept 12");
370 selenium.focus("//input[@name='field75']");
371 Thread.sleep(100);
372 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
373
374
375 clearText("//input[@name='field55']");
376 selenium.type("//input[@name='field55']", "2034");
377 selenium.focus("//input[@name='field75']");
378 Thread.sleep(100);
379 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
380
381 clearText("//input[@name='field55']");
382 selenium.type("//input[@name='field55']", "12/12/2012 23:12:59");
383 selenium.focus("//input[@name='field75']");
384 Thread.sleep(100);
385 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
386
387 clearText("//input[@name='field55']");
388 selenium.type("//input[@name='field55']", "12-12-12 23:12:59");
389 selenium.focus("//input[@name='field75']");
390 Thread.sleep(100);
391 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
392
393 clearText("//input[@name='field55']");
394 selenium.type("//input[@name='field55']", "121212 23:12:32");
395 selenium.focus("//input[@name='field75']");
396 Thread.sleep(100);
397 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
398
399 clearText("//input[@name='field55']");
400 selenium.type("//input[@name='field55']", "Sept 12 23:45:50");
401 selenium.focus("//input[@name='field75']");
402 Thread.sleep(100);
403 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
404
405 clearText("//input[@name='field55']");
406 selenium.type("//input[@name='field55']", "2011 12:23:32");
407 selenium.focus("//input[@name='field75']");
408 Thread.sleep(100);
409 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yyyy hh:mm a, MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy, MMddyy, MMMM dd, yyyy, MM/dd/yy HH:mm:ss, MM/dd/yyyy HH:mm:ss, MM-dd-yy HH:mm:ss, MMddyy HH:mm:ss, MMMM dd HH:mm:ss, yyyy HH:mm:ss"));
410
411
412
413 clearText("//input[@name='field75']");
414 selenium.type("//input[@name='field75']", "12122012");
415 selenium.focus("//input[@name='field82']");
416 Thread.sleep(100);
417 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy"));
418
419 clearText("//input[@name='field75']");
420 selenium.type("//input[@name='field75']", "13-12-34");
421 selenium.focus("//input[@name='field82']");
422 Thread.sleep(100);
423 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy"));
424
425 clearText("//input[@name='field75']");
426 selenium.type("//input[@name='field75']", "12:12:2034");
427 selenium.focus("//input[@name='field82']");
428 Thread.sleep(100);
429 assertTrue(selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy"));
430
431 clearText("//input[@name='field75']");
432 selenium.type("//input[@name='field75']", "12-12-2034");
433 selenium.focus("//input[@name='field82']");
434 Thread.sleep(100);
435 assertTrue(! selenium.isTextPresent("Must be a date in the following format(s): MM/dd/yy, MM/dd/yyyy, MM-dd-yy, MM-dd-yyyy"));
436
437
438
439 clearText("//input[@name='field82']");
440 selenium.type("//input[@name='field82']", "13:00:12");
441 selenium.focus("//input[@name='field83']");
442 Thread.sleep(100);
443 assertTrue(selenium.isTextPresent("Must be a valid 12 hour time in HH:mm format, seconds are optional"));
444
445 clearText("//input[@name='field82']");
446 selenium.type("//input[@name='field82']", "09:00:");
447 selenium.focus("//input[@name='field83']");
448 Thread.sleep(100);
449 assertTrue(selenium.isTextPresent("Must be a valid 12 hour time in HH:mm format, seconds are optional"));
450
451 clearText("//input[@name='field82']");
452 selenium.type("//input[@name='field82']", "3-00:12");
453 selenium.focus("//input[@name='field83']");
454 Thread.sleep(100);
455 assertTrue(selenium.isTextPresent("Must be a valid 12 hour time in HH:mm format, seconds are optional"));
456
457 clearText("//input[@name='field82']");
458 selenium.type("//input[@name='field82']", "3:00:34");
459 selenium.focus("//input[@name='field83']");
460 Thread.sleep(100);
461 assertTrue(! selenium.isTextPresent("Must be a valid 12 hour time in HH:mm format, seconds are optional"));
462
463 clearText("//input[@name='field82']");
464 selenium.type("//input[@name='field82']", "3:00");
465 selenium.focus("//input[@name='field83']");
466 Thread.sleep(100);
467 assertTrue(! selenium.isTextPresent("Must be a valid 12 hour time in HH:mm format, seconds are optional"));
468
469
470
471 clearText("//input[@name='field83']");
472 selenium.type("//input[@name='field83']", "24:00:12");
473 selenium.focus("//input[@name='field56']");
474 Thread.sleep(100);
475 assertTrue(selenium.isTextPresent("Must be a valid 24 hour (0-23) time in HH:mm format, seconds are optional"));
476
477 clearText("//input[@name='field83']");
478 selenium.type("//input[@name='field83']", "14:00:");
479 selenium.focus("//input[@name='field56']");
480 Thread.sleep(100);
481 assertTrue(selenium.isTextPresent("Must be a valid 24 hour (0-23) time in HH:mm format, seconds are optional"));
482
483 clearText("//input[@name='field83']");
484 selenium.type("//input[@name='field83']", "13:00:76");
485 selenium.focus("//input[@name='field56']");
486 Thread.sleep(100);
487 assertTrue(selenium.isTextPresent("Must be a valid 24 hour (0-23) time in HH:mm format, seconds are optional"));
488
489 clearText("//input[@name='field83']");
490 selenium.type("//input[@name='field83']", "13:00:23");
491 selenium.focus("//input[@name='field56']");
492 Thread.sleep(100);
493 assertTrue(! selenium.isTextPresent("Must be a valid 24 hour (0-23) time in HH:mm format, seconds are optional"));
494
495 clearText("//input[@name='field83']");
496 selenium.type("//input[@name='field83']", "23:00:12");
497 selenium.focus("//input[@name='field56']");
498 Thread.sleep(100);
499 assertTrue(! selenium.isTextPresent("Must be a valid 24 hour (0-23) time in HH:mm format, seconds are optional"));
500
501
502
503
504
505 clearText("//input[@name='field56']");
506 selenium.type("//input[@name='field56']", "1000-12-12 12:12:12.103");
507 selenium.focus("//input[@name='field57']");
508 Thread.sleep(100);
509 assertTrue(selenium.isTextPresent("Must be a date/time in the format of yyyy-mm-dd hh:mm:ss.ms, between the years of 1900 and 2099, inclusive. \"ms\" represents milliseconds, and must be included."));
510
511 clearText("//input[@name='field56']");
512 selenium.type("//input[@name='field56']", "2000/12/12 12-12-12.87");
513 selenium.focus("//input[@name='field57']");
514 Thread.sleep(100);
515 assertTrue(selenium.isTextPresent("Must be a date/time in the format of yyyy-mm-dd hh:mm:ss.ms, between the years of 1900 and 2099, inclusive. \"ms\" represents milliseconds, and must be included."));
516
517 clearText("//input[@name='field56']");
518 selenium.type("//input[@name='field56']", "2000/12/12 12-12-12.87");
519 selenium.focus("//input[@name='field57']");
520 Thread.sleep(100);
521 assertTrue(selenium.isTextPresent("Must be a date/time in the format of yyyy-mm-dd hh:mm:ss.ms, between the years of 1900 and 2099, inclusive. \"ms\" represents milliseconds, and must be included."));
522
523 clearText("//input[@name='field56']");
524 selenium.type("//input[@name='field56']", "2011-08-12 12:12:12");
525 selenium.focus("//input[@name='field57']");
526 Thread.sleep(100);
527 assertTrue(selenium.isTextPresent("Must be a date/time in the format of yyyy-mm-dd hh:mm:ss.ms, between the years of 1900 and 2099, inclusive. \"ms\" represents milliseconds, and must be included."));
528
529
530
531
532
533
534
535
536
537
538 clearText("//input[@name='field56']");
539 selenium.type("//input[@name='field56']", "2099-12-12 12:12:12.103");
540 selenium.focus("//input[@name='field57']");
541 Thread.sleep(100);
542 assertTrue(! selenium.isTextPresent("Must be a date/time in the format of yyyy-mm-dd hh:mm:ss.ms, between the years of 1900 and 2099, inclusive. \"ms\" represents milliseconds, and must be included."));
543
544
545
546 clearText("//input[@name='field57']");
547 selenium.type("//input[@name='field57']", "1599");
548 selenium.focus("//input[@name='field58']");
549 Thread.sleep(100);
550 assertTrue(selenium.isTextPresent("Must be a four digit year between 1600 to 2199, inclusive."));
551
552 clearText("//input[@name='field57']");
553 selenium.type("//input[@name='field57']", "2200");
554 selenium.focus("//input[@name='field58']");
555 Thread.sleep(100);
556 assertTrue(selenium.isTextPresent("Must be a four digit year between 1600 to 2199, inclusive."));
557
558 clearText("//input[@name='field57']");
559 selenium.type("//input[@name='field57']", "20000");
560 selenium.focus("//input[@name='field58']");
561 Thread.sleep(100);
562 assertTrue(selenium.isTextPresent("Must be a four digit year between 1600 to 2199, inclusive."));
563
564 clearText("//input[@name='field57']");
565 selenium.type("//input[@name='field57']", "-202");
566 selenium.focus("//input[@name='field58']");
567 Thread.sleep(100);
568 assertTrue(selenium.isTextPresent("Must be a four digit year between 1600 to 2199, inclusive."));
569
570 clearText("//input[@name='field57']");
571 selenium.type("//input[@name='field57']", "2000");
572 selenium.focus("//input[@name='field58']");
573 Thread.sleep(100);
574 assertTrue(! selenium.isTextPresent("Must be a four digit year between 1600 to 2199, inclusive."));
575
576
577 clearText("//input[@name='field58']");
578 selenium.type("//input[@name='field58']", "0");
579 selenium.focus("//input[@name='field61']");
580 Thread.sleep(100);
581 assertTrue(selenium.isTextPresent("Must be 1 to 12, representing a month."));
582
583 clearText("//input[@name='field58']");
584 selenium.type("//input[@name='field58']", "-12");
585 selenium.focus("//input[@name='field61']");
586 Thread.sleep(100);
587 assertTrue(selenium.isTextPresent("Must be 1 to 12, representing a month."));
588
589 clearText("//input[@name='field58']");
590 selenium.type("//input[@name='field58']", "100");
591 selenium.focus("//input[@name='field61']");
592 Thread.sleep(100);
593 assertTrue(selenium.isTextPresent("Must be 1 to 12, representing a month."));
594
595 clearText("//input[@name='field58']");
596 selenium.type("//input[@name='field58']", "12");
597 selenium.focus("//input[@name='field61']");
598 Thread.sleep(100);
599 assertTrue(! selenium.isTextPresent("Must be 1 to 12, representing a month."));
600
601
602
603
604 clearText("//input[@name='field61']");
605 selenium.type("//input[@name='field61']", "123");
606 selenium.focus("//input[@name='field62']");
607 Thread.sleep(100);
608 assertTrue(selenium.isTextPresent("Must be a ZIP code. ZIP + 4 codes are also accepted."));
609
610 clearText("//input[@name='field61']");
611 selenium.type("//input[@name='field61']", "2341 12");
612 selenium.focus("//input[@name='field62']");
613 Thread.sleep(100);
614 assertTrue(selenium.isTextPresent("Must be a ZIP code. ZIP + 4 codes are also accepted."));
615
616 clearText("//input[@name='field61']");
617 selenium.type("//input[@name='field61']", "0-1231");
618 selenium.focus("//input[@name='field62']");
619 Thread.sleep(100);
620 assertTrue(selenium.isTextPresent("Must be a ZIP code. ZIP + 4 codes are also accepted."));
621
622 clearText("//input[@name='field61']");
623 selenium.type("//input[@name='field61']", "12345");
624 selenium.focus("//input[@name='field62']");
625 Thread.sleep(100);
626 assertTrue(! selenium.isTextPresent("Must be a ZIP code. ZIP + 4 codes are also accepted."));
627
628
629
630 clearText("//input[@name='field62']");
631 selenium.type("//input[@name='field62']", "123 23 @#");
632 selenium.focus("//input[@name='field63']");
633 Thread.sleep(100);
634 assertTrue(selenium.isTextPresent("Can only be alphanumeric characters "));
635
636 clearText("//input[@name='field62']");
637 selenium.type("//input[@name='field62']", "-asd123");
638 selenium.focus("//input[@name='field63']");
639 Thread.sleep(100);
640 assertTrue(selenium.isTextPresent("Can only be alphanumeric characters "));
641
642 clearText("//input[@name='field62']");
643 selenium.type("//input[@name='field62']", "asd/123");
644 selenium.focus("//input[@name='field63']");
645 Thread.sleep(100);
646 assertTrue(selenium.isTextPresent("Can only be alphanumeric characters "));
647
648 clearText("//input[@name='field62']");
649 selenium.type("//input[@name='field62']", "asd123");
650 selenium.focus("//input[@name='field63']");
651 Thread.sleep(100);
652 assertTrue(! selenium.isTextPresent("Can only be alphanumeric characters "));
653
654
655 clearText("//input[@name='field63']");
656 selenium.type("//input[@name='field63']", "123^we");
657 selenium.focus("//input[@name='field64']");
658 Thread.sleep(100);
659 assertTrue(selenium.isTextPresent("Can only be alphanumeric characters, whitespace, underscores, forward slashes "));
660
661 clearText("//input[@name='field63']");
662 selenium.type("//input[@name='field63']", "-123_asd");
663 selenium.focus("//input[@name='field64']");
664 Thread.sleep(100);
665 assertTrue(selenium.isTextPresent("Can only be alphanumeric characters, whitespace, underscores, forward slashes "));
666
667 clearText("//input[@name='field63']");
668 selenium.type("//input[@name='field63']", "123 23 @#");
669 selenium.focus("//input[@name='field64']");
670 Thread.sleep(100);
671 assertTrue(selenium.isTextPresent("Can only be alphanumeric characters, whitespace, underscores, forward slashes "));
672
673 clearText("//input[@name='field63']");
674 selenium.type("//input[@name='field63']", "as_de 456/123");
675 selenium.focus("//input[@name='field64']");
676 Thread.sleep(100);
677 assertTrue(! selenium.isTextPresent("Can only be alphanumeric characters, whitespace, underscores, forward slashes "));
678
679
680 clearText("//input[@name='field64']");
681 selenium.type("//input[@name='field64']", "123^we");
682 selenium.focus("//input[@name='field76']");
683 Thread.sleep(100);
684 assertTrue(selenium.isTextPresent("Can only be alpha characters, whitespace, commas"));
685
686 clearText("//input[@name='field64']");
687 selenium.type("//input[@name='field64']", "asd_pqr");
688 selenium.focus("//input[@name='field76']");
689 Thread.sleep(100);
690 assertTrue(selenium.isTextPresent("Can only be alpha characters, whitespace, commas"));
691
692 clearText("//input[@name='field64']");
693 selenium.type("//input[@name='field64']", "asd/def");
694 selenium.focus("//input[@name='field76']");
695 Thread.sleep(100);
696 assertTrue(selenium.isTextPresent("Can only be alpha characters, whitespace, commas"));
697
698 clearText("//input[@name='field64']");
699 selenium.type("//input[@name='field64']", "asd ,pqr");
700 selenium.focus("//input[@name='field76']");
701 Thread.sleep(100);
702 assertTrue(! selenium.isTextPresent("Can only be alpha characters, whitespace, commas"));
703
704
705
706 clearText("//input[@name='field76']");
707 selenium.type("//input[@name='field76']", "123");
708 selenium.focus("//input[@name='field65']");
709 Thread.sleep(100);
710 assertTrue(selenium.isTextPresent("Can only be alpha characters, whitespace, underscores, periods, parentheses, dollar signs, forward slashes, double quotes, apostrophes, commas, colons, null, question marks, exclaimation marks, dashes, plus signs, equals signs, *, @, %, #"));
711
712 clearText("//input[@name='field76']");
713 selenium.type("//input[@name='field76']", "<abcd>");
714 selenium.focus("//input[@name='field65']");
715 Thread.sleep(100);
716 assertTrue(selenium.isTextPresent("Can only be alpha characters, whitespace, underscores, periods, parentheses, dollar signs, forward slashes, double quotes, apostrophes, commas, colons, null, question marks, exclaimation marks, dashes, plus signs, equals signs, *, @, %, #"));
717
718 clearText("//input[@name='field76']");
719 selenium.type("//input[@name='field76']", "|abcd|");
720 selenium.focus("//input[@name='field65']");
721 Thread.sleep(100);
722 assertTrue(selenium.isTextPresent("Can only be alpha characters, whitespace, underscores, periods, parentheses, dollar signs, forward slashes, double quotes, apostrophes, commas, colons, null, question marks, exclaimation marks, dashes, plus signs, equals signs, *, @, %, #"));
723
724 clearText("//input[@name='field76']");
725 selenium.type("//input[@name='field76']", "~abcd~");
726 selenium.focus("//input[@name='field65']");
727 Thread.sleep(100);
728 assertTrue(selenium.isTextPresent("Can only be alpha characters, whitespace, underscores, periods, parentheses, dollar signs, forward slashes, double quotes, apostrophes, commas, colons, null, question marks, exclaimation marks, dashes, plus signs, equals signs, *, @, %, #"));
729
730 clearText("//input[@name='field76']");
731 selenium.type("//input[@name='field76']", " ab_c d_ef ");
732 selenium.focus("//input[@name='field65']");
733 Thread.sleep(100);
734 assertTrue(! selenium.isTextPresent("Can only be alpha characters, whitespace, underscores, periods, parentheses, dollar signs, forward slashes, double quotes, apostrophes, commas, colons, null, question marks, exclaimation marks, dashes, plus signs, equals signs, *, @, %, #"));
735
736
737
738 clearText("//input[@name='field65']");
739 selenium.type("//input[@name='field65']", "123 ^we");
740 selenium.focus("//input[@name='field66']");
741 Thread.sleep(100);
742 assertTrue(selenium.isTextPresent("Must not contain any whitespace (spaces, returns, etc)"));
743
744 clearText("//input[@name='field65']");
745 selenium.type("//input[@name='field65']", "123^we!@#^&*~:");
746 selenium.focus("//input[@name='field66']");
747 Thread.sleep(100);
748 assertTrue(! selenium.isTextPresent("Must not contain any whitespace (spaces, returns, etc)"));
749
750
751 clearText("//input[@name='field66']");
752 selenium.type("//input[@name='field66']", "123 ^we");
753 selenium.focus("//input[@name='field67']");
754 Thread.sleep(100);
755 assertTrue(selenium.isTextPresent("Can be any of the following characters: abcABC"));
756
757 clearText("//input[@name='field66']");
758 selenium.type("//input[@name='field66']", "123_^we");
759 selenium.focus("//input[@name='field67']");
760 Thread.sleep(100);
761 assertTrue(selenium.isTextPresent("Can be any of the following characters: abcABC"));
762
763 clearText("//input[@name='field66']");
764 selenium.type("//input[@name='field66']", "abc ABC");
765 selenium.focus("//input[@name='field67']");
766 Thread.sleep(100);
767 assertTrue(selenium.isTextPresent("Can be any of the following characters: abcABC"));
768
769 clearText("//input[@name='field66']");
770 selenium.type("//input[@name='field66']", "aAbBcC");
771 selenium.focus("//input[@name='field67']");
772 Thread.sleep(100);
773 assertTrue(! selenium.isTextPresent("Can be any of the following characters: abcABC"));
774
775
776 clearText("//input[@name='field67']");
777 selenium.type("//input[@name='field67']", "123 ^we");
778 selenium.focus("//input[@name='field68']");
779 Thread.sleep(100);
780 assertTrue(selenium.isTextPresent("Can only be numeric characters, parentheses, dashes"));
781
782 clearText("//input[@name='field67']");
783 selenium.type("//input[@name='field67']", "123/10");
784 selenium.focus("//input[@name='field68']");
785 Thread.sleep(100);
786 assertTrue(selenium.isTextPresent("Can only be numeric characters, parentheses, dashes"));
787
788 clearText("//input[@name='field67']");
789 selenium.type("//input[@name='field67']", "(123.00)");
790 selenium.focus("//input[@name='field68']");
791 Thread.sleep(100);
792 assertTrue(selenium.isTextPresent("Can only be numeric characters, parentheses, dashes"));
793
794 clearText("//input[@name='field67']");
795 selenium.type("//input[@name='field67']", "(12-3)");
796 selenium.focus("//input[@name='field68']");
797 Thread.sleep(100);
798 assertTrue(! selenium.isTextPresent("Can only be numeric characters, parentheses, dashes"));
799
800
801 clearText("//input[@name='field68']");
802 selenium.type("//input[@name='field68']", "123.123");
803 selenium.focus("//input[@name='field67']");
804 Thread.sleep(100);
805 assertTrue(selenium.isTextPresent("only 1 alpha character followed by a period and then followed by 1 number (a.8, b.0, etc)"));
806
807 clearText("//input[@name='field68']");
808 selenium.type("//input[@name='field68']", "a.b");
809 selenium.focus("//input[@name='field67']");
810 Thread.sleep(100);
811 assertTrue(selenium.isTextPresent("only 1 alpha character followed by a period and then followed by 1 number (a.8, b.0, etc)"));
812
813 clearText("//input[@name='field68']");
814 selenium.type("//input[@name='field68']", "123 qwe");
815 selenium.focus("//input[@name='field67']");
816 Thread.sleep(100);
817 assertTrue(selenium.isTextPresent("only 1 alpha character followed by a period and then followed by 1 number (a.8, b.0, etc)"));
818
819 clearText("//input[@name='field68']");
820 selenium.type("//input[@name='field68']", "5.a");
821 selenium.focus("//input[@name='field67']");
822 Thread.sleep(100);
823 assertTrue(selenium.isTextPresent("only 1 alpha character followed by a period and then followed by 1 number (a.8, b.0, etc)"));
824
825 clearText("//input[@name='field68']");
826 selenium.type("//input[@name='field68']", "a.0,b.4");
827 selenium.focus("//input[@name='field67']");
828 Thread.sleep(100);
829 assertTrue(selenium.isTextPresent("only 1 alpha character followed by a period and then followed by 1 number (a.8, b.0, etc)"));
830
831
832 clearText("//input[@name='field68']");
833 selenium.type("//input[@name='field68']", "a.0");
834 selenium.focus("//input[@name='field67']");
835 Thread.sleep(100);
836 assertTrue(! selenium.isTextPresent("only 1 alpha character followed by a period and then followed by 1 number (a.8, b.0, etc)"));
837 }
838
839 @After
840 public void tearDown() throws Exception {
841 selenium.stop();
842 }
843
844 public void clearText(String field) throws Exception {
845 selenium.focus(field);
846 selenium.type(field, "");
847 Thread.sleep(100);
848 }
849 }