Skip to content

Commit 1ca2a4d

Browse files
authored
feat: added IU-2024.2 to IntelliJVersion (#302)
* feat: added IU-2024.2 to IntelliJVersion Signed-off-by: Martin Szuc <[email protected]> * fix: getSetModule in JavaNewProjectFinalPage updated for 2024.2 Signed-off-by: Martin Szuc <[email protected]> * fix: MenuBar navigation updated for 2024.2 Signed-off-by: Martin Szuc <[email protected]> * feat: Right & Left ToolWindowToolbars refactor: ToolWinToolbars redundant isPaneOpened usage removed Signed-off-by: Martin Szuc <[email protected]> Signed-off-by: Martin Szuc <[email protected]> * fix: ProjectExplorer new icons for 2024.2 Signed-off-by: Martin Szuc <[email protected]> * fix: resize settings dialog for MacOS Signed-off-by: Martin Szuc <[email protected]> * fix(test): use java 17 Signed-off-by: Martin Szuc <[email protected]> * fix(test): expandAllTest expands selected subtree Signed-off-by: Martin Szuc <[email protected]> * fix: Gradle & Maven new icons for 2024.2 Signed-off-by: Martin Szuc <[email protected]> * fix(test): ProjectExplorerPaneTest updated for 2024.2 Signed-off-by: Martin Szuc <[email protected]> * fix(test): setprojectsdk test for windows Signed-off-by: Martin Szuc <[email protected]> --------- Signed-off-by: Martin Szuc <[email protected]>
1 parent 8f3842e commit 1ca2a4d

File tree

19 files changed

+304
-54
lines changed

19 files changed

+304
-54
lines changed

src/main/java/com/redhat/devtools/intellij/commonuitest/fixtures/dialogs/FlatWelcomeFrame.java

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import java.io.File;
3232
import java.io.IOException;
3333
import java.nio.file.Files;
34-
import java.nio.file.NoSuchFileException;
3534
import java.nio.file.Paths;
3635
import java.time.Duration;
3736
import java.util.List;
@@ -150,7 +149,46 @@ public void openSettingsDialog() {
150149
} else {
151150
JTreeFixture jTreeFixture = remoteRobot.find(JTreeFixture.class, byXpath(XPathDefinitions.TREE));
152151
jTreeFixture.findText("Customize").click();
153-
remoteRobot.find(ContainerFixture.class, byXpath(XPathDefinitions.DIALOG_PANEL)).findText("All settings" + '\u2026').click();
152+
153+
if (remoteRobot.isMac()) {
154+
resizeWelcomeWindow(remoteRobot, 900);
155+
}
156+
157+
remoteRobot.find(ContainerFixture.class, byXpath(XPathDefinitions.DIALOG_PANEL))
158+
.findText("All settings" + '\u2026')
159+
.click();
160+
}
161+
}
162+
163+
/**
164+
* Resize the Welcome to IntelliJ IDEA window
165+
*
166+
* @param remoteRobot Valid instance of remote robot
167+
* @param newHeight Integer of new height to use
168+
*/
169+
private void resizeWelcomeWindow(RemoteRobot remoteRobot, int newHeight) {
170+
try {
171+
remoteRobot.callJs(String.format("""
172+
importClass(java.awt.Frame);
173+
importClass(javax.swing.SwingUtilities);
174+
var frames = Frame.getFrames();
175+
var resized = false;
176+
for (var i = 0; i < frames.length; i++) {
177+
var frame = frames[i];
178+
if (frame.isShowing() && frame.getClass().getName().contains("FlatWelcomeFrame")) {
179+
SwingUtilities.invokeLater(function() {
180+
frame.setSize(frame.getWidth(), %d);
181+
frame.validate();
182+
});
183+
resized = true;
184+
break;
185+
}
186+
}
187+
resized;
188+
""", newHeight));
189+
Thread.sleep(5000);
190+
} catch (Exception e) {
191+
LOGGER.log(Level.WARNING, "Failed to resize the Welcome window: " + e.getMessage());
154192
}
155193
}
156194

