From 4a11e908d4c15badb0c720d3fe9f4d4726e16bd7 Mon Sep 17 00:00:00 2001 From: Alexander Lutay Date: Thu, 8 Nov 2018 12:58:31 +0100 Subject: [PATCH] TT#46791 Add timeout 1 second for controller_billing.t It will give Ajax enough time to load 'Edit' button, otherwise we have some mystery which randomly happens when Jenkins tests VMs on Google Cloud: > # Edit Wednesday > ok 26 > # Move mouse over 'Weekdays' row to make 'Edit' button available > # Find 'Edit' button for element 'Wednesday' > ok 27 > # Click 'Edit' button for element 'Wednesday' > Can't use string ("element not interactable") as a HASH ref while "strict refs" in use at /home/selenium/Selenium-Remote-Driver/lib/Selenium/Remote/Driver.pm line 684. > at /home/selenium/Selenium-Remote-Driver/lib/Selenium/Remote/Driver.pm line 655. > # Tests were run but no plan was declared and done_testing() was not seen. > # Looks like your test exited with 255 just after 27. Locally it is not reproducible, also VM on Proxmox has no such issues as well. I spend too much time here trying to find the root of the issue, maybe Firefox version we are currently using has some issues here. Give up, sleep 1. Change-Id: I168270f6f6d25d8bdccfe6a40b2bc63aa0c5068e (cherry picked from commit 72834f126dd6c82410c8385aee147ea28db6f9c9) --- t/selenium/controller_billing.t | 1 + 1 file changed, 1 insertion(+) diff --git a/t/selenium/controller_billing.t b/t/selenium/controller_billing.t index 03a9694595..3352bb4247 100644 --- a/t/selenium/controller_billing.t +++ b/t/selenium/controller_billing.t @@ -135,6 +135,7 @@ $d->move_action(element => ($d->find_element('//h3[contains(text(),"Weekdays")]' sleep 2 if ($d->browser_name_in("htmlunit")); $d->move_action(element => $row); diag("Find 'Edit' button for element 'Wednesday'"); +sleep 1; # give ajax time to load my $btn = $d->find_element('//table//td[contains(text(),"Wednesday")]/..//a[text()[contains(.,"Edit")]]'); ok($btn); diag("Click 'Edit' button for element 'Wednesday'");