diff --git a/templates/columns_definitions/column_default.phtml b/templates/columns_definitions/column_default.phtml index 34216148a2..a0390f315a 100644 --- a/templates/columns_definitions/column_default.phtml +++ b/templates/columns_definitions/column_default.phtml @@ -39,9 +39,7 @@ if ($type_upper == 'BIT') { + default_value"> click(); - $this->byId("checkbox_drop_users_db")->click(); $this->scrollIntoView('fieldset_delete_user_footer'); + $this->byId("checkbox_drop_users_db")->click(); $this->byId("buttonGo")->click(); $this->waitForElement("byCssSelector", "button.submitOK")->click(); diff --git a/test/selenium/PmaSeleniumDbEventsTest.php b/test/selenium/PmaSeleniumDbEventsTest.php index ea1b952107..257caf170b 100644 --- a/test/selenium/PmaSeleniumDbEventsTest.php +++ b/test/selenium/PmaSeleniumDbEventsTest.php @@ -124,6 +124,30 @@ class PMA_SeleniumDbEventsTest extends PMA_SeleniumBase $this->byName("item_ends")->click(); $this->keys(date('Y-m-d', strtotime('+1 day'))); + // Dynamic wait, retry if complete text not typed + $this->waitUntil(function () { + $startDate = date('Y-m-d', strtotime('-1 day')); + if ($this->byName('item_starts')->value() === $startDate) { + return true; + } + + $this->byName("item_starts")->clear(); + $this->byName("item_starts")->click(); + $this->keys($startDate); + return null; + }, 5000); + $this->waitUntil(function () { + $endDate = date('Y-m-d', strtotime('+1 day')); + if ($this->byName('item_ends')->value() === $endDate) { + return true; + } + + $this->byName("item_ends")->clear(); + $this->byName("item_ends")->click(); + $this->keys($endDate); + return null; + }, 5000); + $ele = $this->waitForElement('byName', "item_interval_value"); $ele->value('1'); @@ -142,6 +166,9 @@ class PMA_SeleniumDbEventsTest extends PMA_SeleniumBase '//div[@id=\'alertLabel\' and not(contains(@style,\'display: none;\'))]' ); + // Refresh the page + $this->url($this->url()); + $this->assertTrue( $this->isElementPresent( 'byXPath', diff --git a/test/selenium/PmaSeleniumTableBrowseTest.php b/test/selenium/PmaSeleniumTableBrowseTest.php index f3cd238dca..327e773884 100644 --- a/test/selenium/PmaSeleniumTableBrowseTest.php +++ b/test/selenium/PmaSeleniumTableBrowseTest.php @@ -53,6 +53,17 @@ class PMA_SeleniumTableBrowseTest extends PMA_SeleniumBase $this->login(); $this->navigateTable('test_table'); + + $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); + usleep(1000000); // let the page load + + // Dynamic wait + $this->waitUntil(function () { + if (trim($this->getCellByTableClass('table_results', 1, 5)) === '1') { + return true; + } + return null; + }, 5000); } /** @@ -64,9 +75,6 @@ class PMA_SeleniumTableBrowseTest extends PMA_SeleniumBase */ public function testSortRecords() { - $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); - usleep(1000000); // let the page load - // case 1 $this->byPartialLinkText("name")->click(); $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); @@ -158,9 +166,6 @@ class PMA_SeleniumTableBrowseTest extends PMA_SeleniumBase */ public function testChangeRecords() { - $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); - $this->sleep(); - $ele = $this->byCssSelector( "table.table_results tbody tr:nth-child(2) td:nth-child(2)" ); @@ -223,7 +228,6 @@ class PMA_SeleniumTableBrowseTest extends PMA_SeleniumBase */ public function testChangeRecordsByDoubleClick() { - $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); $element = $this->byCssSelector( "table.table_results tbody tr:nth-child(1) td:nth-child(6)" ); @@ -267,9 +271,6 @@ class PMA_SeleniumTableBrowseTest extends PMA_SeleniumBase */ public function testCopyRecords() { - $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); - $this->sleep(); - $ele = $this->byCssSelector( "table.table_results tbody tr:nth-child(3) td:nth-child(3)" ); @@ -323,7 +324,6 @@ class PMA_SeleniumTableBrowseTest extends PMA_SeleniumBase */ public function testSearchRecords() { - $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); $this->expandMore(); $this->byPartialLinkText("Search")->click(); @@ -362,9 +362,6 @@ class PMA_SeleniumTableBrowseTest extends PMA_SeleniumBase */ public function testDeleteRecords() { - $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); - usleep(1000000); - $this->byId("id_rows_to_delete1_left")->click(); $this->byId("id_rows_to_delete2_left")->click(); diff --git a/test/selenium/PmaSeleniumTableStructureTest.php b/test/selenium/PmaSeleniumTableStructureTest.php index 253488b73b..5ed2064d79 100644 --- a/test/selenium/PmaSeleniumTableStructureTest.php +++ b/test/selenium/PmaSeleniumTableStructureTest.php @@ -56,6 +56,14 @@ class PMA_SeleniumTableStructureTest extends PMA_SeleniumBase $this->waitForElementNotPresent('byId', 'ajax_message_num_1'); $this->waitForElement("byId", "tablestructure"); usleep(1000000); + + // Dynamic wait + $this->waitUntil(function () { + if (trim($this->getCellByTableId('tablestructure', 2, 2)) === '2') { + return true; + } + return null; + }, 5000); } /**