Skip to content

Commit fd26d17

Browse files
committed
fix: fix Main Menu
Signed-off-by: Stephane Bouchet <[email protected]>
1 parent 53722e8 commit fd26d17

File tree

4 files changed

+13
-42
lines changed

4 files changed

+13
-42
lines changed

.github/workflows/validate.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
name: Validate
1+
name: Validate against IJ versions
2+
23
on:
3-
workflow_run:
4-
workflows: [Java CI with Gradle]
5-
types:
6-
- completed
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
79
jobs:
810
validate_versions:
911
runs-on: ubuntu-latest

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

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,19 @@
1414
import com.intellij.remoterobot.data.RemoteComponent;
1515
import com.intellij.remoterobot.fixtures.ActionButtonFixture;
1616
import com.intellij.remoterobot.fixtures.CommonContainerFixture;
17-
import com.intellij.remoterobot.fixtures.ComponentFixture;
1817
import com.intellij.remoterobot.fixtures.DefaultXpath;
1918
import com.intellij.remoterobot.fixtures.FixtureName;
20-
import com.intellij.remoterobot.fixtures.dataExtractor.RemoteText;
2119
import com.intellij.remoterobot.utils.Keyboard;
2220
import com.intellij.remoterobot.utils.WaitForConditionTimeoutException;
23-
import com.redhat.devtools.intellij.commonuitest.UITestRunner;
2421
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame;
2522
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.navigation.SearchEverywherePopup;
2623
import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.menubar.MenuBar;
2724
import com.redhat.devtools.intellij.commonuitest.utils.constants.XPathDefinitions;
2825
import com.redhat.devtools.intellij.commonuitest.utils.internalerror.IdeInternalErrorUtils;
29-
import com.redhat.devtools.intellij.commonuitest.utils.screenshot.ScreenshotUtils;
3026
import org.jetbrains.annotations.NotNull;
3127

3228
import java.awt.event.KeyEvent;
3329
import java.time.Duration;
34-
import java.util.List;
35-
import java.util.Optional;
3630

3731
import static com.intellij.remoterobot.search.locators.Locators.byXpath;
3832

@@ -83,13 +77,7 @@ public void maximizeIdeWindow() {
8377
* Close the currently opened project
8478
*/
8579
public void closeProject() {
86-
if (remoteRobot.isMac() || UITestRunner.getIdeaVersionInt() <= 20242) {
87-
invokeCmdUsingSearchEverywherePopup("Close Project");
88-
} else {
89-
MenuBar menu = new MenuBar(remoteRobot);
90-
setMainMenuVisible(menu);
91-
menu.navigateTo("File", "Close Project");
92-
}
80+
new MenuBar(remoteRobot).navigateTo("File", "Close Project");
9381
IdeInternalErrorUtils.clearWindowsErrorsIfTheyAppear(remoteRobot);
9482
remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)).runJs("const horizontal_offset = component.getWidth()/2;\n" +
9583
"robot.click(component, new Point(horizontal_offset, 10), MouseButton.LEFT_BUTTON, 1);");
@@ -104,10 +92,6 @@ public void invokeCmdUsingSearchEverywherePopup(String cmdToInvoke) {
10492
openSearchEverywherePopup().invokeCmd(cmdToInvoke);
10593
}
10694

107-
public void searchEverywhere(String searchString) {
108-
openSearchEverywherePopup().searchText(searchString);
109-
}
110-
11195
private SearchEverywherePopup openSearchEverywherePopup() {
11296
try {
11397
find(ActionButtonFixture.class, byXpath("//div[@myicon='search.svg']"), Duration.ofSeconds(5)).click();
@@ -127,19 +111,4 @@ private SearchEverywherePopup openSearchEverywherePopup() {
127111
}
128112
}
129113

130-
public void setMainMenuVisible(MenuBar menuBar) {
131-
if (menuBar.isVisible()) {
132-
return;
133-
}
134-
MainIdeWindow mainIdeWindow = remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(5));
135-
mainIdeWindow.searchEverywhere("Appearance");
136-
ComponentFixture appearanceDialog = remoteRobot.find(ComponentFixture.class, byXpath("//div[@class='SearchEverywhereUI']"));
137-
List<RemoteText> items = appearanceDialog.findAllText();
138-
Optional<RemoteText> item = items.stream().filter(remoteText -> remoteText.getText().equals("View | Appearance: Main Menu")).findFirst();
139-
if (item.isPresent()) {
140-
item.get().click();
141-
} else {
142-
ScreenshotUtils.takeScreenshot(remoteRobot, "Can't find 'Appearance' Main menu item");
143-
}
144-
}
145114
}

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,18 @@ public MenuBar(RemoteRobot remoteRobot) {
4747
* @param path path to navigate in the main menu
4848
*/
4949
public void navigateTo(String... path) {
50-
if (!isVisible()) {
51-
LOGGER.severe("Main Menu is not visible.");
52-
return;
53-
}
5450
if (path.length == 0) {
5551
return;
5652
}
5753
if (ideaVersionInt >= 20242) {
5854
remoteRobot.find(ActionButtonFixture.class, byXpath(XPathDefinitions.MAIN_MENU)).click();
5955
}
6056

57+
if (!isVisible()) {
58+
LOGGER.severe("Main Menu is not visible.");
59+
return;
60+
}
61+
6162
JButtonFixture mainMenuFirstItem = mainMenuItem(path[0]);
6263
if (mainMenuFirstItem != null) {
6364
if (ideaVersionInt >= 20242) {

src/test-project/src/test/java/com/redhat/devtools/intellij/commonuitest/fixtures/test/mainidewindow/menubar/MenuBarTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.junit.jupiter.api.AfterAll;
2626
import org.junit.jupiter.api.BeforeAll;
2727
import org.junit.jupiter.api.Test;
28-
2928
import java.time.Duration;
3029

3130
import static org.junit.jupiter.api.Assertions.assertTrue;

0 commit comments

Comments
 (0)