TT#46791 Fix floating bug with 'Delete' button on 'Peering Servers' page

Jenkins reports time-2-time issue on 'Peering Servers' page:
> # Delete the previously created Peering Rule
> ok 14
> Can't use string ("no such element") 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 14.

It was caused by slow AJAX loading here.
The button 'Delete' was not yet loaded and
we were just do 'sleep 1' and were trying to press it.
How we are clearly waiting for the record to be loaded
before trying to delete it.

Change-Id: Ia20cb427262e9c973ce4853d3ebb17438780afd0
changes/31/26131/1
Alexander Lutay 6 years ago
parent a9399b1efd
commit dce4c30823

@ -116,9 +116,16 @@ $d->find_element('#dataConfirmOK', 'css')->click();
$d->find_text("successfully deleted"); # delete does not work
diag("Delete the previously created Peering Rule");
sleep 1;
diag(" - searching garbage (waiting for AJAX to load)");
$d->fill_element('#PeeringRules_table_filter input', 'css', 'thisshouldnotexist');
$d->find_element('#PeeringRules_table tr > td.dataTables_empty', 'css');
diag(" - searching valid item (waiting for AJAX to load)");
$d->fill_element('#PeeringRules_table_filter input', 'css', 'for testing purposes');
$d->find_element('#PeeringRules_table tr > td.sorting_1', 'css');
diag(" - searching delete button");
$row = $d->find_element('//table[@id="PeeringRules_table"]/tbody/tr[1]');
ok($row);
diag(" - pressing delete button");
$delete_link = $d->find_child_element($row, '(./td//a)[contains(text(),"Delete")]');
ok($delete_link);
$d->move_action(element => $row);

Loading…
Cancel
Save