From 58d3f3ec1a5c9931d370eca45b4af39d3462a748 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 12 Jan 2024 13:27:50 +0100 Subject: [PATCH] Bug 35329: Add POD + tidy Selenium.pm --- t/lib/Selenium.pm | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/t/lib/Selenium.pm b/t/lib/Selenium.pm index d68b8af443c..51e04418716 100644 --- a/t/lib/Selenium.pm +++ b/t/lib/Selenium.pm @@ -201,12 +201,12 @@ sub wait_for_element_visible { sub wait_for_element_hidden { my ( $self, $xpath_selector ) = @_; - my ($hidden, $elt); + my ( $hidden, $elt ); $self->remove_error_handler; my $max_retries = $self->max_retries; my $i; while ( not $hidden ) { - $elt = eval {$self->driver->find_element($xpath_selector) }; + $elt = eval { $self->driver->find_element($xpath_selector) }; $hidden = $elt || !$elt->is_displayed; $self->driver->pause(1000) unless $hidden; @@ -351,13 +351,43 @@ when we use automation test using Selenium =head2 click - $s->click + $s->click($xpath_selector); This is a bit dirty for now but will evolve depending on the needs 3 parameters possible but only the following 2 forms are used: $s->click({ href => '/module/script.pl?foo=bar', main => 'doc3' }); # Sometimes we have doc or doc3. To make sure we are not going to hit a link in the header $s->click({ id => 'element_id }); +=head2 wait_for_element_visible + + $s->wait_for_element_visible($xpath_selector) + + Wait 10s for an element to be visible + +=head2 wait_for_element_hidden + + $s->wait_for_element_hidden($xpath_selector) + + Wait 10s for an element to be hidden + +=head2 wait_for_ajax + + $s->wait_for_ajax; + + Wait 10s for all the current AJAX requests to be received. + +=head2 get_next_alert_text + + $s->get_next_alert_text; + + Retrieve the next alert text. + +=head2 show_all_entries + + $s->show_all_entries($xpath_selector); + + Select the "All" entries of the DataTables present in the selector. + =head2 click_when_visible $c->click_when_visible -- 2.34.1