Merge pull request #623 from ayushchd/selenium

Selenium fixes and improvements
This commit is contained in:
Madhura Jayaratne 2013-08-21 11:31:08 -07:00
commit 105c57eaea
10 changed files with 268 additions and 268 deletions

View File

@ -1,7 +1,7 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Selenium Helper class for selenium test cases
* Selenium helper class for TestCases
*
* @package PhpMyAdmin-test
* @subpackage Selenium
@ -9,7 +9,7 @@
require_once 'TestConfig.php';
/**
* Selenium Helper Class
* Helper class
*
* @package PhpMyAdmin-test
* @subpackage Selenium
@ -17,43 +17,193 @@ require_once 'TestConfig.php';
class Helper
{
/**
* SeleniumTestSuite instance
* Username of the user
*
* @var object
* @access private
* @var string
*/
public static $selenium;
private $_txtUsername;
/**
* TestConfig instance
* Password for the user
*
* @var object TestConfig
* @access private
* @var string
*/
public static $config;
private $_txtPassword;
/**
* id of the login button
*
* @access private
* @var string
*/
private $_btnLogin;
/**
* Selenium Context
*
* @access private
* @var object
*/
private $_selenium;
/**
* Configuration Instance
*
* @access private
* @var object
*/
private $_config;
/**
* mysqli object
*
* @access private
* @var object
*/
private $_mysqli;
/**
* constructor
*
* @param object $selenium Selenium Context
*/
function __construct()
public function __construct($selenium)
{
self::$config = new TestConfig();
$this->_txtUsername = 'input_username';
$this->_txtPassword = 'input_password';
$this->_btnLogin = 'input_go';
$this->_config = new TestConfig();
$this->_selenium = $selenium;
$this->_mysqli = null;
}
public static function isLoggedIn($selenium)
/**
* perform a login
*
* @param string $username Username
* @param string $password Password
*
* @return void
*/
public function login($username, $password)
{
return $selenium->isElementPresent('//*[@id="serverinfo"]/a[1]');
$this->_selenium->open($this->_config->getLoginURL());
$this->_selenium->type($this->_txtUsername, $username);
$this->_selenium->type($this->_txtPassword, $password);
$this->_selenium->clickAndWait($this->_btnLogin);
//$this->_selenium->waitForPageToLoad($this->_config->getTimeoutValue());
}
public static function logOutIfLoggedIn($selenium)
/**
* Checks whether the login is successful
*
* @return boolean
*/
public function isSuccessLogin()
{
if (self::isLoggedIn($selenium)) {
$selenium->clickAndWait("css=img.icon.ic_s_loggoff");
if ($this->_selenium->isElementPresent("//*[@id=\"serverinfo\"]")) {
return true;
} else {
return false;
}
}
public static function getBrowserString()
/**
* Checks whether the login is unsuccessful
*
* @return boolean
*/
public function isUnsuccessLogin()
{
$browserString = self::$config->getCurrentBrowser();
if ($this->_selenium->isElementPresent("css=div.error")) {
return true;
} else {
return false;
}
}
/**
* Used to go to the homepage
*
* @return void
*/
public function gotoHomepage()
{
$this->_selenium->click("css=div#serverinfo a:contains('Server:')");
$this->_selenium->waitForElementNotPresent('css=div#loading_parent');
}
/**
* Establishes a connection with the local database
*
* @return void
*/
public function dbConnect()
{
if ($this->_mysqli === null) {
list($user, $pass) = $this->_config->getDBCredentials();
$this->_mysqli = new mysqli(
"localhost", $user, $pass
);
if ($this->_mysqli->connect_errno) {
throw new Exception(
'Failed to connect to MySQL (' . $this->_mysqli->error . ')'
);
}
}
}
/**
* Executes a database query
*
* @param string $query SQL Query to be executed
*
* @return void
*/
public function dbQuery($query)
{
if ($this->_mysqli === null) {
throw new Exception(
'MySQL not connected'
);
}
$this->_mysqli->query($query);
}
/**
* Check if user is logged in to phpmyadmin
*
* @return boolean Where or not user is logged in
*/
public function isLoggedIn()
{
return $this->_selenium->isElementPresent('//*[@id="serverinfo"]/a[1]');
}
/**
* Perform a logout, if logged in
*
* @return void
*/
public function logOutIfLoggedIn()
{
if ($this->isLoggedIn()) {
$this->_selenium->clickAndWait("css=img.icon.ic_s_loggoff");
}
}
/**
* Get current browser string
*
* @return string Browser String
*/
public function getBrowserString()
{
$browserString = $this->_config->getCurrentBrowser();
return $browserString;
}
}

