This is an automated email from the ASF dual-hosted git repository.
brusdev pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/artemis.git
The following commit(s) were added to refs/heads/main by this push:
new e8f6cb237d ARTEMIS-5906 Fix console smoke tests on Firefox
e8f6cb237d is described below
commit e8f6cb237dacbea530e13ac1de12c0f59d040a28
Author: Domenico Francesco Bruscino <[email protected]>
AuthorDate: Thu Feb 19 15:21:03 2026 +0100
ARTEMIS-5906 Fix console smoke tests on Firefox
Firefox (GeckoDriver) strictly enforces that elements must be within
the viewport before performing an Actions sequence. A simple .click()
is more robust because the driver handles the scrolling logic
internally.
---
.../tests/smoke/console/pages/ArtemisPage.java | 46 ++++++----------------
.../tests/smoke/console/pages/LoginPage.java | 4 +-
.../tests/smoke/console/pages/QueuePage.java | 4 +-
.../tests/smoke/console/pages/QueuesPage.java | 8 ++--
.../tests/smoke/console/pages/SendMessagePage.java | 12 ++----
.../smoke/console/pages/jmx/ArtemisTreePage.java | 10 ++---
.../smoke/console/pages/jmx/AttributesPage.java | 4 +-
7 files changed, 26 insertions(+), 62 deletions(-)
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/ArtemisPage.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/ArtemisPage.java
index 8877fc1346..5e090301a5 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/ArtemisPage.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/ArtemisPage.java
@@ -25,7 +25,6 @@ import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
import static
org.apache.activemq.artemis.tests.smoke.console.PageConstants.ADDRESSES_TAB;
import static
org.apache.activemq.artemis.tests.smoke.console.PageConstants.ALERT_LOCATOR;
@@ -57,17 +56,14 @@ public abstract class ArtemisPage extends ConsolePage {
WebElement userDropdownMenuWebElement =
driver.findElement(USER_DROPDOWN_MENU_LOCATOR);
if (!logoutWebElement.isDisplayed()) {
- Actions actions = new Actions(driver);
- actions.moveToElement(userDropdownMenuWebElement).click().perform();
+ userDropdownMenuWebElement.click();
}
String logoutText = logoutWebElement.getText();
Pattern pattern = Pattern.compile("Logout \\(([^\\)]+)\\)");
Matcher matcher = pattern.matcher(logoutText);
- Actions actions = new Actions(driver);
-
- actions.moveToElement(userDropdownMenuWebElement).click().perform();
+ userDropdownMenuWebElement.click();
if (matcher.find()) {
return matcher.group(1);
@@ -79,9 +75,7 @@ public abstract class ArtemisPage extends ConsolePage {
public AddressesPage getAddressesPage(int timeout) {
WebElement queuesMenuItem = driver.findElement(ADDRESSES_TAB);
- Actions actions = new Actions(driver);
-
- actions.moveToElement(queuesMenuItem).click().perform();
+ queuesMenuItem.click();
return new AddressesPage(driver);
}
@@ -89,8 +83,7 @@ public abstract class ArtemisPage extends ConsolePage {
public SendMessagePage getAddressSendMessagePage(String address, int
timeout) {
refresh(timeout);
WebElement element = driver.findElement(ADDRESSES_TAB);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
List<WebElement> tdElements =
driver.findElement(DATA_TABLE).findElement(By.xpath("//tr/td[contains(text(),
'" + address +
"')]")).findElement(By.xpath("./..")).findElements(TD_TAG_LOCATOR);
tdElements.get(tdElements.size() -
1).findElement(BUTTON_LOCATOR).click();
@@ -106,8 +99,7 @@ public abstract class ArtemisPage extends ConsolePage {
public SendMessagePage getQueueSendMessagePage(String queue, int timeout) {
refresh(timeout);
WebElement element = driver.findElement(QUEUES_TAB);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
List<WebElement> tdElements =
driver.findElement(DATA_TABLE).findElement(By.xpath("//tr/td/a[contains(text(),
'" + queue +
"')]")).findElement(By.xpath("./../..")).findElements(By.tagName("td"));
tdElements.get(tdElements.size() -
1).findElement(BUTTON_LOCATOR).click();
@@ -122,9 +114,7 @@ public abstract class ArtemisPage extends ConsolePage {
public QueuesPage getQueuesPage(int timeout) {
WebElement queuesMenuItem = driver.findElement(QUEUES_TAB);
- Actions actions = new Actions(driver);
-
- actions.moveToElement(queuesMenuItem).click().perform();
+ queuesMenuItem.click();
waitForElementToBeVisible(QUEUES_TAB_SELECTED, timeout);
@@ -148,9 +138,7 @@ public abstract class ArtemisPage extends ConsolePage {
public QueuesPage getQueuesPageFromMessageView(int timeout) {
WebElement queuesMenuItem =
driver.findElement(MESSAGE_VIEW_QUEUES_BUTTON);
- Actions actions = new Actions(driver);
-
- actions.moveToElement(queuesMenuItem).click().perform();
+ queuesMenuItem.click();
waitForElementToBeVisible(QUEUES_TAB_SELECTED, timeout);
@@ -160,9 +148,7 @@ public abstract class ArtemisPage extends ConsolePage {
public QueuesPage getQueuesPageFromMessagesView(int timeout) {
WebElement queuesMenuItem =
driver.findElement(MESSAGE_TABLE_QUEUES_BUTTON);
- Actions actions = new Actions(driver);
-
- actions.moveToElement(queuesMenuItem).click().perform();
+ queuesMenuItem.click();
waitForElementToBeVisible(QUEUES_TAB_SELECTED, timeout);
@@ -171,30 +157,24 @@ public abstract class ArtemisPage extends ConsolePage {
public LoginPage logout(int timeout) {
WebElement logoutWebElement =
driver.findElement(LOGOUT_DROPDOWN_LOCATOR);
- Actions actions = new Actions(driver);
- actions.moveToElement(logoutWebElement).click().perform();
+ logoutWebElement.click();
WebElement userDropdownMenuWebElement =
logoutWebElement.findElement(LOGOUT_MENU_ITEM_LOCATOR);
- actions = new Actions(driver);
-
- actions.moveToElement(userDropdownMenuWebElement).click().perform();
+ userDropdownMenuWebElement.click();
return new LoginPage(driver);
}
public void enableColumn(String columnId) {
WebElement element = driver.findElement(MANAGE_COLUMNS_BUTTON);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
element = driver.findElement(By.id("check-" + columnId));
- actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
element = driver.findElement(SAVE_BUTTON);
- actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
}
public Object postJolokiaExecRequest(String mbean, String operation, String
arguments) {
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/LoginPage.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/LoginPage.java
index 575d9c2c93..1a50d5e115 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/LoginPage.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/LoginPage.java
@@ -19,7 +19,6 @@ package org.apache.activemq.artemis.tests.smoke.console.pages;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
import static
org.apache.activemq.artemis.tests.smoke.console.PageConstants.BRAND_LOCATOR;
import static
org.apache.activemq.artemis.tests.smoke.console.PageConstants.LOGIN_BUTTON_LOCATOR;
@@ -46,8 +45,7 @@ public class LoginPage extends ConsolePage {
driver.findElement(USERNAME_LOCATOR).sendKeys(username);
driver.findElement(PASSWORD_LOCATOR).sendKeys(password);
WebElement element = driver.findElement(LOGIN_BUTTON_LOCATOR);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
waitForElementToBeVisible(LOGOUT_DROPDOWN_LOCATOR, timeout);
waitForElementToBeVisible(By.xpath("//button/span[contains(text(),'Status')]"),
timeout);
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/QueuePage.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/QueuePage.java
index fca2c56182..b2dcb80307 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/QueuePage.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/QueuePage.java
@@ -19,7 +19,6 @@ package org.apache.activemq.artemis.tests.smoke.console.pages;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
import static
org.apache.activemq.artemis.tests.smoke.console.PageConstants.A_TAG_LOCATOR;
import static
org.apache.activemq.artemis.tests.smoke.console.PageConstants.COLUMN_MESSAGE_ID;
@@ -39,8 +38,7 @@ public class QueuePage extends ArtemisPage {
public MessagePage getMessagePage(int index, int timeout) {
int col = getIndexOfColumn(COLUMN_MESSAGE_ID);
WebElement element =
driver.findElement(TABLE_TAG_LOCATOR).findElements(TD_TAG_LOCATOR).get(col).findElement(A_TAG_LOCATOR);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
waitForElementToBeVisible(VIEW_MESSAGE_TITLE_LOCATOR, timeout);
return new MessagePage(driver);
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/QueuesPage.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/QueuesPage.java
index 0e98df9a98..adb8111311 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/QueuesPage.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/QueuesPage.java
@@ -19,7 +19,6 @@ package org.apache.activemq.artemis.tests.smoke.console.pages;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
public class QueuesPage extends ArtemisPage {
private static final String MESSAGE_COUNT_COLUMN_NAME = "Message Count";
@@ -36,8 +35,7 @@ public class QueuesPage extends ArtemisPage {
WebElement messagesCountWebElement =
queueRowWebElement.findElements(By.tagName("td"))
.get(getIndexOfColumn(MESSAGE_COUNT_COLUMN_NAME)).findElement(By.tagName("a"));
- Actions actions = new Actions(driver);
- actions.moveToElement(messagesCountWebElement).click().perform();
+ messagesCountWebElement.click();
waitForElementToBeVisible(QUEUES_PAGE_TITLE, timeout);
return new QueuePage(driver);
@@ -63,7 +61,7 @@ public class QueuesPage extends ArtemisPage {
public boolean searchQueues(String queueNameInResults) {
WebElement element = driver.findElement(SEARCH_BUTTON_LOCATOR);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform(); return
countQueue(queueNameInResults) == 1;
+ element.click();
+ return countQueue(queueNameInResults) == 1;
}
}
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/SendMessagePage.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/SendMessagePage.java
index 00b4947a56..cff3d8e5a9 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/SendMessagePage.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/SendMessagePage.java
@@ -50,16 +50,14 @@ public class SendMessagePage extends ArtemisPage {
public void selectUseCurrentLogonUser() {
if (!isUseCurrentLogonUserSelected()) {
WebElement element = driver.findElement(USE_LOGIN_LOCATOR);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
}
}
public void unselectUseCurrentLogonUser() {
if (isUseCurrentLogonUserSelected()) {
WebElement element = driver.findElement(USE_LOGIN_LOCATOR);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
}
}
@@ -76,10 +74,8 @@ public class SendMessagePage extends ArtemisPage {
public void sendMessage() {
WebElement element =
driver.findElement(By.xpath("//button[contains(text(),'Send')]"));
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
element =
driver.findElement(By.xpath("//button[contains(text(),'Cancel')]"));
- actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
}
}
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/jmx/ArtemisTreePage.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/jmx/ArtemisTreePage.java
index 7a7b9ae10e..37872b86c2 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/jmx/ArtemisTreePage.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/jmx/ArtemisTreePage.java
@@ -19,7 +19,6 @@ package
org.apache.activemq.artemis.tests.smoke.console.pages.jmx;
import org.apache.activemq.artemis.tests.smoke.console.pages.ConsolePage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
import static
org.apache.activemq.artemis.tests.smoke.console.PageConstants.BROKER_NODE_LOCATOR;
import static
org.apache.activemq.artemis.tests.smoke.console.PageConstants.BROKER_BUTTON_LOCATOR;
@@ -37,8 +36,7 @@ public class ArtemisTreePage extends ConsolePage {
public void expandTree(int timeout) {
waitForElementToBeVisible(EXPAND_BUTTON, timeout);
WebElement element = driver.findElement(EXPAND_BUTTON);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
waitForElementToBeVisible(COLLAPSE_BUTTON, timeout);
}
@@ -46,8 +44,7 @@ public class ArtemisTreePage extends ConsolePage {
public void collapseTree(int timeout) {
waitForElementToBeVisible(COLLAPSE_BUTTON, timeout);
WebElement element = driver.findElement(COLLAPSE_BUTTON);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
waitForElementToBeVisible(EXPAND_BUTTON, timeout);
}
@@ -57,8 +54,7 @@ public class ArtemisTreePage extends ConsolePage {
public AttributesPage selectBrokerNode() {
WebElement element =
driver.findElement(BROKER_NODE_LOCATOR).findElement(BROKER_BUTTON_LOCATOR);
- Actions actions = new Actions(driver);
- actions.moveToElement(element).click().perform();
+ element.click();
return new AttributesPage(driver);
}
}
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/jmx/AttributesPage.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/jmx/AttributesPage.java
index 16f978d4f6..2b4bf66e7f 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/jmx/AttributesPage.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/console/pages/jmx/AttributesPage.java
@@ -19,7 +19,6 @@ package
org.apache.activemq.artemis.tests.smoke.console.pages.jmx;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
-import org.openqa.selenium.interactions.Actions;
import java.util.Iterator;
import java.util.List;
@@ -42,8 +41,7 @@ public class AttributesPage extends ArtemisTreePage {
List<WebElement> cols = row.findElements(TD_TAG_LOCATOR);
if (cols.size() == 2 && name.equals(cols.get(0).getText())) {
((JavascriptExecutor)
driver).executeScript("arguments[0].scrollIntoView();", cols.get(0));
- Actions actions = new Actions(driver);
- actions.moveToElement(cols.get(0)).click().perform();
+ cols.get(0).click();
break;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]