* See sample config file in selenium_settings.ini.sample
*
*/
+
public static function getSeleniumSettings ( &$seleniumSettings,
&$seleniumBrowsers,
&$seleniumTestSuites,
throw new MWException( "Unable to read local Selenium Settings from " . $seleniumConfigFile . "\n" );
}
- $configArray = parse_ini_file($seleniumConfigFile, true);
+ if ( !defined( 'PHP_VERSION_ID' ) ||
+ ( PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 3 ) ) {
+ $configArray = self::parse_5_2_ini_file( $seleniumConfigFile );
+ } else {
+ $configArray = parse_ini_file( $seleniumConfigFile, true );
+ }
+ if ( $configArray === false ) {
+ throw new MWException( "Error parsing " . $seleniumConfigFile . "\n" );
+ }
+
if ( array_key_exists( 'SeleniumSettings', $configArray) ) {
wfSuppressWarnings();
//we may need to change how this is set. But for now leave it in the ini file
return true;
}
+ private static function parse_5_2_ini_file ( $ConfigFile ) {
+
+ $configArray = parse_ini_file( $ConfigFile, true );
+ if ( $configArray === false ) return false;
+
+ // PHP 5.2 ini files have [browsers] and [testSuite] sections
+ // to get around lack of support for array keys. It then
+ // inserts the section arrays into the appropriate places in
+ // the SeleniumSettings and SeleniumTests arrays.
+
+ if ( isset( $configArray[browsers] ) ) {
+ $configArray[SeleniumSettings][browsers] = $configArray[browsers];
+ unset ( $configArray[browsers] );
+ }
+
+ if ( isset( $configArray[testSuite] ) ) {
+ $configArray[SeleniumTests][testSuite] = $configArray[testSuite];
+ unset ( $configArray[testSuite] );
+ }
+
+ return $configArray;
+
+ }
+
}
--- /dev/null
+[browsers]
+
+firefox = "*firefox"
+iexploreproxy = "*iexploreproxy"
+chrome = "*chrome"
+
+[SeleniumSettings]
+
+host = "localhost"
+port = "4444"
+wikiUrl = "http://localhost/mediawiki/latest_trunk/trunk/phase3"
+username = "Wikiadmin"
+userPassword = "Wikiadminpw"
+testBrowser = "firefox"
+
+[testSuite]
+
+SimpleSeleniumTestSuite = "maintenance/tests/selenium/SimpleSeleniumTestSuite.php"
+PagedTiffHandlerSeleniumTestSuite = "extensions/PagedTiffHandler/selenium/PagedTiffHandlerTestSuite.php"