xi-test-selenium
master
PHP bindings for Selenium 2
|
An element in the HTML document. More...
Public Member Functions | |
__construct (WebDriver $session, $sessionPath, $id) | |
getSeleniumId () | |
Returns the opaque ID Selenium has assigned to this element. | |
getSession () | |
Returns the WebDriver instance that this element resides in. | |
getId () | |
Returns the HTML id of the element. | |
getTagName () | |
getText () | |
Returns the text of the element. | |
getAttribute ($attributeName) | |
Returns the value of an attribute of the element or null if there is no such attribute. | |
isEnabled () | |
Returns whether this (form) element is enabled. | |
isDisabled () | |
Returns whether this (form) element is disabled. | |
isHidden () | |
Returns whether this element is hidden (e.g. | |
click () | |
Clicks on the element. | |
fillIn ($text, $clearFirst=true) | |
Types text to the element. | |
clear () | |
Clears a text(area) input field of all input. | |
isSelected () | |
Tells whether this element (option, checkbox or radio button) is selected. | |
getParent () | |
Returns the parent element, if any. | |
getAncestors ($predicate=null) | |
Returns all ancestor elements of this element, deepest i.e. | |
getAncestorTags () | |
Returns the tag names of all ancestor elements of this element, deepest i.e. | |
Protected Member Functions | |
makeRelativePostRequest ($relPath, $params) | |
createWebElement ($elementId) | |
elementGet ($path) | |
elementPost ($path, $params=null) | |
elementDelete ($path) | |
Protected Attributes | |
$session | |
$sessionPath | |
$elementId | |
$elementPath |
An element in the HTML document.
To use your own subclass, replace the protected createWebElement() in a subclass of WebDriver.
Definition at line 10 of file WebElement.php.
Xi\Test\Selenium\WebElement::__construct | ( | WebDriver $ | session, |
$ | sessionPath, | ||
$ | id | ||
) |
Definition at line 17 of file WebElement.php.
{ $this->session = $session; $this->sessionPath = $sessionPath; $this->elementId = (string)$id; $this->elementPath = $sessionPath . '/element/' . $id; }
Xi\Test\Selenium\WebElement::getSeleniumId | ( | ) |
Returns the opaque ID Selenium has assigned to this element.
Definition at line 29 of file WebElement.php.
{
return $this->elementId;
}
Xi\Test\Selenium\WebElement::getSession | ( | ) |
Returns the WebDriver instance that this element resides in.
Reimplemented from Xi\Test\Selenium\HasWebElements.
Definition at line 38 of file WebElement.php.
{
return $this->session;
}
Xi\Test\Selenium\WebElement::getId | ( | ) |
Returns the HTML id of the element.
Definition at line 47 of file WebElement.php.
{ return $this->getAttribute('id'); }
Xi\Test\Selenium\WebElement::getTagName | ( | ) |
Definition at line 56 of file WebElement.php.
{ return $this->elementGet('/name'); }
Xi\Test\Selenium\WebElement::getText | ( | ) |
Returns the text of the element.
Definition at line 65 of file WebElement.php.
{ return $this->elementGet('/text'); }
Xi\Test\Selenium\WebElement::getAttribute | ( | $ | attributeName | ) |
Returns the value of an attribute of the element or null if there is no such attribute.
$attributeName |
Definition at line 75 of file WebElement.php.
{ return $this->elementGet('/attribute/' . $attributeName); }
Xi\Test\Selenium\WebElement::isEnabled | ( | ) |
Returns whether this (form) element is enabled.
Definition at line 83 of file WebElement.php.
{ return $this->elementGet('/enabled'); }
Xi\Test\Selenium\WebElement::isDisabled | ( | ) |
Returns whether this (form) element is disabled.
Definition at line 91 of file WebElement.php.
{ return !$this->isEnabled(); }
Xi\Test\Selenium\WebElement::isHidden | ( | ) |
Returns whether this element is hidden (e.g.
by CSS `display: none` or similar).
Definition at line 99 of file WebElement.php.
{ return !$this->elementGet('/displayed'); }
Xi\Test\Selenium\WebElement::click | ( | ) |
Clicks on the element.
Definition at line 107 of file WebElement.php.
{ $this->elementPost('/click'); }
Xi\Test\Selenium\WebElement::fillIn | ( | $ | text, |
$ | clearFirst = true |
||
) |
Types text to the element.
The text may contain special keyboard codes. See the constants in the Keys class.
Definition at line 118 of file WebElement.php.
{ if ($clearFirst) { $this->clear(); } if (!is_array($text)) { $text = array((string)$text); } $this->elementPost('/value', array('value' => $text)); }
Xi\Test\Selenium\WebElement::clear | ( | ) |
Clears a text(area) input field of all input.
Definition at line 132 of file WebElement.php.
{ $this->elementPost('/clear'); }
Xi\Test\Selenium\WebElement::isSelected | ( | ) |
Tells whether this element (option, checkbox or radio button) is selected.
To select an element (even an option), `click()` on it.
Definition at line 144 of file WebElement.php.
{ return $this->elementGet('/selected'); }
Xi\Test\Selenium\WebElement::getParent | ( | ) |
Returns the parent element, if any.
Definition at line 154 of file WebElement.php.
{ return $this->tryFind('..', 'xpath'); }
Xi\Test\Selenium\WebElement::getAncestors | ( | $ | predicate = null | ) |
Returns all ancestor elements of this element, deepest i.e.
closest first.
callable | null | $predicate | An optional filter predicate function. |
Definition at line 165 of file WebElement.php.
{ $result = array(); $p = $this; // We test against the tag name because get an error if we try to select // the document object (i.e. the thing above <html>). // This is a kludge that assumes an HTML document. A better xpath-based solution is no doubt possible. while ($p->getTagName() != 'html') { $p = $p->getParent(); if (!$predicate || call_user_func($predicate, $p)) { $result[] = $p; } } return $result; }
Xi\Test\Selenium\WebElement::getAncestorTags | ( | ) |
Returns the tag names of all ancestor elements of this element, deepest i.e.
closest first.
Definition at line 186 of file WebElement.php.
{ $result = array(); foreach ($this->getAncestors() as $ancestor) { $result[] = $ancestor->getTagName(); } return $result; }
Xi\Test\Selenium\WebElement::makeRelativePostRequest | ( | $ | relPath, |
$ | params | ||
) | [protected] |
Reimplemented from Xi\Test\Selenium\HasWebElements.
Definition at line 195 of file WebElement.php.
{ return $this->elementPost($relPath, $params); }
Xi\Test\Selenium\WebElement::createWebElement | ( | $ | elementId | ) | [protected] |
Reimplemented from Xi\Test\Selenium\HasWebElements.
Definition at line 200 of file WebElement.php.
{ return new static($this->session, $this->sessionPath, $elementId); }
Xi\Test\Selenium\WebElement::elementGet | ( | $ | path | ) | [protected] |
Definition at line 205 of file WebElement.php.
{
return $this->session->getServer()->get($this->elementPath . $path);
}
Xi\Test\Selenium\WebElement::elementPost | ( | $ | path, |
$ | params = null |
||
) | [protected] |
Definition at line 210 of file WebElement.php.
{
return $this->session->getServer()->post($this->elementPath . $path, $params);
}
Xi\Test\Selenium\WebElement::elementDelete | ( | $ | path | ) | [protected] |
Definition at line 215 of file WebElement.php.
{
return $this->session->getServer()->delete($this->elementPath . $path);
}
Xi::Test::Selenium\WebElement::$session [protected] |
Definition at line 12 of file WebElement.php.
Xi::Test::Selenium\WebElement::$sessionPath [protected] |
Definition at line 13 of file WebElement.php.
Xi::Test::Selenium\WebElement::$elementId [protected] |
Definition at line 14 of file WebElement.php.
Xi::Test::Selenium\WebElement::$elementPath [protected] |
Definition at line 15 of file WebElement.php.