mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
Fix exponential increase of timeout when finding ancestor elements
The timeout passed to the "find" method was multiplied by the "findTimeoutMultiplier" attribute. However, as "find" used "findAncestor" and "findAncestor", in turn, used "find" itself the timeout was increased exponentially for ancestor elements. Now "find" was split in "find" and "findInternal"; the first method is the public one and modifies the given parameters as needed and then calls the second method, private, that performs the find itself. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
parent
94c2f12226
commit
97bedb94af
1 changed files with 13 additions and 1 deletions
|
|
@ -165,6 +165,18 @@ class Actor {
|
|||
public function find($elementLocator, $timeout = 0, $timeoutStep = 0.5) {
|
||||
$timeout = $timeout * $this->findTimeoutMultiplier;
|
||||
|
||||
return $this->findInternal($elementLocator, $timeout, $timeoutStep);
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds an element in the Mink Session of this Actor.
|
||||
*
|
||||
* The timeout is not affected by the multiplier set using
|
||||
* setFindTimeoutMultiplier().
|
||||
*
|
||||
* @see find($elementLocator, $timeout, $timeoutStep)
|
||||
*/
|
||||
private function findInternal($elementLocator, $timeout, $timeoutStep) {
|
||||
$element = null;
|
||||
$selector = $elementLocator->getSelector();
|
||||
$locator = $elementLocator->getLocator();
|
||||
|
|
@ -211,7 +223,7 @@ class Actor {
|
|||
$ancestorElement = $elementLocator->getAncestor();
|
||||
if ($ancestorElement instanceof Locator) {
|
||||
try {
|
||||
$ancestorElement = $this->find($ancestorElement, $timeout, $timeoutStep);
|
||||
$ancestorElement = $this->findInternal($ancestorElement, $timeout, $timeoutStep);
|
||||
} catch (NoSuchElementException $exception) {
|
||||
// Little hack to show the stack of ancestor elements that could
|
||||
// not be found, as Behat only shows the message of the last
|
||||
|
|
|
|||
Loading…
Reference in a new issue