Difference between revisions of "Extension:Selenium.php"

From Organic Design wiki
(TODO)
m
 
(113 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<?php
+
{{legacy}}
# Extension:Selenium{{Category:Extensions}}{{php}}{{Category:Extensions created with Template:SpecialPage}}
+
This extensions is composed of the following scripts:
# - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
+
*[[Selenium.php]]
# - Author: [http://www.organicdesign.co.nz/User:Sven User:Sven]
+
*[[Selenium.class.php]]
+
*[[SpecialSelenium.php]]
if (!defined('MEDIAWIKI')) die('Not an entry point.');
+
*[[postResults.php]]
 
define('SELENIUM_VERSION','0.0.0, 2007-12-03 (selenium-core version 0.8.3');
 
 
$wgExtensionFunctions[] = 'wfSetupSelenium';
 
 
$wgExtensionCredits['specialpage'][] = array(
 
'name'        => 'Special:Selenium',
 
'author'      => '[http://www.organicdesign.co.nz/User:Sven User:Sven]',
 
'description' => 'Incorporating Selenium tests into the MediaWiki environment',
 
'url'        => 'http://www.mediawiki.org/wiki/Extension:Selenium',
 
'version'    => SELENIUM_VERSION
 
);
 
 
require_once "$IP/includes/SpecialPage.php";
 
 
# Define a new class based on the SpecialPage class
 
class SpecialSelenium extends SpecialPage {
 
 
# Constructor
 
function SpecialSelenium() {
 
SpecialPage::SpecialPage(
 
'Selenium',    # name as seen in links etc
 
'sysop',      # user rights required
 
true,          # listed in special:specialpages
 
false,        # function called by execute() - defaults to wfSpecial{$name}
 
false,        # file included by execute() - defaults to Special{$name}.php, only used if no function
 
false          # includable
 
);
 
}
 
 
# Override SpecialPage::execute()
 
# - $param is from the URL, eg Special:Selenium/param
 
function execute($param) {
 
global $wgOut;
 
$this->setHeaders();
 
$title = Title::makeTitle(NS_SPECIAL,'Selenium');
 
$wgOut->addWikiText(wfMsg('example-message','exampleParameter'));
 
$wgOut->addHTML(
 
wfElement('form',array('action' => $title->getLocalURL('action=submit'),'method' => 'post'),null)
 
. '<textarea name="target" cols=25 rows=10></textarea>'
 
. wfElement('input',array('type' => 'submit'))
 
. '</form>'
 
);
 
}
 
 
}
 
 
# ---------------------- TODO ------------------- #
 
# 1) Deploy tags to allow additional html table tags
 
# 2) Create form for Special:Selenium
 
# 3) Create rendering on the fly of a test article to the suite html code
 
# 4) Some sort of validation of article
 
  
# Called from $wgExtensionFunctions array when initialising extensions
+
== Notes ==
function wfSetupSelenium() {
+
* The [[mw:Extension:Selenium|extension documentation]] is hosted on http://mediawiki.org.
global $wgLanguageCode,$wgMessageCache;
+
* [[Example Selenium test suite]]
+
[[Category:Legacy Extensions]]
# Add the messages used by the specialpage
 
if ($wgLanguageCode == 'en') {
 
$wgMessageCache->addMessages(array(
 
'selenium' => 'Example Specialpage',        # The friendly page title
 
'exampleMessage' => "Example message: <tt>$1</tt>",
 
));
 
}
 
 
# Add the specialpage to the environment
 
SpecialPage::addPage(new SpecialSelenium());
 
}
 
?>
 

Latest revision as of 15:00, 22 October 2014

Legacy.svg Legacy: This article describes a concept that has been superseded in the course of ongoing development on the Organic Design wiki. Please do not develop this any further or base work on this concept, now this page is for historic record only.

This extensions is composed of the following scripts:

Notes