[richfaces-svn-commits] JBoss Rich Faces SVN: r12120 - trunk/test-applications/regressionArea/regressionArea-tests/src/test/java/org/richfaces.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Mon Jan 5 13:54:39 EST 2009


Author: nbelaevski
Date: 2009-01-05 13:54:38 -0500 (Mon, 05 Jan 2009)
New Revision: 12120

Modified:
   trunk/test-applications/regressionArea/regressionArea-tests/src/test/java/org/richfaces/SeleniumTestBase.java
Log:
findFirefox() method added

Modified: trunk/test-applications/regressionArea/regressionArea-tests/src/test/java/org/richfaces/SeleniumTestBase.java
===================================================================
--- trunk/test-applications/regressionArea/regressionArea-tests/src/test/java/org/richfaces/SeleniumTestBase.java	2009-01-05 18:40:58 UTC (rev 12119)
+++ trunk/test-applications/regressionArea/regressionArea-tests/src/test/java/org/richfaces/SeleniumTestBase.java	2009-01-05 18:54:38 UTC (rev 12120)
@@ -2,6 +2,9 @@
 
 
 
+import java.io.File;
+import java.io.FileFilter;
+
 import org.ajax4jsf.javascript.JSFunction;
 import org.ajax4jsf.javascript.ScriptUtils;
 import org.openqa.selenium.server.RemoteControlConfiguration;
@@ -90,7 +93,14 @@
     @BeforeClass
     @Parameters({"browser", "filterPrefix"})
     public void startSelenium(String browser, String filterPrefix) {
-        synchronized (MUTEX) {
+		if (browser.equals("*firefox")) {
+			String firefox = findFirefox();
+			if (firefox != null) {
+				browser = firefox;
+			}
+		}
+		
+		synchronized (MUTEX) {
             this.filterPrefix = filterPrefix;
             selenium = createSeleniumClient(protocol + "://" + host + ":" + port + "/", browser);
             selenium.start();
@@ -98,7 +108,42 @@
         }
     }
 
-    /**
+	private String findFirefox() {
+		String browser = null;
+		File[] libs = {new File("/usr/lib"), new File("/usr/lib64")};
+		for (int i = 0; browser == null && i < libs.length; i++) {
+			File lib = libs[i];
+			if (lib.isDirectory()) {
+				System.out.println("---->lib#" + i + ": " + lib.getPath());
+				File[] firefoxDirs = lib.listFiles(new FileFilter() {
+					public boolean accept(File pathname) {
+						return pathname != null&& pathname.getName().startsWith("firefox")
+						&& pathname.isDirectory();
+					}
+				});
+	    		for (int j = firefoxDirs.length - 1; browser == null && j >= 0; j--) {
+					System.out.println("------>firefoxDir#" + j + ": " + firefoxDirs[j].getPath());
+	    			File[] firefoxes = firefoxDirs[j].listFiles(new FileFilter() {
+						public boolean accept(File pathname) {
+							boolean result = false;
+							if (pathname != null && pathname.isFile()) {
+								String name = pathname.getName();
+								result = "firefox".equals(name) || "firefox-bin".equals(name);
+							}
+							return result;
+						}
+					});
+		    		for (int k = firefoxes.length - 1; browser == null && k >= 0; k--) {
+						System.out.println("-------->firefox#" + k + ": " + firefoxes[k].getPath());
+		    			browser = "*firefox " + firefoxes[k].getPath();
+		    		}
+				}
+			}
+		}
+		return browser;
+	}
+
+	/**
      * This method are invoked after selenium tests completed
      */
     @AfterClass(alwaysRun=true)




More information about the richfaces-svn-commits mailing list