Difference between revisions of "Selenium.php"
m |
m |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{legacy}} | ||
+ | <php> | ||
<?php | <?php | ||
/** | /** | ||
* Selenium extension | * Selenium extension | ||
− | * | + | * |
* See http://www.mediawiki.org/Extension:Selenium for installation and usage details | * See http://www.mediawiki.org/Extension:Selenium for installation and usage details | ||
* See http://www.organicdesign.co.nz/Extension_talk:Selenium.php for development notes and disucssion | * See http://www.organicdesign.co.nz/Extension_talk:Selenium.php for development notes and disucssion | ||
Line 15: | Line 17: | ||
if (!defined('MEDIAWIKI')) die('Not an entry point.'); | if (!defined('MEDIAWIKI')) die('Not an entry point.'); | ||
− | define('SELENIUM_VERSION', '0.8. | + | define('SELENIUM_VERSION', '0.8.1, 2008-08-27'); |
$dir = dirname(__FILE__); | $dir = dirname(__FILE__); | ||
Line 22: | Line 24: | ||
$egSeleniumCategory = "Selenium test suites"; # Category that selenium tests will automatically be categorised in | $egSeleniumCategory = "Selenium test suites"; # Category that selenium tests will automatically be categorised in | ||
$egSeleniumTag = 'selenium'; # Name of tags to wrap selenium tests in | $egSeleniumTag = 'selenium'; # Name of tags to wrap selenium tests in | ||
− | $egSeleniumSchdeule = array(); # Times | + | $egSeleniumSchdeule = array(); # Times, tests and domains, see http://www.mediawiki.org/wiki/Extension:Selenium |
− | |||
$egSeleniumLog = "MediaWiki:Selenium log"; # Article that scheduled test runs should be logged to | $egSeleniumLog = "MediaWiki:Selenium log"; # Article that scheduled test runs should be logged to | ||
Line 35: | Line 36: | ||
'author' => "[http://www.organicdesign.co.nz/User:Sven Sven], [http://www.organicdesign.co.nz/User:Nad Nad]", | 'author' => "[http://www.organicdesign.co.nz/User:Sven Sven], [http://www.organicdesign.co.nz/User:Nad Nad]", | ||
'description' => "Incorporating [http://selenium-core.openqa.org Selenium tests] into the MediaWiki environment", | 'description' => "Incorporating [http://selenium-core.openqa.org Selenium tests] into the MediaWiki environment", | ||
− | 'url' => "http://www.mediawiki.org/Extension:Selenium", | + | 'url' => "http://www.mediawiki.org/wiki/Extension:Selenium", |
'version' => SELENIUM_VERSION | 'version' => SELENIUM_VERSION | ||
); | ); | ||
Line 52: | Line 53: | ||
$wgMessageCache->addMessages(array( | $wgMessageCache->addMessages(array( | ||
'selenium' => "Selenium test management", | 'selenium' => "Selenium test management", | ||
− | 'selenium- | + | 'selenium-run' => "Run test manually", |
− | + | 'selenium-last' => "Last log entry", | |
− | 'selenium- | + | 'selenium-schedule' => "Run suite on these domains daily at $1", |
− | 'selenium-schedule' => " | ||
'selenium-create' => "Create new tests", | 'selenium-create' => "Create new tests", | ||
'selenium-createinfo' => "Use the [$1 Selenium IDE] environrment to create new tests.", | 'selenium-createinfo' => "Use the [$1 Selenium IDE] environrment to create new tests.", | ||
− | 'selenium- | + | 'selenium-loginfo' => "Information from tests run on schedule is logged in [[$1]]." |
)); | )); | ||
} | } | ||
Line 75: | Line 75: | ||
return true; | return true; | ||
} | } | ||
+ | </php> |
Latest revision as of 00:15, 25 September 2013
<php> <?php /**
* Selenium extension * * See http://www.mediawiki.org/Extension:Selenium for installation and usage details * See http://www.organicdesign.co.nz/Extension_talk:Selenium.php for development notes and disucssion * * @package MediaWiki * @subpackage Extensions * @author Marcus Davy User:Sven * @copyright © 2007 Marcus Davy * @licence GNU General Public Licence 2.0 or later */
if (!defined('MEDIAWIKI')) die('Not an entry point.');
define('SELENIUM_VERSION', '0.8.1, 2008-08-27');
$dir = dirname(__FILE__); $egSeleniumPath = preg_replace("|^.+(?=[/\\\\]extensions)|", $wgScriptPath, $dir)."/selenium-core"; $egResultsUrlPath = "../../tmp/results.php"; $egSeleniumCategory = "Selenium test suites"; # Category that selenium tests will automatically be categorised in $egSeleniumTag = 'selenium'; # Name of tags to wrap selenium tests in $egSeleniumSchdeule = array(); # Times, tests and domains, see http://www.mediawiki.org/wiki/Extension:Selenium $egSeleniumLog = "MediaWiki:Selenium log"; # Article that scheduled test runs should be logged to
$wgSpecialPages['Selenium'] = 'SpecialSelenium'; $wgAutoloadClasses['SpecialSelenium'] = "$dir/SpecialSelenium.php"; $wgAutoloadClasses['Selenium'] = "$dir/Selenium.class.php"; $wgExtensionFunctions[] = 'efSetupSelenium'; $wgHooks['LanguageGetMagic'][] = 'efSeleniumLanguageGetMagic'; $wgExtensionCredits['specialpage'][] = array( 'name' => 'Selenium', 'author' => "Sven, Nad", 'description' => "Incorporating Selenium tests into the MediaWiki environment", 'url' => "http://www.mediawiki.org/wiki/Extension:Selenium", 'version' => SELENIUM_VERSION );
function efSetupSelenium() { global $wgRequest, $wgOut, $egSelenium, $wgLanguageCode, $wgMessageCache;
# If requesting a suite or inidividual test, then output will be raw if ($wgRequest->getText('suite')) { $wgOut->disable(); wfResetOutputBuffers(); }
# Add the messages used by the specialpage if ($wgLanguageCode == 'en') { $wgMessageCache->addMessages(array( 'selenium' => "Selenium test management", 'selenium-run' => "Run test manually", 'selenium-last' => "Last log entry", 'selenium-schedule' => "Run suite on these domains daily at $1", 'selenium-create' => "Create new tests", 'selenium-createinfo' => "Use the [$1 Selenium IDE] environrment to create new tests.", 'selenium-loginfo' => "Information from tests run on schedule is logged in $1." )); }
# Add specialpage and create an instance of the class SpecialPage::addPage(new SpecialSelenium()); $egSelenium = new Selenium(); }
/**
* Needed in MediaWiki >1.8.0 for magic word hooks to work properly */
function efSeleniumLanguageGetMagic(&$magicWords, $langCode = 0) { global $egSeleniumMagic; $magicWords[$egSeleniumMagic] = array($langCode, $egSeleniumMagic); return true; } </php>