summaryrefslogtreecommitdiff
path: root/tests/selenium/Selenium.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/selenium/Selenium.php')
-rw-r--r--tests/selenium/Selenium.php191
1 files changed, 0 insertions, 191 deletions
diff --git a/tests/selenium/Selenium.php b/tests/selenium/Selenium.php
deleted file mode 100644
index 07f98671..00000000
--- a/tests/selenium/Selenium.php
+++ /dev/null
@@ -1,191 +0,0 @@
-<?php
-/**
- * Selenium connector
- * This is implemented as a singleton.
- */
-
-require( 'Testing/Selenium.php' );
-
-class Selenium {
- protected static $_instance = null;
-
- public $isStarted = false;
- public $tester;
-
- protected $port;
- protected $host;
- protected $browser;
- protected $browsers;
- protected $logger;
- protected $user;
- protected $pass;
- protected $timeout = 30000;
- protected $verbose;
- protected $junitlogfile; //processed by phpUnderControl
- protected $runagainstgrid = false;
-
- /**
- * @todo this shouldn't have to be static
- */
- static protected $url;
-
- /**
- * Override parent
- */
- public function __construct() {
- /**
- * @todo this is an ugly hack to make information available to
- * other tests. It should be fixed.
- */
- if ( null === self::$_instance ) {
- self::$_instance = $this;
- } else {
- throw new MWException( "Already have one Selenium instance." );
- }
- }
-
- public function start() {
- $this->tester = new Testing_Selenium( $this->browser, self::$url, $this->host,
- $this->port, $this->timeout );
- if ( method_exists( $this->tester, "setVerbose" ) ) {
- $this->tester->setVerbose( $this->verbose );
- }
-
- $this->tester->start();
- $this->isStarted = true;
- }
-
- public function stop() {
- $this->tester->stop();
- $this->tester = null;
- $this->isStarted = false;
- }
-
- public function login() {
- if ( strlen( $this->user ) == 0 ) {
- return;
- }
- $this->open( self::$url . '/index.php?title=Special:Userlogin' );
- $this->type( 'wpName1', $this->user );
- $this->type( 'wpPassword1', $this->pass );
- $this->click( "//input[@id='wpLoginAttempt']" );
- $this->waitForPageToLoad( 10000 );
-
- // after login we redirect to the main page. So check whether the "Prefernces" top menu item exists
- $value = $this->isElementPresent( "//li[@id='pt-preferences']" );
-
- if ( $value != true ) {
- throw new Testing_Selenium_Exception( "Login Failed" );
- }
-
- }
-
- public static function getInstance() {
- if ( null === self::$_instance ) {
- throw new MWException( "No instance set yet" );
- }
-
- return self::$_instance;
- }
-
- public function loadPage( $title, $action ) {
- $this->open( self::$url . '/index.php?title=' . $title . '&action=' . $action );
- }
-
- public function setLogger( $logger ) {
- $this->logger = $logger;
- }
-
- public function getLogger() {
- return $this->logger;
- }
-
- public function log( $message ) {
- $this->logger->write( $message );
- }
-
- public function setUrl( $url ) {
- self::$url = $url;
- }
-
- public static function getUrl() {
- return self::$url;
- }
-
- public function setPort( $port ) {
- $this->port = $port;
- }
-
- public function getPort() {
- return $this->port;
- }
-
- public function setUser( $user ) {
- $this->user = $user;
- }
-
- // Function to get username
- public function getUser() {
- return $this->user;
- }
-
-
- public function setPass( $pass ) {
- $this->pass = $pass;
- }
-
- //add function to get password
- public function getPass() {
- return $this->pass;
- }
-
- public function setHost( $host ) {
- $this->host = $host;
- }
-
- public function setVerbose( $verbose ) {
- $this->verbose = $verbose;
- }
-
- public function setAvailableBrowsers( $availableBrowsers ) {
- $this->browsers = $availableBrowsers;
- }
-
- public function setJUnitLogfile( $junitlogfile ) {
- $this->junitlogfile = $junitlogfile;
- }
-
- public function getJUnitLogfile() {
- return $this->junitlogfile;
- }
-
- public function setRunAgainstGrid( $runagainstgrid ) {
- $this->runagainstgrid = $runagainstgrid;
- }
-
- public function setBrowser( $b ) {
- if ( $this->runagainstgrid ) {
- $this->browser = $b;
- return true;
- }
- if ( !isset( $this->browsers[$b] ) ) {
- throw new MWException( "Invalid Browser: $b.\n" );
- }
-
- $this->browser = $this->browsers[$b];
- }
-
- public function getAvailableBrowsers() {
- return $this->browsers;
- }
-
- public function __call( $name, $args ) {
- $t = call_user_func_array( array( $this->tester, $name ), $args );
- return $t;
- }
-
- // Prevent external cloning
- protected function __clone() {}
- // Prevent external construction
- // protected function __construct() {}
-}