| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | 
							- <?php
 - /**
 -  *	base include file for SimpleTest
 -  *	@package	SimpleTest
 -  *	@subpackage	Extensions
 -  *	@version	$Id: selenium.php 1802 2008-09-08 10:43:58Z maetl_ $
 -  */
 - require_once dirname(__FILE__) . '/../unit_tester.php';
 - require_once dirname(__FILE__) . '/selenium/remote-control.php';
 - 
 - /**
 -  * Provides test case wrapper to a Selenium remote
 -  * control instance.
 -  */
 - class SeleniumTestCase extends UnitTestCase
 - {
 - 	/**#@+
 - 	 * Selenium instantiation variables
 - 	 */
 - 	protected $browser = '';
 - 	protected $browserUrl = '';
 - 	protected $host = 'localhost';
 - 	protected $port = '4444';
 - 	protected $timeout = 30000;
 - 	/**#@-*/
 - 
 - 	protected $selenium = null;
 - 	protected $newInstanceEachTest = true;
 - 
 - 	public function __construct($name = 'Selenium Test Case') {
 - 		parent::__construct($name);
 - 
 - 		if (empty($this->browser)) {
 - 			trigger_error('browser property must be set in ' . get_class($this));
 - 			exit;
 - 		}
 - 
 - 		if (empty($this->browserUrl)) {
 - 			trigger_error('browserUrl property must be set in ' . get_class($this));
 - 			exit;
 - 		}
 - 	}
 - 
 - 	public function setUp() {
 - 		parent::setUp();
 - 
 - 		if (is_null($this->selenium)) {
 - 			$this->selenium = new SimpleSeleniumRemoteControl(
 - 				$this->browser,
 - 				$this->browserUrl,
 - 				$this->host,
 - 				$this->port,
 - 				$this->timeout
 - 			);
 - 			$this->selenium->start();
 - 		}
 - 	}
 - 
 - 	public function tearDown() {
 - 		parent::tearDown();
 - 
 - 		if ($this->newInstanceEachTest) {
 - 			$this->selenium->stop();
 - 			$this->selenium = null;
 - 		}
 - 	}
 - 
 - 	public function __call($method, $arguments) {
 -         if (substr($method, 0, 6) == 'verify') {
 -             return $this->assertTrue(
 -                 call_user_func_array(
 -                     array($this->selenium, $method),
 -                     $arguments
 -                 ),
 -                 sprintf('%s failed', $method)
 -             );
 -         }
 -                     
 - 		return call_user_func_array(
 - 			array($this->selenium, $method),
 - 			$arguments
 - 		);
 - 	}
 - 
 - 	public function verifyText($text) {
 - 		return $this->assertTrue(
 - 			$this->selenium->verifyText($text),
 - 			sprintf(
 - 				'verifyText failed when on [%s]',
 - 				$text
 - 			)
 - 		);
 - 	}
 - 
 - 	public function verifyTextPresent($text) {
 - 		return $this->assertTrue(
 - 			$this->selenium->verifyTextPresent($text),
 - 			sprintf(
 - 				'verifyTextPresent failed when on [%s]',
 - 				$text
 - 			)
 - 		);
 - 	}
 - 
 - 	public function verifyTextNotPresent($text) {
 - 		return $this->assertTrue(
 - 			$this->selenium->verifyTextNotPresent($text),
 - 			sprintf(
 - 				'verifyTextNotPresent failed on [%s]',
 - 				$text
 - 			)
 - 		);
 - 	}
 - 
 - 	public function verifyValue($selector, $value) {
 - 		return $this->assertTrue(
 - 			$this->selenium->verifyValue($selector, $value),
 - 			sprintf(
 - 				'verifyValue failed on [%s] == [%s]',
 - 				$selector,
 - 				$value
 - 			)
 - 		);
 - 	}
 - 
 - 	public function verifyTitle($pattern) {
 - 		return $this->assertTrue(
 - 			$this->selenium->verifyTitle($pattern),
 - 			sprintf(
 - 				'verifyTitle failed on [%s]',
 - 				$pattern
 - 			)
 - 		);
 - 	}
 - }
 - 
 
 
  |