src/main/java/com/redhat/devtools/intellij/commonuitest/fixtures/dialogs/project/pages/JavaNewProjectFinalPage.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,10 @@ public void closeMoreSettings() {
7070
* @return name of the module currently inserted in the input field
7171
*/
7272
public String getModuleName() {
73-
if (UITestRunner.getIdeaVersionInt() >= 20221) {
73+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
74+
return find(JTextFieldFixture.class, byXpath(XPathDefinitions.GET_SET_MODULE_NAME_2024_2_AND_NEWER)).getText();
75+
}
76+
else if (UITestRunner.getIdeaVersionInt() >= 20221) {
7477
return find(JTextFieldFixture.class, byXpath(XPathDefinitions.GET_SET_MODULE_NAME)).getText();
7578
} else {
7679
return textField("Module name:", true).getText();
@@ -83,7 +86,10 @@ public String getModuleName() {
8386
* @param moduleName name of the module that will be set into the input field
8487
*/
8588
public void setModuleName(String moduleName) {
86-
if (UITestRunner.getIdeaVersionInt() >= 20221) {
89+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
90+
find(JTextFieldFixture.class, byXpath(XPathDefinitions.GET_SET_MODULE_NAME_2024_2_AND_NEWER)).setText(moduleName);
91+
}
92+
else if (UITestRunner.getIdeaVersionInt() >= 20221) {
8793
find(JTextFieldFixture.class, byXpath(XPathDefinitions.GET_SET_MODULE_NAME)).setText(moduleName);
8894
} else {
8995
textField("Module name:", true).setText(moduleName);

src/main/java/com/redhat/devtools/intellij/commonuitest/fixtures/dialogs/project/pages/NewProjectFirstPage.java

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public void setLanguage(String language) {
9797
*/
9898
public void setBuildSystem(String buildSystem) {
9999
if (ideaVersion >= 20241) {
100-
find(JLabelFixture.class, byXpath(XPathDefinitions.SET_BUILD_SYSTEM_2024_1_AND_NEWER)).findText(buildSystem).click();
100+
find(JLabelFixture.class, byXpath(XPathDefinitions.SET_BUILD_SYSTEM_2024_2_AND_NEWER)).findText(buildSystem).click();
101101
} else {
102102
find(JLabelFixture.class, byXpath(XPathDefinitions.SET_BUILD_SYSTEM)).findText(buildSystem).click();
103103
}
@@ -121,12 +121,21 @@ public ComboBoxFixture getProjectJdkComboBox() {
121121
* @param targetSdkName name of the SDK to which will be changed the current settings
122122
*/
123123
public void setProjectSdkIfAvailable(String targetSdkName) {
124-
step("Select the '" + targetSdkName + "' as new project SDK", () -> {
125-
ComboBoxFixture projectJdkComboBox = getProjectJdkComboBox();
126-
String currentlySelectedProjectSdk = TextUtils.listOfRemoteTextToString(projectJdkComboBox.findAllText());
127-
if (currentlySelectedProjectSdk.contains(targetSdkName)) {
128-
return;
129-
}
124+
step("Select the '" + targetSdkName + "' as new project SDK", () -> {
125+
126+
waitFor(
127+
Duration.ofSeconds(20),
128+
Duration.ofSeconds(5),
129+
"Waiting for 'resolving jdk' dialog to disappear.",
130+
() -> "Expected exactly one dialog but found " + remoteRobot.findAll(CommonContainerFixture.class, byXpath(XPathDefinitions.MY_DIALOG)).size(),
131+
() -> remoteRobot.findAll(CommonContainerFixture.class, byXpath(XPathDefinitions.MY_DIALOG)).size() == 1
132+
);
133+
134+
ComboBoxFixture projectJdkComboBox = getProjectJdkComboBox();
135+
String currentlySelectedProjectSdk = TextUtils.listOfRemoteTextToString(projectJdkComboBox.findAllText());
136+
if (currentlySelectedProjectSdk.contains(targetSdkName)) {
137+
return;
138+
}
130139

131140
if (UITestRunner.getIdeaVersionInt() >= 20221) {
132141
projectJdkComboBox.click();

src/main/java/com/redhat/devtools/intellij/commonuitest/fixtures/mainidewindow/menubar/MenuBar.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
package com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.menubar;
1212

1313
import com.intellij.remoterobot.RemoteRobot;
14+
import com.intellij.remoterobot.fixtures.ActionButtonFixture;
1415
import com.intellij.remoterobot.fixtures.CommonContainerFixture;
1516
import com.intellij.remoterobot.fixtures.JButtonFixture;
1617
import com.intellij.remoterobot.fixtures.JPopupMenuFixture;
@@ -47,10 +48,18 @@ public void navigateTo(String... path) {
4748
if (path.length == 0) {
4849
return;
4950
}
51+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
52+
remoteRobot.find(ActionButtonFixture.class, byXpath(XPathDefinitions.MAIN_MENU)).click();
53+
}
5054

5155
JButtonFixture mainMenuFirstItem = mainMenuItem(path[0]);
5256
if (mainMenuFirstItem != null) {
53-
mainMenuFirstItem.click();
57+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
58+
mainMenuFirstItem.moveMouse();
59+
} else {
60+
mainMenuFirstItem.click();
61+
}
62+
5463
// Wait for the JPopupMenuFixture to appear
5564
waitFor(Duration.ofSeconds(5), Duration.ofSeconds(1), "JPopupMenu to appear", () ->
5665
!remoteRobot.findAll(JPopupMenuFixture.class, JPopupMenuFixture.Companion.byType()).isEmpty()

src/main/java/com/redhat/devtools/intellij/commonuitest/fixtures/mainidewindow/toolwindowspane/AbstractToolWinPane.java

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,24 +138,58 @@ private boolean isPaneOpened(Class<? extends Fixture> fixtureClass) {
138138
}
139139

140140
private void clickOnStripeButton(String label, boolean isPaneOpened) {
141-
waitFor(Duration.ofSeconds(30), Duration.ofSeconds(2), "The '" + label + "' stripe button is not available.", () -> isStripeButtonAvailable(label, isPaneOpened));
142-
if (UITestRunner.getIdeaVersionInt() >= 20221) {
143-
remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)).stripeButton(label, isPaneOpened).click();
141+
waitFor(Duration.ofSeconds(30), Duration.ofSeconds(2),
142+
"The '" + label + "' stripe button is not available.",
143+
() -> isStripeButtonAvailable(label, isPaneOpened));
144+
145+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
146+
// For IntelliJ IDEA 2024.2 and newer
147+
if (isRightToolbarButton(label)) {
148+
ToolWindowRightToolbar toolWindowRightToolbar = remoteRobot.find(ToolWindowRightToolbar.class, Duration.ofSeconds(10));
149+
toolWindowRightToolbar.clickStripeButton(label);
150+
} else {
151+
ToolWindowLeftToolbar toolWindowLeftToolbar = remoteRobot.find(ToolWindowLeftToolbar.class, Duration.ofSeconds(10));
152+
toolWindowLeftToolbar.clickStripeButton(label);
153+
}
154+
} else if (UITestRunner.getIdeaVersionInt() >= 20221) {
155+
// For IntelliJ IDEA 2022.1 to 2024.1
156+
ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10));
157+
toolWindowPane.stripeButton(label, isPaneOpened).click();
144158
} else {
145-
remoteRobot.find(ToolWindowsPane.class, Duration.ofSeconds(10)).stripeButton(label, isPaneOpened).click();
159+
// For older versions
160+
ToolWindowsPane toolWindowsPane = remoteRobot.find(ToolWindowsPane.class, Duration.ofSeconds(10));
161+
toolWindowsPane.stripeButton(label, isPaneOpened).click();
146162
}
147163
}
148164

149165
private boolean isStripeButtonAvailable(String label, boolean isPaneOpened) {
150166
try {
151-
if (UITestRunner.getIdeaVersionInt() >= 20221) {
152-
remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(2)).stripeButton(label, isPaneOpened);
167+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
168+
// For IntelliJ IDEA 2024.2 and newer
169+
if (isRightToolbarButton(label)) {
170+
ToolWindowRightToolbar toolWindowRightToolbar = remoteRobot.find(ToolWindowRightToolbar.class, Duration.ofSeconds(2));
171+
toolWindowRightToolbar.findStripeButton(label);
172+
} else {
173+
ToolWindowLeftToolbar toolWindowLeftToolbar = remoteRobot.find(ToolWindowLeftToolbar.class, Duration.ofSeconds(2));
174+
toolWindowLeftToolbar.findStripeButton(label);
175+
}
176+
} else if (UITestRunner.getIdeaVersionInt() >= 20221) {
177+
// For IntelliJ IDEA 2022.1 to 2024.1
178+
ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(2));
179+
toolWindowPane.stripeButton(label, isPaneOpened);
153180
} else {
154-
remoteRobot.find(ToolWindowsPane.class, Duration.ofSeconds(2)).stripeButton(label, isPaneOpened);
181+
// For older versions
182+
ToolWindowsPane toolWindowsPane = remoteRobot.find(ToolWindowsPane.class, Duration.ofSeconds(2));
183+
toolWindowsPane.stripeButton(label, isPaneOpened);
155184
}
185+
return true;
156186
} catch (WaitForConditionTimeoutException e) {
157187
return false;
158188
}
159-
return true;
189+
}
190+
191+
private boolean isRightToolbarButton(String label) {
192+
return label.equals(ButtonLabels.MAVEN_STRIPE_BUTTON_LABEL) ||
193+
label.equals(ButtonLabels.GRADLE_STRIPE_BUTTON_LABEL);
160194
}
161195
}

src/main/java/com/redhat/devtools/intellij/commonuitest/fixtures/mainidewindow/toolwindowspane/ProjectExplorer.java

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.intellij.remoterobot.fixtures.JPopupMenuFixture;
1919
import com.intellij.remoterobot.fixtures.JTreeFixture;
2020
import com.intellij.remoterobot.utils.WaitForConditionTimeoutException;
21+
import com.redhat.devtools.intellij.commonuitest.UITestRunner;
2122
import com.redhat.devtools.intellij.commonuitest.exceptions.UITestException;
2223
import com.redhat.devtools.intellij.commonuitest.utils.constants.XPathDefinitions;
2324
import org.jetbrains.annotations.NotNull;
@@ -86,7 +87,8 @@ public JPopupMenuFixture openContextMenuOn(String... path) {
8687
* @return Views popup fixture
8788
*/
8889
public JPopupMenuFixture openViewsPopup() {
89-
actionButton(byXpath(XPathDefinitions.CONTENT_COMBO_LABEL), Duration.ofSeconds(2)).click();
90+
projectViewTree().moveMouse();
91+
actionButton(byXpath(XPathDefinitions.CONTENT_COMBO_LABEL), Duration.ofSeconds(5)).click();
9092
try {
9193
return remoteRobot.find(JPopupMenuFixture.class, byXpath(XPathDefinitions.HEAVY_WEIGHT_WINDOW), Duration.ofSeconds(10));
9294
} catch (WaitForConditionTimeoutException e) {
@@ -98,21 +100,32 @@ public JPopupMenuFixture openViewsPopup() {
98100
* Locate and select opened file
99101
*/
100102
public void selectOpenedFile() {
101-
actionButton(byXpath(XPathDefinitions.MY_ICON_LOCATE_SVG), Duration.ofSeconds(2)).click();
103+
projectViewTree().moveMouse();
104+
actionButton(byXpath(XPathDefinitions.MY_ICON_LOCATE_SVG), Duration.ofSeconds(5)).click();
102105
}
103106

104107
/**
105108
* Expand all
106109
*/
107110
public void expandAll() {
108-
actionButton(byXpath(XPathDefinitions.MY_ICON_EXPAND_ALL), Duration.ofSeconds(2)).click();
111+
projectViewTree().moveMouse();
112+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
113+
actionButton(byXpath(XPathDefinitions.MY_ICON_EXPAND_ALL_2024_2), Duration.ofSeconds(5)).click();
114+
} else {
115+
actionButton(byXpath(XPathDefinitions.MY_ICON_EXPAND_ALL), Duration.ofSeconds(5)).click();
116+
}
109117
}
110118

111119
/**
112120
* Collapse all
113121
*/
114122
public void collapseAll() {
115-
actionButton(byXpath(XPathDefinitions.MY_ICON_COLLAPSE_ALL), Duration.ofSeconds(2)).click();
123+
projectViewTree().moveMouse();
124+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
125+
actionButton(byXpath(XPathDefinitions.MY_ICON_COLLAPSE_ALL_2024_2), Duration.ofSeconds(5)).click();
126+
} else {
127+
actionButton(byXpath(XPathDefinitions.MY_ICON_COLLAPSE_ALL), Duration.ofSeconds(5)).click();
128+
}
116129
}
117130

118131
/**
@@ -121,7 +134,12 @@ public void collapseAll() {
121134
* @return settings popup fixture
122135
*/
123136
public JPopupMenuFixture openSettingsPopup() {
124-
actionButton(byXpath(XPathDefinitions.MY_ICON_GEAR_PLAIN), Duration.ofSeconds(2)).click();
137+
projectViewTree().moveMouse();
138+
if (UITestRunner.getIdeaVersionInt() >= 20242) {
139+
actionButton(byXpath(XPathDefinitions.MY_ICON_MORE_VERTICAL), Duration.ofSeconds(5)).click();
140+
} else {
141+
actionButton(byXpath(XPathDefinitions.MY_ICON_GEAR_PLAIN), Duration.ofSeconds(5)).click();
142+
}
125143
try {
126144
return remoteRobot.find(JPopupMenuFixture.class, byXpath(XPathDefinitions.HEAVY_WEIGHT_WINDOW), Duration.ofSeconds(10));
127145
} catch (WaitForConditionTimeoutException e) {
@@ -133,7 +151,8 @@ public JPopupMenuFixture openSettingsPopup() {
133151
* Hide Project Explorer
134152
*/
135153
public void hide() {
136-
actionButton(byXpath(XPathDefinitions.TOOLTIP_TEXT_HIDE), Duration.ofSeconds(2)).click();
154+
projectViewTree().moveMouse();
155+
actionButton(byXpath(XPathDefinitions.TOOLTIP_TEXT_HIDE), Duration.ofSeconds(5)).click();
137156
}
138157

139158
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane;
2+
3+
import com.intellij.remoterobot.RemoteRobot;
4+
import com.intellij.remoterobot.data.RemoteComponent;
5+
import com.intellij.remoterobot.fixtures.CommonContainerFixture;
6+
import com.intellij.remoterobot.fixtures.DefaultXpath;
7+
import com.intellij.remoterobot.fixtures.FixtureName;
8+
import com.intellij.remoterobot.fixtures.JButtonFixture;
9+
import com.redhat.devtools.intellij.commonuitest.utils.constants.XPathDefinitions;
10+
import org.jetbrains.annotations.NotNull;
11+
12+
import java.time.Duration;
13+
14+
import static com.intellij.remoterobot.search.locators.Locators.byXpath;
15+
16+
@DefaultXpath(by = "ToolWindowLeftToolbar type", xpath = "//div[@class='ToolWindowLeftToolbar']")
17+
@FixtureName(name = "Tool Window Left Toolbar")
18+
public class ToolWindowLeftToolbar extends CommonContainerFixture {
19+
20+
public ToolWindowLeftToolbar(@NotNull RemoteRobot remoteRobot, @NotNull RemoteComponent remoteComponent) {
21+
super(remoteRobot, remoteComponent);
22+
}
23+
24+
public JButtonFixture stripeButton(String label) {
25+
// For IntelliJ IDEA 2024.2 and newer, use the tooltiptext attribute
26+
return button(byXpath(XPathDefinitions.toolWindowButton(label)), Duration.ofSeconds(2));
27+
}
28+
29+
public void clickStripeButton(String label) {
30+
stripeButton(label).click();
31+
}
32+
33+
public void findStripeButton(String label) {
34+
stripeButton(label);
35+
}
36+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane;
2+
3+
import com.intellij.remoterobot.RemoteRobot;
4+
import com.intellij.remoterobot.data.RemoteComponent;
5+
import com.intellij.remoterobot.fixtures.CommonContainerFixture;
6+
import com.intellij.remoterobot.fixtures.DefaultXpath;
7+
import com.intellij.remoterobot.fixtures.FixtureName;
8+
import com.intellij.remoterobot.fixtures.JButtonFixture;
9+
import com.redhat.devtools.intellij.commonuitest.UITestRunner;
10+
import com.redhat.devtools.intellij.commonuitest.utils.constants.ButtonLabels;
11+
import com.redhat.devtools.intellij.commonuitest.utils.constants.XPathDefinitions;
12+
import org.jetbrains.annotations.NotNull;
13+
14+
import java.time.Duration;
15+
16+
import static com.intellij.remoterobot.search.locators.Locators.byXpath;
17+
import static org.assertj.swing.core.MouseClickInfo.button;
18+
19+
@DefaultXpath(by = "ToolWindowRightToolbar type", xpath = "//div[@class='ToolWindowRightToolbar']")
20+
@FixtureName(name = "Tool Window Right Toolbar")
21+
public class ToolWindowRightToolbar extends CommonContainerFixture {
22+
23+
public ToolWindowRightToolbar(@NotNull RemoteRobot remoteRobot, @NotNull RemoteComponent remoteComponent) {
24+
super(remoteRobot, remoteComponent);
25+
}
26+
27+
public JButtonFixture stripeButton(String label) {
28+
return button(byXpath(XPathDefinitions.toolWindowButton(label)), Duration.ofSeconds(2));
29+
}
30+
31+
public void clickStripeButton(String label) {
32+
stripeButton(label).click();
33+
}
34+
35+
public void findStripeButton(String label) {
36+
stripeButton(label);
37+
}
38+
}

src/main/java/com/redhat/devtools/intellij/commonuitest/fixtures/mainidewindow/toolwindowspane/buildtoolpane/GradleBuildToolPane.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,22 @@ public void reloadAllGradleProjects() {
5858
* Expand all
5959
*/
6060
public void expandAll() {
61-
actionButton(byXpath(XPathDefinitions.MY_ICON_EXPAND_ALL_IDE), Duration.ofSeconds(2)).click();
61+
if (UITestRunner.getIdeaVersionInt() >= 20242) { // Code for IntelliJ version 2024.2 and newer
62+
actionButton(byXpath(XPathDefinitions.MY_ICON_EXPAND_ALL_2024_2), Duration.ofSeconds(2)).click();
63+
} else { // Code for IntelliJ version 2024.1 and older
64+
actionButton(byXpath(XPathDefinitions.MY_ICON_EXPAND_ALL_IDE), Duration.ofSeconds(2)).click();
65+
}
6266
}
6367

6468
/**
6569
* Collapse all
6670
*/
6771
public void collapseAll() {
68-
actionButton(byXpath(XPathDefinitions.MY_ICON_COLLAPSE_ALL_IDE), Duration.ofSeconds(2)).click();
72+
if (UITestRunner.getIdeaVersionInt() >= 20242) { // Code for IntelliJ version 2024.2 and newer
73+
actionButton(byXpath(XPathDefinitions.MY_ICON_COLLAPSE_ALL_2024_2), Duration.ofSeconds(2)).click();
74+
} else { // Code for IntelliJ version 2024.1 and older
75+
actionButton(byXpath(XPathDefinitions.MY_ICON_COLLAPSE_ALL_IDE), Duration.ofSeconds(2)).click();
76+
}
6977
}
7078

7179
/**

0 commit comments

Comments
 (0)