Selenium Test Case Methods
From Joomla! Documentation
Revision as of 19:27, 10 February 2010 by Betweenbrain (Talk | contribs)
Contents |
News and Updates
2010 02 10 : Initial draft of this article
Introduction
With the introduction of System tests in February 2010, there are also a number of Joomla! specific methods that can be used. These methods are part of the SeleniumJoomlaTestCase class, as defined by the file tests/system/SeleniumJoomlaTestCase.php
These methods exist so that none of the path or login information is coded into the tests. Instead, it comes from the config file located at tests/system/servers/configdef.php See Running_Automated_Tests_for_Version_1.6#Create_a_Selenium_Configuration_File
Available Selenium Test Case Methods
As of this writing, the following methods that belong to the SeleniumJoomlaTestCase class.
- setUp()
- doAdminLogin()
- doAdminLogout()
- gotoAdmin()
- gotoSite()
- doFrontEndLogin()
- doFrontEndLogout()
- setTinyText($text)
setUp
- Loads the configuration variables defined in
tests/system/servers/configdef.phpand launches the test browser accordingly.
public function setUp()
{
$cfg = new SeleniumConfig();
$this->cfg = $cfg; // save current configuration
$this->setBrowser($cfg->browser);
$this->setBrowserUrl($cfg->host.$cfg->path);
if(isset($cfg->selhost)) {
$this->setHost($cfg->selhost);
}
echo ".\n".'Starting '.get_class($this).".\n";
}
doAdminLogin
- Logs into the administrative side of Joomla!
function doAdminLogin()
{
//$this->setUp();
echo "Logging in to admin.\n";
$cfg = new SeleniumConfig();
$this->open($cfg->path . "administrator/index.php?option=com_login");
$this->waitForPageToLoad("30000");
$this->type("mod-login-username", $cfg->username);
$this->type("mod-login-password", $cfg->password);
$this->click("link=Log in");
$this->waitForPageToLoad("30000");
}
doAdminLogout
- Logs out of the administrative side of Joomla!
function doAdminLogout()
{
$this->gotoAdmin();
echo "Logging out of back end.\n";
$this->click("link=Logout");
}
gotoAdmin
- Navigates to the administrative side of Joomla!
function gotoAdmin()
{
echo "Browsing to admin.\n";
$cfg = new SeleniumConfig();
$this->open($cfg->path . "administrator");
}
gotoSite
- Navigates to the front end of Joomla!
function gotoSite()
{
echo "Browsing to site.\n";
$cfg = new SeleniumConfig();
$this->open($cfg->path);
}
doFrontEndLogin
- Logs into the front end of Joomla!
function doFrontEndLogin()
{
$this->gotoSite();
echo "Logging into front end of site.\n";
$this->type("modlgn_username", "admin");
$this->type("modlgn_passwd", "password");
$this->click("Submit");
$this->waitForPageToLoad("30000");
}
doFrontEndLogout
- Logs out of the front end of Joomla!
function doFrontEndLogout()
{
$this->gotoSite();
echo "Logging out of front end of site.\n";
$this->click("Submit");
$this->waitForPageToLoad("30000");
}
setTinyText
- Allows the test to input data
function setTinyText($text)
{
$this->selectFrame("text_ifr");
$this->type("tinymce", $text);
$this->selectFrame("relative=top");
}