From 9c4bf099e1111056a285ab2595d7dfd7bf42b7bd Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 28 Apr 2021 14:52:20 +0200 Subject: [PATCH] Bug 28249: Prevent Selenium->wait_for_element_visible to fall in an infinite loop Stop if max_retries is reached --- t/lib/Selenium.pm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/t/lib/Selenium.pm b/t/lib/Selenium.pm index c97aaf27a5d..242c623a901 100644 --- a/t/lib/Selenium.pm +++ b/t/lib/Selenium.pm @@ -186,10 +186,15 @@ sub wait_for_element_visible { my ($visible, $elt); $self->remove_error_handler; + my $max_retries = $self->max_retries; + my $i; while ( not $visible ) { $elt = eval {$self->driver->find_element($xpath_selector) }; $visible = $elt && $elt->is_displayed; $self->driver->pause(1000) unless $visible; + + die "Cannot wait more for element '$xpath_selector' to be visible" + if $max_retries <= ++$i } $self->add_error_handler; return $elt; -- 2.20.1