コード例 #1
0
 /**
  * @group SeleniumFramework
  * @dataProvider sampleConfigs
  */
 public function testgetSeleniumSettings($sampleConfig, $expectedSettings, $expectedBrowsers, $expectedSuites)
 {
     $this->writeToTempFile($sampleConfig);
     $seleniumSettings = array();
     $seleniumBrowsers = array();
     $seleniumTestSuites = null;
     SeleniumConfig::getSeleniumSettings($seleniumSettings, $seleniumBrowsers, $seleniumTestSuites, $this->tempFileName);
     $this->assertEquals($seleniumSettings, $expectedSettings, "The selenium settings for the following test configuration was not retrieved correctly" . $sampleConfig);
     $this->assertEquals($seleniumBrowsers, $expectedBrowsers, "The available browsers for the following test configuration was not retrieved correctly" . $sampleConfig);
     $this->assertEquals($seleniumTestSuites, $expectedSuites, "The test suites for the following test configuration was not retrieved correctly" . $sampleConfig);
 }
コード例 #2
0
ファイル: RunSeleniumTests.php プロジェクト: richhl/kalturaCE
 public function execute()
 {
     global $wgServer, $wgScriptPath, $wgHooks;
     $seleniumSettings;
     $seleniumBrowsers;
     $seleniumTestSuites;
     $configFile = $this->getOption('seleniumConfig', '');
     if (strlen($configFile) > 0) {
         $this->output("Using Selenium Configuration file: " . $configFile . "\n");
         SeleniumConfig::getSeleniumSettings($seleniumSettings, $seleniumBrowsers, $seleniumTestSuites, $configFile);
     } else {
         if (!isset($wgHooks['SeleniumSettings'])) {
             $this->output("No command line, configuration file or configuration hook found.\n");
             SeleniumConfig::getSeleniumSettings($seleniumSettings, $seleniumBrowsers, $seleniumTestSuites);
         } else {
             $this->output("Using 'SeleniumSettings' hook for configuration.\n");
             wfRunHooks('SeleniumSettings', array($seleniumSettings, $seleniumBrowsers, $seleniumTestSuites));
         }
     }
     // State for starting/stopping the Selenium server has nothing to do with the Selenium
     // class. Keep this state local to SeleniumTester class. Using getOption() is clumsy, but
     // the Maintenance class does not have a setOption()
     if (!isset($seleniumSettings['startserver'])) {
         $this->getOption('startserver', true);
     }
     if (!isset($seleniumSettings['stopserver'])) {
         $this->getOption('stopserver', true);
     }
     if (!isset($seleniumSettings['seleniumserverexecpath'])) {
         $seleniumSettings['seleniumserverexecpath'] = '';
     }
     $this->seleniumServerExecPath = $seleniumSettings['seleniumserverexecpath'];
     //set reasonable defaults if we did not find the settings
     if (!isset($seleniumBrowsers)) {
         $seleniumBrowsers = array('firefox' => '*firefox');
     }
     if (!isset($seleniumSettings['host'])) {
         $seleniumSettings['host'] = $wgServer . $wgScriptPath;
     }
     if (!isset($seleniumSettings['port'])) {
         $seleniumSettings['port'] = '4444';
     }
     if (!isset($seleniumSettings['wikiUrl'])) {
         $seleniumSettings['wikiUrl'] = 'http://localhost';
     }
     if (!isset($seleniumSettings['username'])) {
         $seleniumSettings['username'] = '';
     }
     if (!isset($seleniumSettings['userPassword'])) {
         $seleniumSettings['userPassword'] = '';
     }
     if (!isset($seleniumSettings['testBrowser'])) {
         $seleniumSettings['testBrowser'] = 'firefox';
     }
     if (!isset($seleniumSettings['jUnitLogFile'])) {
         $seleniumSettings['jUnitLogFile'] = false;
     }
     if (!isset($seleniumSettings['runAgainstGrid'])) {
         $seleniumSettings['runAgainstGrid'] = false;
     }
     // Setup Selenium class
     $this->selenium = new Selenium();
     $this->selenium->setAvailableBrowsers($seleniumBrowsers);
     $this->selenium->setRunAgainstGrid($this->getOption('runAgainstGrid', $seleniumSettings['runAgainstGrid']));
     $this->selenium->setUrl($this->getOption('wikiUrl', $seleniumSettings['wikiUrl']));
     $this->selenium->setBrowser($this->getOption('testBrowser', $seleniumSettings['testBrowser']));
     $this->selenium->setPort($this->getOption('port', $seleniumSettings['port']));
     $this->selenium->setHost($this->getOption('host', $seleniumSettings['host']));
     $this->selenium->setUser($this->getOption('username', $seleniumSettings['username']));
     $this->selenium->setPass($this->getOption('userPassword', $seleniumSettings['userPassword']));
     $this->selenium->setVerbose($this->hasOption('verbose'));
     $this->selenium->setJUnitLogFile($this->getOption('jUnitLogFile', $seleniumSettings['jUnitLogFile']));
     if ($this->hasOption('list-browsers')) {
         $this->listBrowsers();
         exit(0);
     }
     if ($this->hasOption('startserver')) {
         $this->startServer();
     }
     $logger = new SeleniumTestConsoleLogger();
     $this->selenium->setLogger($logger);
     $this->runTests($seleniumTestSuites);
     if ($this->hasOption('stopserver')) {
         $this->stopServer();
     }
 }