View Javadoc

1   /**
2    * Copyright 2005-2013 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package edu.sampleu.travel;
17  
18  import org.kuali.rice.testtools.common.JiraAwareFailable;
19  import org.kuali.rice.testtools.selenium.WebDriverLegacyITBase;
20  
21  /**
22   * Tests the Component section in Rice.
23   *
24   * @author Kuali Rice Team (rice.collab@kuali.org)
25   */
26  public abstract class UifComponentValidationRegexPatternAftBase extends WebDriverLegacyITBase  {
27  
28      /**
29       * "/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&readOnlyFields=field91"
30       */
31      public static final String BOOKMARK_URL = "/kr-krad/uicomponents?viewId=UifCompView&methodToCall=start&readOnlyFields=field91";
32  
33      @Override
34      protected String getBookmarkUrl() {
35          return BOOKMARK_URL;
36      }
37  
38      protected void navigation() throws InterruptedException {
39          waitAndClickKRAD();
40          waitAndClickByXpath(KITCHEN_SINK_XPATH);
41          switchToWindow(KUALI_UIF_COMPONENTS_WINDOW_XPATH);
42      }
43  
44      protected void testValidCharacterConstraintNav(JiraAwareFailable failable) throws Exception {
45          navigation();
46          testValidCharacterConstraint();
47          passed();
48      }
49  
50      protected void testValidCharacterConstraintBookmark(JiraAwareFailable failable) throws Exception {
51          testValidCharacterConstraint();
52          passed();
53      }
54  
55      protected void testValidCharacterConstraint() throws Exception {
56  //        waitAndClickByXpath("//a[contains(text(),'Validation - Regex')][2]");
57          waitAndClickById("UifCompView-Navigation4");
58  
59          //---------------------------------------------Fixed Point------------------------------//
60          waitAndTypeByName("field50", "123.12");
61          fireEvent("field50", "blur");
62          try {
63              validateErrorImage(true);
64              fail("Framework error validateErrorImage(true) should have thrown an AssertionExcpetion");
65          } catch (AssertionError ae) {
66              jGrowl("validateErrorImage(true) when not expected okay.");
67              // expected
68          }
69          validateErrorImage(false);
70  
71          clearTextByName("field50");
72          waitAndTypeByName("field50", "123.123");
73          fireEvent("field50", "blur");
74          try {
75              validateErrorImage(false);
76              fail("Framework error validateErrorImage(false) should have thrown an AssertionExcpetion");
77          } catch (AssertionError ae) {
78              jGrowl("validateErrorImage(false) when expected okay.");
79          }
80          validateErrorImage(true);
81  
82          clearTextByName("field50");
83          waitAndTypeByXpath("//input[@name='field50']", "1234.4");
84          fireEvent("field50", "blur");
85          validateErrorImage(true);
86          clearTextByName("field50");
87          waitAndTypeByXpath("//input[@name='field50']", "1234.434");
88          fireEvent("field50", "blur");
89          validateErrorImage(true);
90          clearTextByName("field50");
91          waitAndTypeByXpath("//input[@name='field50']", "123.67");
92          fireEvent("field50", "blur");
93          validateErrorImage(false);
94          clearTextByName("field50");
95  
96          //---------------------------------------------Floating Point------------------------------//
97          waitAndTypeByXpath("//input[@name='field51']", "127.");
98          fireEvent("field51", "blur");
99          validateErrorImage(true);
100         clearTextByName("field51");
101         waitAndTypeByXpath("//input[@name='field51']", "1234()98");
102         fireEvent("field51", "blur");
103         validateErrorImage(true);
104         clearTextByName("field51");
105         waitAndTypeByXpath("//input[@name='field51']", "-123.67");
106         fireEvent("field51", "blur");
107         validateErrorImage(false);
108         clearTextByName("field51");
109 
110         //---------------------------------------------Integer Pattern constraint------------------------------//
111         waitAndTypeByXpath("//input[@name='field77']", "127.");
112         fireEvent("field77", "blur");
113         validateErrorImage(true);
114         clearTextByName("field77");
115         waitAndTypeByXpath("//input[@name='field77']", "1234.4123");
116         fireEvent("field77", "blur");
117         validateErrorImage(true);
118         clearTextByName("field77");
119         waitAndTypeByXpath("//input[@name='field77']", "123E123");
120         fireEvent("field77", "blur");
121         validateErrorImage(true);
122         clearTextByName("field77");
123         waitAndTypeByXpath("//input[@name='field77']", "-123");
124         fireEvent("field77", "blur");
125         validateErrorImage(false);
126         clearTextByName("field77");
127 
128         //---------------------------------------------Phone Text------------------------------//
129         waitAndTypeByXpath("//input[@name='field52']", "1271231234");
130         fireEvent("field52", "blur");
131         validateErrorImage(true);
132         clearTextByName("field52");
133         waitAndTypeByXpath("//input[@name='field52']", "123-123-123");
134         fireEvent("field52", "blur");
135         validateErrorImage(true);
136         clearTextByName("field52");
137         waitAndTypeByXpath("//input[@name='field52']", "12-12-123445");
138         fireEvent("field52", "blur");
139         validateErrorImage(true);
140         clearTextByName("field52");
141         waitAndTypeByXpath("//input[@name='field52']", "1234-12-1234");
142         fireEvent("field52", "blur");
143         validateErrorImage(true);
144         clearTextByName("field52");
145         waitAndTypeByXpath("//input[@name='field52']", "123.123.1234");
146         fireEvent("field52", "blur");
147         validateErrorImage(true);
148         clearTextByName("field52");
149         waitAndTypeByXpath("//input[@name='field52']", "123-123-12345");
150         fireEvent("field52", "blur");
151         validateErrorImage(true);
152         clearTextByName("field52");
153         waitAndTypeByXpath("//input[@name='field52']", "123-123-1234");
154         fireEvent("field52", "blur");
155         validateErrorImage(false);
156         clearTextByName("field52");
157 
158         //---------------------------------------------JavaClass Text------------------------------//
159         waitAndTypeByXpath("//input[@name='field53']", "127");
160         fireEvent("field53", "blur");
161         validateErrorImage(true);
162         clearTextByName("field53");
163         waitAndTypeByXpath("//input[@name='field53']", "TestJava!@#Class");
164         fireEvent("field53", "blur");
165         validateErrorImage(true);
166         clearTextByName("field53");
167         waitAndTypeByXpath("//input[@name='field53']", "Test JavaClass");
168         fireEvent("field53", "blur");
169         validateErrorImage(true);
170         clearTextByName("field53");
171         waitAndTypeByXpath("//input[@name='field53']", "Test JavaClass");
172         fireEvent("field53", "blur");
173         validateErrorImage(true);
174         clearTextByName("field53");
175         waitAndTypeByXpath("//input[@name='field53']", "TestJavaClass");
176         fireEvent("field53", "blur");
177         validateErrorImage(false);
178         clearTextByName("field53");
179 
180         //---------------------------------------------Email Text------------------------------//
181         waitAndTypeByXpath("//input[@name='field54']", "123@123.123");
182         fireEvent("field54", "blur");
183         validateErrorImage(true);
184         clearTextByName("field54");
185         waitAndTypeByXpath("//input[@name='field54']", "email.com@emailServer");
186         fireEvent("field54", "blur");
187         validateErrorImage(true);
188         clearTextByName("field54");
189         waitAndTypeByXpath("//input[@name='field54']", "emailemailServer@.com");
190         fireEvent("field54", "blur");
191         validateErrorImage(true);
192         clearTextByName("field54");
193         waitAndTypeByXpath("//input[@name='field54']", "email@emailServercom");
194         fireEvent("field54", "blur");
195         validateErrorImage(true);
196         clearTextByName("field54");
197         waitAndTypeByXpath("//input[@name='field54']", "email@emailServer.com");
198         fireEvent("field54", "blur");
199         validateErrorImage(false);
200         clearTextByName("field54");
201 
202         //---------------------------------------------URL pattern Text------------------------------//
203         waitAndTypeByXpath("//input[@name='field84']", "www.google.com");
204         fireEvent("field84", "blur");
205         validateErrorImage(true);
206         clearTextByName("field84");
207         waitAndTypeByXpath("//input[@name='field84']", "https:www.google.com");
208         fireEvent("field84", "blur");
209         validateErrorImage(true);
210         clearTextByName("field84");
211         waitAndTypeByXpath("//input[@name='field84']", "ftp://www.google.comsdfa123!#@");
212         fireEvent("field84", "blur");
213         validateErrorImage(true);
214         clearTextByName("field84");
215         waitAndTypeByXpath("//input[@name='field84']", "ftp:/www.google.coms");
216         fireEvent("field84", "blur");
217         validateErrorImage(true);
218         clearTextByName("field84");
219         waitAndTypeByXpath("//input[@name='field84']", "ftp://www.google.com");
220         fireEvent("field84", "blur");
221         validateErrorImage(false);
222         clearTextByName("field84");
223         waitAndTypeByXpath("//input[@name='field84']", "https://www.google.com");
224         fireEvent("field84", "blur");
225         validateErrorImage(false);
226         clearTextByName("field84");
227         waitAndTypeByXpath("//input[@name='field84']", "http://www.google.com");
228         fireEvent("field84", "blur");
229         validateErrorImage(false);
230         clearTextByName("field84");
231 
232         //---------------------------------------------Date pattern Text------------------------------//
233         //-------------invalid formats
234         waitAndTypeByXpath("//input[@name='field55']", "12/12/2112 12:12:87 am");
235         fireEvent("field55", "blur");
236         validateErrorImage(true);
237         clearTextByName("field55");
238         waitAndTypeByXpath("//input[@name='field55']", "12-12-2112 12:12 am");
239         fireEvent("field55", "blur");
240         validateErrorImage(true);
241         clearTextByName("field55");
242         waitAndTypeByXpath("//input[@name='field55']", "12-12-2112 12:12");
243         fireEvent("field55", "blur");
244         validateErrorImage(true);
245         clearTextByName("field55");
246         waitAndTypeByXpath("//input[@name='field55']", "12/12/2112 12:12");
247         fireEvent("field55", "blur");
248         validateErrorImage(true);
249         clearTextByName("field55");
250         waitAndTypeByXpath("//input[@name='field55']", "12-12-2112 12:12:78");
251         fireEvent("field55", "blur");
252         validateErrorImage(true);
253         clearTextByName("field55");
254         waitAndTypeByXpath("//input[@name='field55']", "12 Sept");
255         fireEvent("field55", "blur");
256         validateErrorImage(true);
257         clearTextByName("field55");
258         waitAndTypeByXpath("//input[@name='field55']", "Sept 12 12:12");
259         fireEvent("field55", "blur");
260         validateErrorImage(true);
261         clearTextByName("field55");
262         waitAndTypeByXpath("//input[@name='field55']", "221299 12:12:13");
263         fireEvent("field55", "blur");
264         validateErrorImage(true);
265         clearTextByName("field55");
266         waitAndTypeByXpath("//input[@name='field55']", "111222 12:12");
267         fireEvent("field55", "blur");
268         validateErrorImage(true);
269         clearTextByName("field55");
270         waitAndTypeByXpath("//input[@name='field55']", "9/9/2012 12:12 am");
271         fireEvent("field55", "blur");
272         validateErrorImage(true);
273         clearTextByName("field55");
274 
275         //-------------valid formats
276         waitAndTypeByXpath("//input[@name='field55']", "09/09/2012 12:12 pm");
277         fireEvent("field55", "blur");
278         validateErrorImage(false);
279         clearTextByName("field55");
280         waitAndTypeByXpath("//input[@name='field55']", "090923");
281         fireEvent("field55", "blur");
282         validateErrorImage(false);
283         clearTextByName("field55");
284         waitAndTypeByXpath("//input[@name='field55']", "Sept 12");
285         fireEvent("field55", "blur");
286         validateErrorImage(false);
287         clearTextByName("field55");
288         waitAndTypeByXpath("//input[@name='field55']", "2034");
289         fireEvent("field55", "blur");
290         validateErrorImage(false);
291         clearTextByName("field55");
292         waitAndTypeByXpath("//input[@name='field55']", "12/12/2012 23:12:59");
293         fireEvent("field55", "blur");
294         validateErrorImage(false);
295         clearTextByName("field55");
296         waitAndTypeByXpath("//input[@name='field55']", "12-12-12 23:12:59");
297         fireEvent("field55", "blur");
298         validateErrorImage(false);
299         clearTextByName("field55");
300         waitAndTypeByXpath("//input[@name='field55']", "121212 23:12:32");
301         fireEvent("field55", "blur");
302         validateErrorImage(false);
303         clearTextByName("field55");
304         waitAndTypeByXpath("//input[@name='field55']", "Sept 12 23:45:50");
305         fireEvent("field55", "blur");
306         validateErrorImage(false);
307         clearTextByName("field55");
308         waitAndTypeByXpath("//input[@name='field55']", "2011 12:23:32");
309         fireEvent("field55", "blur");
310         validateErrorImage(false);
311         clearTextByName("field55");
312 
313         //---------------------------------------------BasicDate pattern Text------------------------------//
314         waitAndTypeByXpath("//input[@name='field75']", "12122012");
315         fireEvent("field75", "blur");
316         validateErrorImage(true);
317         clearTextByName("field75");
318         waitAndTypeByXpath("//input[@name='field75']", "13-12-34");
319         fireEvent("field75", "blur");
320         validateErrorImage(true);
321         clearTextByName("field75");
322         waitAndTypeByXpath("//input[@name='field75']", "12:12:2034");
323         fireEvent("field75", "blur");
324         validateErrorImage(true);
325         clearTextByName("field75");
326         waitAndTypeByXpath("//input[@name='field75']", "12-12-2034");
327         fireEvent("field75", "blur");
328         validateErrorImage(false);
329         clearTextByName("field75");
330 
331         //---------------------------------------------Time12H Pattern Text------------------------------//
332         waitAndTypeByXpath("//input[@name='field82']", "13:00:12");
333         fireEvent("field82", "blur");
334         validateErrorImage(true);
335         clearTextByName("field82");
336         waitAndTypeByXpath("//input[@name='field82']", "09:00:");
337         fireEvent("field82", "blur");
338         validateErrorImage(true);
339         clearTextByName("field82");
340         waitAndTypeByXpath("//input[@name='field82']", "3-00:12");
341         fireEvent("field82", "blur");
342         validateErrorImage(true);
343         clearTextByName("field82");
344         waitAndTypeByXpath("//input[@name='field82']", "3:00:34");
345         fireEvent("field82", "blur");
346         validateErrorImage(false);
347         clearTextByName("field82");
348         waitAndTypeByXpath("//input[@name='field82']", "3:00");
349         fireEvent("field82", "blur");
350         validateErrorImage(false);
351         clearTextByName("field82");
352 
353         //---------------------------------------------Time24H Pattern Text------------------------------//
354         waitAndTypeByXpath("//input[@name='field83']", "24:00:12");
355         fireEvent("field83", "blur");
356         validateErrorImage(true);
357         clearTextByName("field83");
358         waitAndTypeByXpath("//input[@name='field83']", "14:00:");
359         fireEvent("field83", "blur");
360         validateErrorImage(true);
361         clearTextByName("field83");
362         waitAndTypeByXpath("//input[@name='field83']", "13:00:76");
363         fireEvent("field83", "blur");
364         validateErrorImage(true);
365         clearTextByName("field83");
366         waitAndTypeByXpath("//input[@name='field83']", "13:00:23");
367         fireEvent("field83", "blur");
368         validateErrorImage(false);
369         clearTextByName("field83");
370         waitAndTypeByXpath("//input[@name='field83']", "23:00:12");
371         fireEvent("field83", "blur");
372         validateErrorImage(false);
373         clearTextByName("field83");
374 
375         //---------------------------------------------Timestamp pattern Text------------------------------//
376         waitAndTypeByXpath("//input[@name='field56']", "1000-12-12 12:12:12.103");
377         fireEvent("field56", "blur");
378         validateErrorImage(true);
379         clearTextByName("field56");
380         waitAndTypeByXpath("//input[@name='field56']", "2000/12/12 12-12-12.87");
381         fireEvent("field56", "blur");
382         validateErrorImage(true);
383         clearTextByName("field56");
384         waitAndTypeByXpath("//input[@name='field56']", "2000/12/12 12-12-12.87");
385         fireEvent("field56", "blur");
386         validateErrorImage(true);
387         clearTextByName("field56");
388         waitAndTypeByXpath("//input[@name='field56']", "2011-08-12 12:12:12");
389         fireEvent("field56", "blur");
390         validateErrorImage(true);
391         clearTextByName("field56");
392 
393         //--------this should not be allowed
394         /*
395         clearTimeStampText();
396         waitAndType("//input[@name='field56']", "2999-12-12 12:12:12.103");
397         focus("//input[@name='field57']");
398         Thread.sleep(100);
399         assertTrue(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."));
400         */
401         waitAndTypeByXpath("//input[@name='field56']", "2099-12-12 12:12:12.103");
402         fireEvent("field56", "blur");
403         validateErrorImage(false);
404         clearTextByName("field56");
405 
406         //---------------------------------------------Year Pattern Text------------------------------//
407         waitAndTypeByXpath("//input[@name='field57']", "1599");
408         fireEvent("field57", "blur");
409         validateErrorImage(true);
410         clearTextByName("field57");
411         waitAndTypeByXpath("//input[@name='field57']", "2200");
412         fireEvent("field57", "blur");
413         validateErrorImage(true);
414         clearTextByName("field57");
415         waitAndTypeByXpath("//input[@name='field57']", "20000");
416         fireEvent("field57", "blur");
417         validateErrorImage(true);
418         clearTextByName("field57");
419         waitAndTypeByXpath("//input[@name='field57']", "-202");
420         fireEvent("field57", "blur");
421         validateErrorImage(true);
422         clearTextByName("field57");
423         waitAndTypeByXpath("//input[@name='field57']", "2000");
424         fireEvent("field57", "blur");
425         validateErrorImage(false);
426         clearTextByName("field57");
427 
428         //---------------------------------------------Month Pattern Text------------------------------//
429         waitAndTypeByXpath("//input[@name='field58']", "0");
430         fireEvent("field58", "blur");
431         validateErrorImage(true);
432         clearTextByName("field58");
433         waitAndTypeByXpath("//input[@name='field58']", "-12");
434         fireEvent("field58", "blur");
435         validateErrorImage(true);
436         clearTextByName("field58");
437         waitAndTypeByXpath("//input[@name='field58']", "100");
438         fireEvent("field58", "blur");
439         validateErrorImage(true);
440         clearTextByName("field58");
441         waitAndTypeByXpath("//input[@name='field58']", "12");
442         fireEvent("field58", "blur");
443         validateErrorImage(false);
444         clearTextByName("field58");
445 
446         //---------------------------------------------ZipCode Pattern Text------------------------------//
447         waitAndTypeByXpath("//input[@name='field61']", "123");
448         fireEvent("field61", "blur");
449         validateErrorImage(true);
450         clearTextByName("field61");
451         waitAndTypeByXpath("//input[@name='field61']", "2341 12");
452         fireEvent("field61", "blur");
453         validateErrorImage(true);
454         clearTextByName("field61");
455         waitAndTypeByXpath("//input[@name='field61']", "0-1231");
456         fireEvent("field61", "blur");
457         validateErrorImage(true);
458         clearTextByName("field61");
459         waitAndTypeByXpath("//input[@name='field61']", "12345");
460         fireEvent("field61", "blur");
461         validateErrorImage(false);
462         clearTextByName("field61");
463 
464         //---------------------------------------------Alpha Numeric w/o options Text------------------------------//
465         waitAndTypeByXpath("//input[@name='field62']", "123 23 @#");
466         fireEvent("field62", "blur");
467         validateErrorImage(true);
468         clearTextByName("field62");
469         waitAndTypeByXpath("//input[@name='field62']", "-asd123");
470         fireEvent("field62", "blur");
471         validateErrorImage(true);
472         clearTextByName("field62");
473         waitAndTypeByXpath("//input[@name='field62']", "asd/123");
474         fireEvent("field62", "blur");
475         validateErrorImage(true);
476         clearTextByName("field62");
477         waitAndTypeByXpath("//input[@name='field62']", "asd123");
478         fireEvent("field62", "blur");
479         validateErrorImage(false);
480         clearTextByName("field62");
481 
482         //---------------------------------------------Alpha Numeric with options Text------------------------------//
483         waitAndTypeByXpath("//input[@name='field63']", "123^we");
484         fireEvent("field63", "blur");
485         validateErrorImage(true);
486         clearTextByName("field63");
487         waitAndTypeByXpath("//input[@name='field63']", "-123_asd");
488         fireEvent("field63", "blur");
489         validateErrorImage(true);
490         clearTextByName("field63");
491         waitAndTypeByXpath("//input[@name='field63']", "123 23 @#");
492         fireEvent("field63", "blur");
493         clearTextByName("field63");
494         waitAndTypeByXpath("//input[@name='field63']", "as_de 456/123");
495         fireEvent("field63", "blur");
496         validateErrorImage(false);
497         clearTextByName("field63");
498 
499         //---------------------------------------------Alpha with Whitespace and commas Text------------------------------//
500         waitAndTypeByXpath("//input[@name='field64']", "123^we");
501         fireEvent("field64", "blur");
502         validateErrorImage(true);
503         clearTextByName("field64");
504         waitAndTypeByXpath("//input[@name='field64']", "asd_pqr");
505         fireEvent("field64", "blur");
506         validateErrorImage(true);
507         clearTextByName("field64");
508         waitAndTypeByXpath("//input[@name='field64']", "asd/def");
509         fireEvent("field64", "blur");
510         validateErrorImage(true);
511         clearTextByName("field64");
512         waitAndTypeByXpath("//input[@name='field64']", "asd ,pqr");
513         fireEvent("field64", "blur");
514         validateErrorImage(false);
515         clearTextByName("field64");
516 
517         //---------------------------------------------AlphaPatterrn with disallowed charset Text------------------------------//
518         waitAndTypeByXpath("//input[@name='field76']", "123");
519         fireEvent("field76", "blur");
520         validateErrorImage(true);
521         clearTextByName("field76");
522         waitAndTypeByXpath("//input[@name='field76']", "`abcd`");
523         fireEvent("field76", "blur");
524         validateErrorImage(true);
525         clearTextByName("field76");
526         waitAndTypeByXpath("//input[@name='field76']", "|abcd|");
527         fireEvent("field76", "blur");
528         validateErrorImage(true);
529         clearTextByName("field76");
530         waitAndTypeByXpath("//input[@name='field76']", "~abcd~");
531         fireEvent("field76", "blur");
532         validateErrorImage(true);
533         clearTextByName("field76");
534         waitAndTypeByXpath("//input[@name='field76']", " ab_c d_ef ");
535         fireEvent("field76", "blur");
536         validateErrorImage(false);
537         clearTextByName("field76");
538 
539         //---------------------------------------------Anything with No Whitespace Text------------------------------//
540         waitAndTypeByXpath("//input[@name='field65']", "123 ^we");
541         fireEvent("field65", "blur");
542         validateErrorImage(true);
543         clearTextByName("field65");
544         waitAndTypeByXpath("//input[@name='field65']", "123^we!@#^&*~:");
545         fireEvent("field65", "blur");
546         validateErrorImage(false);
547         clearTextByName("field65");
548 
549         //---------------------------------------------CharacterSet Text------------------------------//
550         waitAndTypeByXpath("//input[@name='field66']", "123 ^we");
551         fireEvent("field66", "blur");
552         validateErrorImage(true);
553         clearTextByName("field66");
554         waitAndTypeByXpath("//input[@name='field66']", "123_^we");
555         fireEvent("field66", "blur");
556         validateErrorImage(true);
557         clearTextByName("field66");
558         waitAndTypeByXpath("//input[@name='field66']", "abc ABC");
559         fireEvent("field66", "blur");
560         validateErrorImage(true);
561         clearTextByName("field66");
562         waitAndTypeByXpath("//input[@name='field66']", "aAbBcC");
563         fireEvent("field66", "blur");
564         validateErrorImage(false);
565         clearTextByName("field66");
566 
567         //---------------------------------------------Numeric Character Text------------------------------//
568         waitAndTypeByXpath("//input[@name='field67']", "123 ^we");
569         fireEvent("field67", "blur");
570         validateErrorImage(true);
571         clearTextByName("field67");
572         waitAndTypeByXpath("//input[@name='field67']", "123/10");
573         fireEvent("field67", "blur");
574         validateErrorImage(true);
575         clearTextByName("field67");
576         waitAndTypeByXpath("//input[@name='field67']", "(123.00)");
577         fireEvent("field67", "blur");
578         validateErrorImage(true);
579         clearTextByName("field67");
580         waitAndTypeByXpath("//input[@name='field67']", "(12-3)");
581         fireEvent("field67", "blur");
582         validateErrorImage(false);
583         clearTextByName("field67");
584 
585         //---------------------------------------------Valid Chars Custom Text------------------------------//
586         waitAndTypeByXpath("//input[@name='field68']", "123.123");
587         fireEvent("field68", "blur");
588         validateErrorImage(true);
589         clearTextByName("field68");
590         waitAndTypeByXpath("//input[@name='field68']", "a.b");
591         fireEvent("field68", "blur");
592         validateErrorImage(true);
593         clearTextByName("field68");
594         waitAndTypeByXpath("//input[@name='field68']", "123 qwe");
595         fireEvent("field68", "blur");
596         validateErrorImage(true);
597         clearTextByName("field68");
598         waitAndTypeByXpath("//input[@name='field68']", "5.a");
599         fireEvent("field68", "blur");
600         validateErrorImage(true);
601         clearTextByName("field68");
602         waitAndTypeByXpath("//input[@name='field68']", "a.0,b.4");
603         fireEvent("field68", "blur");
604         validateErrorImage(true);
605         clearTextByName("field68");
606         waitAndTypeByXpath("//input[@name='field68']", "a.0");
607         fireEvent("field68", "blur");
608         validateErrorImage(false);
609         clearTextByName("field68");
610         passed();
611     }
612 }