View File

@ -6,7 +6,6 @@
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
/**
@ -25,11 +24,11 @@ class PmaSeleniumCreateDropDatabaseTest extends PHPUnit_Extensions_SeleniumTestC
private $_dbname;
/**
* PmaSeleniumTestCase Object
* Helper Object
*
* @var obj
*/
private $_seleniumTasks;
private $_helper;
/**
* Setup the browser environment to run the selenium test case
@ -38,10 +37,10 @@ class PmaSeleniumCreateDropDatabaseTest extends PHPUnit_Extensions_SeleniumTestC
*/
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->_helper = new Helper($this);
$this->setBrowser($this->_helper->getBrowserString());
$this->setBrowserUrl(TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL);
$this->_seleniumTasks = new PmaSeleniumTestCase($this);
}
/**
@ -52,7 +51,7 @@ class PmaSeleniumCreateDropDatabaseTest extends PHPUnit_Extensions_SeleniumTestC
public function testCreateDropDatabase()
{
$this->_dbname = 'pma_testdb' . time();
$this->_seleniumTasks->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->_helper->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->click("link=Databases");
$this->waitForElementPresent("id=text_create_db");
$this->type("id=text_create_db", $this->_dbname);
@ -69,7 +68,7 @@ class PmaSeleniumCreateDropDatabaseTest extends PHPUnit_Extensions_SeleniumTestC
*/
private function _dropDatabase()
{
$this->_seleniumTasks->gotoHomepage();
$this->_helper->gotoHomepage();
$this->click("css=ul#topmenu a:contains('Databases')");
$this->waitForElementNotPresent('css=div#loading_parent');
$this->click(

View File

@ -6,7 +6,6 @@
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
/**
@ -33,6 +32,13 @@ class PmaSeleniumCreateRemoveUserTest extends PHPUnit_Extensions_SeleniumTestCas
*/
private $_txtPassword;
/**
* Helper Object
*
* @var obj
*/
private $_helper;
/**
* Setup the browser environment to run the selenium test case
*
@ -40,8 +46,8 @@ class PmaSeleniumCreateRemoveUserTest extends PHPUnit_Extensions_SeleniumTestCas
*/
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->_helper = new Helper($this);
$this->setBrowser($this->_helper->getBrowserString());
$this->setBrowserUrl(TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL);
$this->_txtUsername = 'pma_user';
$this->_txtPassword = 'abc_123';
@ -54,8 +60,7 @@ class PmaSeleniumCreateRemoveUserTest extends PHPUnit_Extensions_SeleniumTestCas
*/
public function testCreateRemoveUser()
{
$log = new PmaSeleniumTestCase($this);
$log->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->_helper->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->click("link=Users");
$this->waitForElementPresent("fieldset_add_user");
$this->click("link=Add user");
@ -72,11 +77,12 @@ class PmaSeleniumCreateRemoveUserTest extends PHPUnit_Extensions_SeleniumTestCas
$this->click("id=createdb-1");
$this->click("id=createdb-2");
$this->waitForElementPresent("fieldset_user_global_rights");
$this->click("link=Check All");
$this->click("id=addUsersForm_checkall");
$this->waitForElementPresent("fieldset_add_user_footer");
$this->click("name=adduser_submit");
$this->waitForElementPresent("css=span.ajax_notification");
$this->assertElementPresent("css=span.ajax_notification div.success");
$this->waitForElementPresent(
"css=div.success:contains('You have added a new user')"
);
$this->waitForElementPresent("usersForm");
$temp = $this->_txtUsername."&amp;#27;localhost";
$this->click(
@ -85,7 +91,8 @@ class PmaSeleniumCreateRemoveUserTest extends PHPUnit_Extensions_SeleniumTestCas
$this->click("id=checkbox_drop_users_db");
$this->getConfirmation();
$this->click("id=buttonGo");
$this->waitForElementPresent("css=span.ajax_notification");
$this->assertElementPresent("css=span.ajax_notification div.success");
$this->waitForElementPresent(
"css=div.success:contains('The selected users have been deleted')"
);
}
}

View File

@ -6,7 +6,6 @@
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
/**
@ -17,6 +16,13 @@ require_once 'Helper.php';
*/
class PmaSeleniumLoginTest extends PHPUnit_Extensions_SeleniumTestCase
{
/**
* Helper Object
*
* @var obj
*/
private $_helper;
/**
* Setup the browser environment to run the selenium test case
*
@ -24,8 +30,8 @@ class PmaSeleniumLoginTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->_helper = new Helper($this);
$this->setBrowser($this->_helper->getBrowserString());
$this->setBrowserUrl(TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL);
}
@ -36,10 +42,9 @@ class PmaSeleniumLoginTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function testSuccessfulLogin()
{
$log = new PmaSeleniumTestCase($this);
$log->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->assertTrue($log->isSuccessLogin());
Helper::logOutIfLoggedIn($this);
$this->_helper->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->assertTrue($this->_helper->isSuccessLogin());
$this->_helper->logOutIfLoggedIn();
}
/**
@ -49,10 +54,9 @@ class PmaSeleniumLoginTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function testLoginWithWrongPassword()
{
$log = new PmaSeleniumTestCase($this);
$log->login("Admin", "Admin");
$this->assertTrue($log->isUnsuccessLogin());
Helper::logOutIfLoggedIn($this);
$this->_helper->login("Admin", "Admin");
$this->assertTrue($this->_helper->isUnsuccessLogin());
$this->_helper->logOutIfLoggedIn();
}
}
?>

View File

@ -7,7 +7,6 @@
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
/**
@ -18,6 +17,13 @@ require_once 'Helper.php';
*/
class PmaSeleniumPrivilegesTest extends PHPUnit_Extensions_SeleniumTestCase
{
/**
* Helper Object
*
* @var obj
*/
private $_helper;
/**
* Setup the browser environment to run the selenium test case
*
@ -25,8 +31,8 @@ class PmaSeleniumPrivilegesTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->_helper = new Helper($this);
$this->setBrowser($this->_helper->getBrowserString());
$this->setBrowserUrl(TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL);
}
@ -37,8 +43,7 @@ class PmaSeleniumPrivilegesTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function testChangePassword()
{
$log = new PmaSeleniumTestCase($this);
$log->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->_helper->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->click("link=Change password");
$this->waitForElementPresent("id=change_password_anchor");
try {

View File

@ -6,7 +6,6 @@
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
/**
@ -25,11 +24,11 @@ class PmaSeleniumTablesBrowseDataTest extends PHPUnit_Extensions_SeleniumTestCas
private $_dbname;
/**
* PmaSeleniumTestCase Object
* Helper Object
*
* @var obj
*/
private $_seleniumTasks;
private $_helper;
/**
* Setup the browser environment to run the selenium test case
@ -38,16 +37,15 @@ class PmaSeleniumTablesBrowseDataTest extends PHPUnit_Extensions_SeleniumTestCas
*/
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->_helper = new Helper($this);
$this->setBrowser($this->_helper->getBrowserString());
$this->setBrowserUrl(TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL);
$this->start();
$this->_seleniumTasks = new PmaSeleniumTestCase($this);
$this->_seleniumTasks->dbConnect();
$this->_helper->dbConnect();
$this->_dbname = 'pma_db_' . time();
$this->_seleniumTasks->dbQuery('CREATE DATABASE ' . $this->_dbname);
$this->_seleniumTasks->dbQuery('USE ' . $this->_dbname);
$this->_seleniumTasks->dbQuery(
$this->_helper->dbQuery('CREATE DATABASE ' . $this->_dbname);
$this->_helper->dbQuery('USE ' . $this->_dbname);
$this->_helper->dbQuery(
"CREATE TABLE `test_table` ("
. " `id` int(11) NOT NULL AUTO_INCREMENT,"
. " `name` varchar(20) NOT NULL,"
@ -55,13 +53,13 @@ class PmaSeleniumTablesBrowseDataTest extends PHPUnit_Extensions_SeleniumTestCas
. " PRIMARY KEY (`id`)"
. ")"
);
$this->_seleniumTasks->dbQuery(
$this->_helper->dbQuery(
"INSERT INTO `test_table` (`id`, `name`, `datetimefield`) VALUES"
. " (1, 'abcd', '2011-01-20 02:00:02'),"
. " (2, 'foo', '2010-01-20 02:00:02'),"
. " (3, 'Abcd', '2012-01-20 02:00:02')"
);
$this->_seleniumTasks->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->_helper->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->click('link='. $this->_dbname.'');
$this->waitForElementPresent("link=test_table");
$this->click("link=Browse");
@ -208,11 +206,12 @@ class PmaSeleniumTablesBrowseDataTest extends PHPUnit_Extensions_SeleniumTestCas
$this->doubleClick("css=table#table_results tr:eq(1) td:eq(5)");
$this->assertEquals(
$this->getText("css=textarea.edit_box:first"),
$this->getValue("css=textarea.edit_box:first"),
"abcd"
);
$this->type("css=textarea.edit_box:first", "abcde");
usleep(100);
$this->keyPressNative(10);
$this->waitForElementPresent("css=div.success:contains('1 row affected')");
@ -315,6 +314,6 @@ class PmaSeleniumTablesBrowseDataTest extends PHPUnit_Extensions_SeleniumTestCas
*/
public function tearDown()
{
$this->_seleniumTasks->dbQuery('DROP DATABASE ' . $this->_dbname);
$this->_helper->dbQuery('DROP DATABASE ' . $this->_dbname);
}
}

View File

@ -6,7 +6,6 @@
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
/**
@ -25,11 +24,11 @@ class PmaSeleniumTablesInsertDataTest extends PHPUnit_Extensions_SeleniumTestCas
private $_dbname;
/**
* PmaSeleniumTestCase Object
* Helper Object
*
* @var obj
*/
private $_seleniumTasks;
private $_helper;
/**
* Setup the browser environment to run the selenium test case
@ -38,16 +37,15 @@ class PmaSeleniumTablesInsertDataTest extends PHPUnit_Extensions_SeleniumTestCas
*/
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->_helper = new Helper($this);
$this->setBrowser($this->_helper->getBrowserString());
$this->setBrowserUrl(TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL);
$this->start();
$this->_seleniumTasks = new PmaSeleniumTestCase($this);
$this->_seleniumTasks->dbConnect();
$this->_helper->dbConnect();
$this->_dbname = 'pma_db_' . time();
$this->_seleniumTasks->dbQuery('CREATE DATABASE ' . $this->_dbname);
$this->_seleniumTasks->dbQuery('USE ' . $this->_dbname);
$this->_seleniumTasks->dbQuery(
$this->_helper->dbQuery('CREATE DATABASE ' . $this->_dbname);
$this->_helper->dbQuery('USE ' . $this->_dbname);
$this->_helper->dbQuery(
"CREATE TABLE `test_table` ("
. " `id` int(11) NOT NULL AUTO_INCREMENT,"
. " `name` varchar(20) NOT NULL,"
@ -55,7 +53,7 @@ class PmaSeleniumTablesInsertDataTest extends PHPUnit_Extensions_SeleniumTestCas
. " PRIMARY KEY (`id`)"
. ")"
);
$this->_seleniumTasks->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->_helper->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->click('link='. $this->_dbname.'');
$this->waitForElementPresent("link=test_table");
}
@ -142,8 +140,14 @@ class PmaSeleniumTablesInsertDataTest extends PHPUnit_Extensions_SeleniumTestCas
$this->getTable("table_results.3.6")
);
}
/**
* Tear Down function for test cases
*
* @return void
*/
public function tearDown()
{
$this->_seleniumTasks->dbQuery('DROP DATABASE ' . $this->_dbname);
$this->_helper->dbQuery('DROP DATABASE ' . $this->_dbname);
}
}

View File

@ -6,7 +6,6 @@
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
/**
@ -25,11 +24,11 @@ class PmaSeleniumTablesTest extends PHPUnit_Extensions_SeleniumTestCase
private $_dbname;
/**
* PmaSeleniumTestCase Object
* Helper Object
*
* @var obj
*/
private $_seleniumTasks;
private $_helper;
/**
* Setup the browser environment to run the selenium test case
@ -38,13 +37,12 @@ class PmaSeleniumTablesTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->_helper = new Helper($this);
$this->setBrowser($this->_helper->getBrowserString());
$this->setBrowserUrl(TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL);
$this->_seleniumTasks = new PmaSeleniumTestCase($this);
$this->_seleniumTasks->dbConnect();
$this->_helper->dbConnect();
$this->_dbname = 'pma_db_' . time();
$this->_seleniumTasks->dbQuery('CREATE DATABASE ' . $this->_dbname);
$this->_helper->dbQuery('CREATE DATABASE ' . $this->_dbname);
}
/**
@ -54,7 +52,7 @@ class PmaSeleniumTablesTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function testCreateTable()
{
$this->_seleniumTasks->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->_helper->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->click('link='. $this->_dbname.'');
$this->waitForElementPresent('id=create_table_form_minimal');
$this->type(
@ -179,8 +177,13 @@ class PmaSeleniumTablesTest extends PHPUnit_Extensions_SeleniumTestCase
);
}
/**
* Tear down functions for test cases
*
* @return void
*/
public function tearDown()
{
$this->_seleniumTasks->dbQuery('DROP DATABASE ' . $this->_dbname);
$this->_helper->dbQuery('DROP DATABASE ' . $this->_dbname);
}
}

View File

@ -1,176 +0,0 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Selenium parent class for TestCases
*
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
/**
* PmaSeleniumTestCase class
*
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
class PmaSeleniumTestCase
{
/**
* Username of the user
*
* @access private
* @var string
*/
private $_txtUsername;
/**
* Password for the user
*
* @access private
* @var string
*/
private $_txtPassword;
/**
* id of the login button
*
* @access private
* @var string
*/
private $_btnLogin;
/**
* Selenium Context
*
* @access private
* @var object
*/
private $_selenium;
/**
* Configuration Instance
*
* @access private
* @var object
*/
private $_config;
/**
* mysqli object
*
* @access private
* @var object
*/
private $_mysqli;
/**
* constructor
*
* @param object $selenium Selenium Context
*/
public function __construct($selenium)
{
$this->_txtUsername = 'input_username';
$this->_txtPassword = 'input_password';
$this->_btnLogin = 'input_go';
$this->_config = new TestConfig();
$this->_selenium = $selenium;
$this->_mysqli = null;
}
/**
* perform a login
*
* @param string $username Username
* @param string $password Password
*
* @return void
*/
public function login($username, $password)
{
$this->_selenium->open($this->_config->getLoginURL());
$this->_selenium->type($this->_txtUsername, $username);
$this->_selenium->type($this->_txtPassword, $password);
$this->_selenium->clickAndWait($this->_btnLogin);
//$this->_selenium->waitForPageToLoad($this->_config->getTimeoutValue());
}
/**
* Checks whether the login is successful
*
* @return boolean
*/
public function isSuccessLogin()
{
if ($this->_selenium->isElementPresent("//*[@id=\"serverinfo\"]")) {
return true;
} else {
return false;
}
}
/**
* Checks whether the login is unsuccessful
*
* @return boolean
*/
public function isUnsuccessLogin()
{
if ($this->_selenium->isElementPresent("css=div.error")) {
return true;
} else {
return false;
}
}
/**
* Used to go to the homepage
*
* @return void
*/
public function gotoHomepage()
{
$this->_selenium->click("css=div#serverinfo a:contains('Server:')");
$this->_selenium->waitForElementNotPresent('css=div#loading_parent');
}
/**
* Establishes a connection with the local database
*
* @return void
*/
public function dbConnect()
{
if ($this->_mysqli === null) {
list($user, $pass) = $this->_config->getDBCredentials();
$this->_mysqli = new mysqli(
"localhost", $user, $pass
);
if ($this->_mysqli->connect_errno) {
throw new Exception(
'Failed to connect to MySQL (' . $this->_mysqli->error . ')'
);
}
}
}
/**
* Executes a database query
*
* @param string $query SQL Query to be executed
*
* @return void
*/
public function dbQuery($query)
{
if ($this->_mysqli === null) {
throw new Exception(
'MySQL not connected'
);
}
$this->_mysqli->query($query);
}
}
?>

View File

@ -7,7 +7,6 @@
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
/**
@ -18,6 +17,13 @@ require_once 'Helper.php';
*/
class PmaSeleniumXSSTest extends PHPUnit_Extensions_SeleniumTestCase
{
/**
* Helper Object
*
* @var obj
*/
private $_helper;
/**
* Setup the browser environment to run the selenium test case
*
@ -25,8 +31,8 @@ class PmaSeleniumXSSTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->_helper = new Helper($this);
$this->setBrowser($this->_helper->getBrowserString());
$this->setBrowserUrl(
TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL
);
@ -39,8 +45,7 @@ class PmaSeleniumXSSTest extends PHPUnit_Extensions_SeleniumTestCase
*/
public function testQueryTabWithNullValue()
{
$log = new PmaSeleniumTestCase($this);
$log->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->_helper->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->click("link=SQL");
$this->waitForElementPresent("id=queryboxf");
$this->click("button_submit_query");