TT#56376 selenium: add scroll_to_element to the beginning of every function

Common.pm:
- perform scroll_to_element before executing function to make sure menu
element in in browser view (especially important for older docker
containers, where click() did not scroll the screen before)

Change-Id: I45c9772f4ae8635ecab2751700e908cdf92ac153
(cherry picked from commit 5da4d5528d)
changes/94/32294/2
Nico Schedel 6 years ago
parent a7778d6746
commit e6839c75fc

@ -35,9 +35,10 @@ sub login_ok {
sub create_domain {
my ($self, $name, $reseller) = @_;
return unless $name;
$reseller = 'default' unless $reseller;
diag('Go to domains page');
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element("Domains", 'link_text')->click();
@ -58,6 +59,7 @@ sub delete_domain {
return unless $name;
diag('Go to domains page');
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element("Domains", 'link_text')->click();
@ -80,6 +82,7 @@ sub create_reseller {
return unless $name && $resellerid;
diag('Go to reseller page');
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Resellers', 'link_text')->click();
@ -100,6 +103,7 @@ sub create_reseller_contract {
return unless $resellerid;
diag('Go to Reseller and Peering Contracts page');
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Reseller and Peering Contracts', 'link_text')->click();
@ -127,6 +131,7 @@ sub delete_reseller {
return unless $name;
diag('Go to reseller page');
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Resellers', 'link_text')->click();
@ -149,6 +154,7 @@ sub delete_reseller_contract {
return unless $resellerid;
diag('Go to Reseller and Peering Contracts page');
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Reseller and Peering Contracts', 'link_text')->click();
@ -171,6 +177,7 @@ sub create_rw_ruleset {
return unless $rulesetname && $resellername;
diag('Go to Rewrite Rule Sets page');
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Rewrite Rule Sets', 'link_text')->click();
@ -192,6 +199,7 @@ sub delete_rw_ruleset {
return unless $rulesetname;
diag('Go to Rewrite Rule Sets page');
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Rewrite Rule Sets', 'link_text')->click();
@ -215,6 +223,7 @@ sub create_customer {
$special = 'empty' unless $special;
diag("Go to Customers page");
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element("Customers", 'link_text')->click();
@ -248,6 +257,7 @@ sub delete_customer {
return unless $customerid;
diag("Go to Customers page");
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element("Customers", 'link_text')->click();
@ -270,6 +280,7 @@ sub create_contact {
return unless $contactmail && $reseller;
diag("Go to Contacts page");
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element("Contacts", 'link_text')->click();
@ -293,6 +304,7 @@ sub delete_contact {
return unless $contactmail;
diag("Go to Contacts page");
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element("Contacts", 'link_text')->click();
@ -315,6 +327,7 @@ sub create_billing_profile {
return unless $billingname && $resellername;
diag("Go to Billing page");
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element("Billing", 'link_text')->click();
@ -336,9 +349,12 @@ sub delete_billing_profile {
my($self, $billingname, $cancel) = @_;
return unless $billingname;
diag("Terminate our Billing Profile");
diag("Go to Billing page");
$self->driver->scroll_to_element($self->driver->find_element('//*[@id="main-nav"]'));
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element("Billing", 'link_text')->click();
diag("Trying to delete Billing Profile");
$self->driver->fill_element('#billing_profile_table_filter label input', 'css', 'thisshouldnotexist');
ok($self->driver->find_element_by_css('#billing_profile_table tr > td.dataTables_empty', 'css'), 'Garbage text was not found');
$self->driver->fill_element('#billing_profile_table_filter label input', 'css', $billingname);

Loading…
Cancel
Save