From f6d2f0747535e3f8bdcb770a5d80a85015473785 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Mon, 12 May 2025 17:00:49 +0200 Subject: [PATCH 01/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- build.gradle.kts | 3 ++- gradle/libs.versions.toml | 6 +++--- .../intellij/quarkus/tests/BasicTest.java | 20 ++++++++----------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index e7d197e95..18735f90f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -39,7 +39,8 @@ repositories { mavenLocal() mavenCentral() maven { url = uri("https://raw.githubusercontent.com/redhat-developer/quarkus-ls/maven/") } - maven { url = uri("https://repository.jboss.org/nexus/content/groups/public") } + maven { url = uri("https://raw.githubusercontent.com/redhat-developer/intellij-common-ui-test-library/repository/snapshots") } + maven { url = uri("https://raw.githubusercontent.com/redhat-developer/intellij-common-ui-test-library/repository/releases") } maven { url = uri("https://repo.eclipse.org/content/repositories/lsp4mp-snapshots") } maven { url = uri("https://repo.eclipse.org/content/repositories/lsp4mp-releases") } intellijPlatform { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 34049bad1..caaf233b8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,9 +1,9 @@ [versions] # libraries junit = "4.13.2" -junit-platform = "1.11.3" -junit-jupiter = "5.11.3" -devtools-common-ui-test = "0.4.4-SNAPSHOT" +junit-platform = "1.12.2" +junit-jupiter = "5.12.2" +devtools-common-ui-test = "0.4.5-SNAPSHOT" # plugins testlogger = "4.0.0" diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java index 611607ffb..440e19ec4 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java @@ -49,9 +49,9 @@ * @author zcervink@redhat.com */ public class BasicTest extends AbstractQuarkusTest { - private final String NEW_QUARKUS_MAVEN_PROJECT_NAME = "code-with-quarkus-maven"; - private final String NEW_QUARKUS_GRADLE_PROJECT_NAME = "code-with-quarkus-gradle"; - private final String JAVA_VERSION_FOR_QUARKUS_PROJECT = "17"; + private static final String NEW_QUARKUS_MAVEN_PROJECT_NAME = "code-with-quarkus-maven"; + private static final String NEW_QUARKUS_GRADLE_PROJECT_NAME = "code-with-quarkus-gradle"; + private static final String JAVA_VERSION_FOR_QUARKUS_PROJECT = "17"; @AfterEach public void finishTestRun() { @@ -62,18 +62,18 @@ public void finishTestRun() { } @Test - public void createBuildQuarkusMavenTest() { + public void createBuildQuarkusMavenTest() throws IOException { createQuarkusProject(remoteRobot, NEW_QUARKUS_MAVEN_PROJECT_NAME, BuildTool.MAVEN, EndpointURLType.DEFAULT); ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); toolWindowPane.openMavenBuildToolPane(); MavenBuildToolPane mavenBuildToolPane = toolWindowPane.find(MavenBuildToolPane.class, Duration.ofSeconds(10)); - mavenBuildToolPane.buildProject("verify"); + mavenBuildToolPane.buildProject("verify", "code-with-quarkus"); boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); assertTrue(isBuildSuccessful, "The build should be successful but is not."); } @Test - public void createBuildQuarkusGradleTest() { + public void createBuildQuarkusGradleTest() throws IOException { createQuarkusProject(remoteRobot, NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE, EndpointURLType.DEFAULT); ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); toolWindowPane.openGradleBuildToolPane(); @@ -85,7 +85,7 @@ public void createBuildQuarkusGradleTest() { assertTrue(isBuildSuccessful, "The build should be successful but is not."); } - private void createQuarkusProject(RemoteRobot remoteRobot, String projectName, BuildTool buildTool, EndpointURLType endpointURLType) { + private void createQuarkusProject(RemoteRobot remoteRobot, String projectName, BuildTool buildTool, EndpointURLType endpointURLType) throws IOException { remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)).createNewProject(); NewProjectDialogWizard newProjectDialogWizard = remoteRobot.find(NewProjectDialogWizard.class, Duration.ofSeconds(10)); QuarkusNewProjectFirstPage quarkusNewProjectFirstPage = newProjectDialogWizard.find(QuarkusNewProjectFirstPage.class, Duration.ofSeconds(10)); @@ -113,11 +113,7 @@ private void createQuarkusProject(RemoteRobot remoteRobot, String projectName, B Path quarkusProjectDir = Paths.get(quarkusProjectLocation); boolean doesProjectDirExists = Files.exists(quarkusProjectDir); if (!doesProjectDirExists) { - try { - Files.createDirectories(quarkusProjectDir); // create project directory with project name to prevent "Directory does not exist. It will be created by Intellij. Create/Cancel" popup - } catch (IOException e) { - throw new RuntimeException(e); - } + Files.createDirectories(quarkusProjectDir); // create project directory with project name to prevent "Directory does not exist. It will be created by Intellij. Create/Cancel" popup } quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); From a72ff61340dff2eaf16faa2b8e38b23e7dec9b30 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Tue, 10 Jun 2025 11:43:41 +0200 Subject: [PATCH 02/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .github/workflows/itests.yml | 2 +- build.gradle.kts | 1 - gradle/libs.versions.toml | 2 +- .../dialogs/project/pages/QuarkusNewProjectFirstPage.java | 2 +- .../jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/itests.yml b/.github/workflows/itests.yml index 5cc3d34ac..4d050b775 100644 --- a/.github/workflows/itests.yml +++ b/.github/workflows/itests.yml @@ -74,7 +74,7 @@ jobs: distribution: temurin java-version: 17 - name: Run integration tests - run: .\gradlew.bat integrationTest + run: .\gradlew.bat integrationTest --warning-mode none shell: powershell - uses: actions/upload-artifact@v4 with: diff --git a/build.gradle.kts b/build.gradle.kts index 18735f90f..ba1407c09 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -326,7 +326,6 @@ val runIdeForUiTests by intellijPlatformTesting.runIde.registering { task { jvmArgumentProviders += CommandLineArgumentProvider { listOf( - "-Drobot-server.port=8580", "-Dide.mac.message.dialogs.as.sheets=false", "-Djb.privacy.policy.text=", "-Djb.consents.confirmation.enabled=false", diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index caaf233b8..ebc251154 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ devtools-common-ui-test = "0.4.5-SNAPSHOT" testlogger = "4.0.0" kotlin = "2.0.20" changelog = "2.2.0" -gradleIntelliJPlugin = "2.5.0" +gradleIntelliJPlugin = "2.6.0" [libraries] junit = { group = "junit", name = "junit", version.ref = "junit" } diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/fixtures/dialogs/project/pages/QuarkusNewProjectFirstPage.java b/src/it/java/org/jboss/tools/intellij/quarkus/fixtures/dialogs/project/pages/QuarkusNewProjectFirstPage.java index 51878463b..99af57f89 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/fixtures/dialogs/project/pages/QuarkusNewProjectFirstPage.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/fixtures/dialogs/project/pages/QuarkusNewProjectFirstPage.java @@ -38,7 +38,7 @@ public QuarkusNewProjectFirstPage(@NotNull RemoteRobot remoteRobot, @NotNull Rem @Override public ComboBoxFixture getProjectJdkComboBox() { - if (UITestRunner.getIdeaVersionInt() >= 20241) { + if (UITestRunner.getIdeaVersionInt() >= 20233) { return comboBox(byXpath(XPathDefinitions.PROJECT_SDK_COMBOBOX_PROJECT_WIZARD), Duration.ofSeconds(10)); } throw new UnsupportedOperationException("Get Project SDK ComboBox is not supported yet for IDEA version " + UITestRunner.getIdeaVersionInt()); diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 06954b608..aa4284af2 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -33,7 +33,7 @@ public abstract class AbstractQuarkusTest { @BeforeAll protected static void startIntelliJ() { if (!intelliJHasStarted) { - remoteRobot = UITestRunner.runIde(IntelliJVersion.COMMUNITY_V_2024_3, 8580); + remoteRobot = UITestRunner.runIde(IntelliJVersion.COMMUNITY_V_2023_3, 8580); intelliJHasStarted = true; Runtime.getRuntime().addShutdownHook(new CloseIntelliJBeforeQuit()); From 3b28ddb0509da6b262792cc969210e93655fbf1e Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Mon, 23 Jun 2025 18:06:25 +0200 Subject: [PATCH 03/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../org/jboss/tools/intellij/quarkus/tests/BasicTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java index 440e19ec4..510ff373f 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java @@ -118,12 +118,13 @@ private void createQuarkusProject(RemoteRobot remoteRobot, String projectName, B quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); + MainIdeWindow mainIdeWindow = remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(5)); + mainIdeWindow.maximizeIdeWindow(); + IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); ideStatusBar.waitUntilProjectImportIsComplete(); ideStatusBar.waitUntilAllBgTasksFinish(); - MainIdeWindow mainIdeWindow = remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(5)); - mainIdeWindow.maximizeIdeWindow(); } } \ No newline at end of file From 53a772539f324fa1b56490cde5f76c6e747fc816 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Tue, 24 Jun 2025 16:05:56 +0200 Subject: [PATCH 04/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../quarkus/tests/AbstractQuarkusTest.java | 64 +++++++++ .../intellij/quarkus/tests/BasicTest.java | 130 ------------------ .../intellij/quarkus/tests/GradleTest.java | 55 ++++++++ .../intellij/quarkus/tests/MavenTest.java | 57 ++++++++ .../quarkus/utils/XPathDefinitions.java | 1 + 5 files changed, 177 insertions(+), 130 deletions(-) delete mode 100644 src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java create mode 100644 src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java create mode 100644 src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index aa4284af2..2c100f42c 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -11,15 +11,35 @@ package org.jboss.tools.intellij.quarkus.tests; import com.intellij.remoterobot.RemoteRobot; +import com.intellij.remoterobot.fixtures.ComponentFixture; +import com.intellij.remoterobot.fixtures.JTextFieldFixture; import com.redhat.devtools.intellij.commonuitest.UITestRunner; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; +import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; +import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; import com.redhat.devtools.intellij.commonuitest.utils.runner.IntelliJVersion; import com.redhat.devtools.intellij.commonuitest.utils.testextension.ScreenshotAfterTestFailExtension; +import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFinalPage; +import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFirstPage; +import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectSecondPage; +import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectThirdPage; +import org.jboss.tools.intellij.quarkus.utils.BuildTool; +import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; +import org.jboss.tools.intellij.quarkus.utils.XPathDefinitions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.extension.ExtendWith; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.time.Duration; +import static com.intellij.remoterobot.search.locators.Locators.byXpath; + /** * Abstract test class * @@ -30,6 +50,9 @@ public abstract class AbstractQuarkusTest { protected static RemoteRobot remoteRobot; private static boolean intelliJHasStarted = false; + AbstractQuarkusTest() { + } + @BeforeAll protected static void startIntelliJ() { if (!intelliJHasStarted) { @@ -49,4 +72,45 @@ public void run() { UITestRunner.closeIde(); } } + + protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, BuildTool buildTool, EndpointURLType endpointURLType, String javaVersion) throws IOException { + remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)).createNewProject(); + NewProjectDialogWizard newProjectDialogWizard = remoteRobot.find(NewProjectDialogWizard.class, Duration.ofSeconds(10)); + QuarkusNewProjectFirstPage quarkusNewProjectFirstPage = newProjectDialogWizard.find(QuarkusNewProjectFirstPage.class, Duration.ofSeconds(10)); + quarkusNewProjectFirstPage.selectNewProjectType("Quarkus"); + if (endpointURLType == EndpointURLType.CUSTOM) { + ComponentFixture customEndpointURLJBRadioButton = remoteRobot.findAll(ComponentFixture.class, byXpath(XPathDefinitions.CUSTOM_ENDPOINT_URL_RADIO_BUTTON)).get(0); + customEndpointURLJBRadioButton.click(); + JTextFieldFixture customEndpointURLJTextField = remoteRobot.findAll(JTextFieldFixture.class, byXpath(XPathDefinitions.CUSTOM_ENDPOINT_URL_TEXT_FIELD)).get(0); + customEndpointURLJTextField.setText("https://code.quarkus.io"); + } + quarkusNewProjectFirstPage.setProjectSdkIfAvailable(javaVersion); + newProjectDialogWizard.next(); + + QuarkusNewProjectSecondPage quarkusNewProjectSecondPage = newProjectDialogWizard.find(QuarkusNewProjectSecondPage.class, Duration.ofSeconds(10)); + quarkusNewProjectSecondPage.setBuildTool(buildTool); + quarkusNewProjectSecondPage.setJavaVersion(javaVersion); + newProjectDialogWizard.next(); + + newProjectDialogWizard.find(QuarkusNewProjectThirdPage.class, Duration.ofSeconds(10)); // wait for third page to be loaded + newProjectDialogWizard.next(); + + QuarkusNewProjectFinalPage quarkusNewProjectFinalPage = newProjectDialogWizard.find(QuarkusNewProjectFinalPage.class, Duration.ofSeconds(10)); + quarkusNewProjectFinalPage.setProjectName(projectName); + String quarkusProjectLocation = ProjectLocation.PROJECT_LOCATION + File.separator + projectName; + Path quarkusProjectDir = Paths.get(quarkusProjectLocation); + boolean doesProjectDirExists = Files.exists(quarkusProjectDir); + if (!doesProjectDirExists) { + Files.createDirectories(quarkusProjectDir); // create project directory with project name to prevent "Directory does not exist. It will be created by Intellij. Create/Cancel" popup + } + quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); + newProjectDialogWizard.finish(); + + MainIdeWindow mainIdeWindow = remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(10)); + mainIdeWindow.maximizeIdeWindow(); + + IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); + ideStatusBar.waitUntilProjectImportIsComplete(); + ideStatusBar.waitUntilAllBgTasksFinish(); + } } \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java deleted file mode 100644 index 510ff373f..000000000 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/BasicTest.java +++ /dev/null @@ -1,130 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2022 Red Hat, Inc. - * Distributed under license by Red Hat, Inc. All rights reserved. - * This program is made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, - * and is available at https://www.eclipse.org/legal/epl-v20.html - * - * Contributors: - * Red Hat, Inc. - initial API and implementation - ******************************************************************************/ -package org.jboss.tools.intellij.quarkus.tests; - -import com.intellij.remoterobot.RemoteRobot; -import com.intellij.remoterobot.fixtures.ComponentFixture; -import com.intellij.remoterobot.fixtures.JTextFieldFixture; -import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; -import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.BuildView; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.GradleBuildToolPane; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.MavenBuildToolPane; -import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; -import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; -import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFinalPage; -import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFirstPage; -import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectSecondPage; -import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectThirdPage; -import org.jboss.tools.intellij.quarkus.utils.BuildTool; -import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; -import org.jboss.tools.intellij.quarkus.utils.XPathDefinitions; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Test; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.time.Duration; - -import static com.intellij.remoterobot.search.locators.Locators.byXpath; -import static org.junit.jupiter.api.Assertions.assertTrue; - -/** - * Basic Quarkus tests - * - * @author zcervink@redhat.com - */ -public class BasicTest extends AbstractQuarkusTest { - private static final String NEW_QUARKUS_MAVEN_PROJECT_NAME = "code-with-quarkus-maven"; - private static final String NEW_QUARKUS_GRADLE_PROJECT_NAME = "code-with-quarkus-gradle"; - private static final String JAVA_VERSION_FOR_QUARKUS_PROJECT = "17"; - - @AfterEach - public void finishTestRun() { - CreateCloseUtils.closeProject(remoteRobot); - FlatWelcomeFrame flatWelcomeFrame = remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)); - flatWelcomeFrame.clearExceptions(); - flatWelcomeFrame.clearWorkspace(); - } - - @Test - public void createBuildQuarkusMavenTest() throws IOException { - createQuarkusProject(remoteRobot, NEW_QUARKUS_MAVEN_PROJECT_NAME, BuildTool.MAVEN, EndpointURLType.DEFAULT); - ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); - toolWindowPane.openMavenBuildToolPane(); - MavenBuildToolPane mavenBuildToolPane = toolWindowPane.find(MavenBuildToolPane.class, Duration.ofSeconds(10)); - mavenBuildToolPane.buildProject("verify", "code-with-quarkus"); - boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); - assertTrue(isBuildSuccessful, "The build should be successful but is not."); - } - - @Test - public void createBuildQuarkusGradleTest() throws IOException { - createQuarkusProject(remoteRobot, NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE, EndpointURLType.DEFAULT); - ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); - toolWindowPane.openGradleBuildToolPane(); - GradleBuildToolPane gradleBuildToolPane = toolWindowPane.find(GradleBuildToolPane.class, Duration.ofSeconds(10)); - - gradleBuildToolPane.buildProject(); - - boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); - assertTrue(isBuildSuccessful, "The build should be successful but is not."); - } - - private void createQuarkusProject(RemoteRobot remoteRobot, String projectName, BuildTool buildTool, EndpointURLType endpointURLType) throws IOException { - remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)).createNewProject(); - NewProjectDialogWizard newProjectDialogWizard = remoteRobot.find(NewProjectDialogWizard.class, Duration.ofSeconds(10)); - QuarkusNewProjectFirstPage quarkusNewProjectFirstPage = newProjectDialogWizard.find(QuarkusNewProjectFirstPage.class, Duration.ofSeconds(10)); - quarkusNewProjectFirstPage.selectNewProjectType("Quarkus"); - if (endpointURLType == EndpointURLType.CUSTOM) { - ComponentFixture customEndpointURLJBRadioButton = remoteRobot.findAll(ComponentFixture.class, byXpath(XPathDefinitions.CUSTOM_ENDPOINT_URL_RADIO_BUTTON)).get(0); - customEndpointURLJBRadioButton.click(); - JTextFieldFixture customEndpointURLJTextField = remoteRobot.findAll(JTextFieldFixture.class, byXpath(XPathDefinitions.CUSTOM_ENDPOINT_URL_TEXT_FIELD)).get(0); - customEndpointURLJTextField.setText("https://code.quarkus.io"); - } - quarkusNewProjectFirstPage.setProjectSdkIfAvailable(JAVA_VERSION_FOR_QUARKUS_PROJECT); - newProjectDialogWizard.next(); - - QuarkusNewProjectSecondPage quarkusNewProjectSecondPage = newProjectDialogWizard.find(QuarkusNewProjectSecondPage.class, Duration.ofSeconds(10)); - quarkusNewProjectSecondPage.setBuildTool(buildTool); - quarkusNewProjectSecondPage.setJavaVersion(JAVA_VERSION_FOR_QUARKUS_PROJECT); - newProjectDialogWizard.next(); - - newProjectDialogWizard.find(QuarkusNewProjectThirdPage.class, Duration.ofSeconds(10)); // wait for third page to be loaded - newProjectDialogWizard.next(); - - QuarkusNewProjectFinalPage quarkusNewProjectFinalPage = newProjectDialogWizard.find(QuarkusNewProjectFinalPage.class, Duration.ofSeconds(10)); - quarkusNewProjectFinalPage.setProjectName(projectName); - String quarkusProjectLocation = ProjectLocation.PROJECT_LOCATION + File.separator + projectName; - Path quarkusProjectDir = Paths.get(quarkusProjectLocation); - boolean doesProjectDirExists = Files.exists(quarkusProjectDir); - if (!doesProjectDirExists) { - Files.createDirectories(quarkusProjectDir); // create project directory with project name to prevent "Directory does not exist. It will be created by Intellij. Create/Cancel" popup - } - quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); - newProjectDialogWizard.finish(); - - MainIdeWindow mainIdeWindow = remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(5)); - mainIdeWindow.maximizeIdeWindow(); - - IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); - ideStatusBar.waitUntilProjectImportIsComplete(); - ideStatusBar.waitUntilAllBgTasksFinish(); - - } - -} \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java new file mode 100644 index 000000000..e7aaecd1d --- /dev/null +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java @@ -0,0 +1,55 @@ +/******************************************************************************* + * Copyright (c) 2022 Red Hat, Inc. + * Distributed under license by Red Hat, Inc. All rights reserved. + * This program is made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, + * and is available at https://www.eclipse.org/legal/epl-v20.html + * + * Contributors: + * Red Hat, Inc. - initial API and implementation + ******************************************************************************/ +package org.jboss.tools.intellij.quarkus.tests; + +import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.BuildView; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.GradleBuildToolPane; +import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; +import org.jboss.tools.intellij.quarkus.utils.BuildTool; +import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.time.Duration; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Basic Gradle Quarkus tests + * + */ +public class GradleTest extends AbstractQuarkusTest { + private static final String NEW_QUARKUS_GRADLE_PROJECT_NAME = "code-with-quarkus-gradle"; + private static final String JAVA_VERSION = "17"; + + @AfterEach + public void finishTestRun() { + CreateCloseUtils.closeProject(remoteRobot); + FlatWelcomeFrame flatWelcomeFrame = remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)); + flatWelcomeFrame.clearExceptions(); + flatWelcomeFrame.clearWorkspace(); + } + + @Test + public void createBuildQuarkusGradleTest() throws IOException { + createQuarkusProject(remoteRobot, NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE, EndpointURLType.DEFAULT, JAVA_VERSION); + ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); + toolWindowPane.openGradleBuildToolPane(); + GradleBuildToolPane gradleBuildToolPane = toolWindowPane.find(GradleBuildToolPane.class, Duration.ofSeconds(10)); + gradleBuildToolPane.buildProject(); + boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); + assertTrue(isBuildSuccessful, "The build should be successful but is not."); + } + +} \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java new file mode 100644 index 000000000..4e0acaa18 --- /dev/null +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2022 Red Hat, Inc. + * Distributed under license by Red Hat, Inc. All rights reserved. + * This program is made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, + * and is available at https://www.eclipse.org/legal/epl-v20.html + * + * Contributors: + * Red Hat, Inc. - initial API and implementation + ******************************************************************************/ +package org.jboss.tools.intellij.quarkus.tests; + +import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.BuildView; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.MavenBuildToolPane; +import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; +import org.jboss.tools.intellij.quarkus.utils.BuildTool; +import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.time.Duration; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Basic Maven Quarkus tests + * + * @author zcervink@redhat.com + */ +public class MavenTest extends AbstractQuarkusTest { + private static final String NEW_QUARKUS_MAVEN_PROJECT_NAME = "code-with-quarkus-maven"; + private static final String JAVA_VERSION_FOR_QUARKUS_PROJECT = "17"; + + @AfterEach + public void finishTestRun() { + CreateCloseUtils.closeProject(remoteRobot); + FlatWelcomeFrame flatWelcomeFrame = remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)); + flatWelcomeFrame.clearExceptions(); + flatWelcomeFrame.clearWorkspace(); + } + + @Test + public void createBuildQuarkusMavenTest() throws IOException { + createQuarkusProject(remoteRobot, NEW_QUARKUS_MAVEN_PROJECT_NAME, BuildTool.MAVEN, EndpointURLType.DEFAULT, JAVA_VERSION_FOR_QUARKUS_PROJECT); + ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); + toolWindowPane.openMavenBuildToolPane(); + MavenBuildToolPane mavenBuildToolPane = toolWindowPane.find(MavenBuildToolPane.class, Duration.ofSeconds(10)); + mavenBuildToolPane.buildProject("verify", "code-with-quarkus"); + boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); + assertTrue(isBuildSuccessful, "The build should be successful but is not."); + } + + +} \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/utils/XPathDefinitions.java b/src/it/java/org/jboss/tools/intellij/quarkus/utils/XPathDefinitions.java index fc3522309..45caccfaa 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/utils/XPathDefinitions.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/utils/XPathDefinitions.java @@ -34,4 +34,5 @@ public class XPathDefinitions { @Language("XPath") public static final String PROJECT_SDK_COMBOBOX_PROJECT_WIZARD = "//div[@class='JdkComboBox']"; + private XPathDefinitions() {} } From 190e34a87b180e700175ead22e37984a72ce96db Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Tue, 24 Jun 2025 17:57:54 +0200 Subject: [PATCH 05/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../intellij/quarkus/tests/AbstractQuarkusTest.java | 12 +++++++++++- .../tools/intellij/quarkus/tests/GradleTest.java | 11 ----------- .../tools/intellij/quarkus/tests/MavenTest.java | 11 ----------- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 2c100f42c..2368b37cf 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -19,6 +19,7 @@ import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; +import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import com.redhat.devtools.intellij.commonuitest.utils.runner.IntelliJVersion; import com.redhat.devtools.intellij.commonuitest.utils.testextension.ScreenshotAfterTestFailExtension; import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFinalPage; @@ -28,6 +29,7 @@ import org.jboss.tools.intellij.quarkus.utils.BuildTool; import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; import org.jboss.tools.intellij.quarkus.utils.XPathDefinitions; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.extension.ExtendWith; @@ -73,6 +75,14 @@ public void run() { } } + @AfterEach + protected void clearWorkspace() { + CreateCloseUtils.closeProject(remoteRobot); + FlatWelcomeFrame flatWelcomeFrame = remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)); + flatWelcomeFrame.clearExceptions(); + flatWelcomeFrame.clearWorkspace(); + } + protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, BuildTool buildTool, EndpointURLType endpointURLType, String javaVersion) throws IOException { remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)).createNewProject(); NewProjectDialogWizard newProjectDialogWizard = remoteRobot.find(NewProjectDialogWizard.class, Duration.ofSeconds(10)); @@ -111,6 +121,6 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); ideStatusBar.waitUntilProjectImportIsComplete(); - ideStatusBar.waitUntilAllBgTasksFinish(); + ideStatusBar.waitUntilAllBgTasksFinish(300); } } \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java index e7aaecd1d..385ed83a0 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java @@ -10,14 +10,11 @@ ******************************************************************************/ package org.jboss.tools.intellij.quarkus.tests; -import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.BuildView; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.GradleBuildToolPane; -import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import org.jboss.tools.intellij.quarkus.utils.BuildTool; import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; -import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.io.IOException; @@ -33,14 +30,6 @@ public class GradleTest extends AbstractQuarkusTest { private static final String NEW_QUARKUS_GRADLE_PROJECT_NAME = "code-with-quarkus-gradle"; private static final String JAVA_VERSION = "17"; - @AfterEach - public void finishTestRun() { - CreateCloseUtils.closeProject(remoteRobot); - FlatWelcomeFrame flatWelcomeFrame = remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)); - flatWelcomeFrame.clearExceptions(); - flatWelcomeFrame.clearWorkspace(); - } - @Test public void createBuildQuarkusGradleTest() throws IOException { createQuarkusProject(remoteRobot, NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE, EndpointURLType.DEFAULT, JAVA_VERSION); diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java index 4e0acaa18..9c8993201 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java @@ -10,14 +10,11 @@ ******************************************************************************/ package org.jboss.tools.intellij.quarkus.tests; -import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.BuildView; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.MavenBuildToolPane; -import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import org.jboss.tools.intellij.quarkus.utils.BuildTool; import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; -import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.io.IOException; @@ -34,14 +31,6 @@ public class MavenTest extends AbstractQuarkusTest { private static final String NEW_QUARKUS_MAVEN_PROJECT_NAME = "code-with-quarkus-maven"; private static final String JAVA_VERSION_FOR_QUARKUS_PROJECT = "17"; - @AfterEach - public void finishTestRun() { - CreateCloseUtils.closeProject(remoteRobot); - FlatWelcomeFrame flatWelcomeFrame = remoteRobot.find(FlatWelcomeFrame.class, Duration.ofSeconds(10)); - flatWelcomeFrame.clearExceptions(); - flatWelcomeFrame.clearWorkspace(); - } - @Test public void createBuildQuarkusMavenTest() throws IOException { createQuarkusProject(remoteRobot, NEW_QUARKUS_MAVEN_PROJECT_NAME, BuildTool.MAVEN, EndpointURLType.DEFAULT, JAVA_VERSION_FOR_QUARKUS_PROJECT); From a4190a9218eaf155032df083208ad93e73aed2b8 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Tue, 24 Jun 2025 18:10:57 +0200 Subject: [PATCH 06/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 2368b37cf..48d67f1a6 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -16,7 +16,6 @@ import com.redhat.devtools.intellij.commonuitest.UITestRunner; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; @@ -116,9 +115,6 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); - MainIdeWindow mainIdeWindow = remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(10)); - mainIdeWindow.maximizeIdeWindow(); - IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); ideStatusBar.waitUntilProjectImportIsComplete(); ideStatusBar.waitUntilAllBgTasksFinish(300); From 042b4b37a02c7769a53d96390728d117eb251ad6 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Wed, 25 Jun 2025 11:54:25 +0200 Subject: [PATCH 07/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 48d67f1a6..615fcd9a4 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -116,7 +116,6 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); - ideStatusBar.waitUntilProjectImportIsComplete(); ideStatusBar.waitUntilAllBgTasksFinish(300); } } \ No newline at end of file From ad8477598eaa4caba7b3a448774c7dca213bceba Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Wed, 25 Jun 2025 15:46:11 +0200 Subject: [PATCH 08/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java index 385ed83a0..9ae8b0023 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java @@ -13,6 +13,7 @@ import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.BuildView; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.GradleBuildToolPane; +import com.redhat.devtools.intellij.commonuitest.utils.screenshot.ScreenshotUtils; import org.jboss.tools.intellij.quarkus.utils.BuildTool; import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; import org.junit.jupiter.api.Test; @@ -33,6 +34,7 @@ public class GradleTest extends AbstractQuarkusTest { @Test public void createBuildQuarkusGradleTest() throws IOException { createQuarkusProject(remoteRobot, NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE, EndpointURLType.DEFAULT, JAVA_VERSION); + ScreenshotUtils.takeScreenshot(remoteRobot); ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); toolWindowPane.openGradleBuildToolPane(); GradleBuildToolPane gradleBuildToolPane = toolWindowPane.find(GradleBuildToolPane.class, Duration.ofSeconds(10)); From 400fc6c5cccddb6f7a8c5105c9a34edb9391af96 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Wed, 25 Jun 2025 16:06:09 +0200 Subject: [PATCH 09/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 3 ++- .../org/jboss/tools/intellij/quarkus/tests/GradleTest.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 615fcd9a4..3992e8640 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -116,6 +116,7 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); - ideStatusBar.waitUntilAllBgTasksFinish(300); + ideStatusBar.waitUntilProjectImportIsComplete(); + ideStatusBar.waitUntilAllBgTasksFinish(); } } \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java index 9ae8b0023..6f4243a06 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java @@ -34,9 +34,10 @@ public class GradleTest extends AbstractQuarkusTest { @Test public void createBuildQuarkusGradleTest() throws IOException { createQuarkusProject(remoteRobot, NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE, EndpointURLType.DEFAULT, JAVA_VERSION); - ScreenshotUtils.takeScreenshot(remoteRobot); ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); + ScreenshotUtils.takeScreenshot(remoteRobot, "before open gradle"); toolWindowPane.openGradleBuildToolPane(); + ScreenshotUtils.takeScreenshot(remoteRobot, "after open gradle"); GradleBuildToolPane gradleBuildToolPane = toolWindowPane.find(GradleBuildToolPane.class, Duration.ofSeconds(10)); gradleBuildToolPane.buildProject(); boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); From d8159a91d5ac36fe2973a097f19daf75dc65a6b8 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Wed, 25 Jun 2025 16:15:06 +0200 Subject: [PATCH 10/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 3992e8640..07344680f 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -20,6 +20,7 @@ import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import com.redhat.devtools.intellij.commonuitest.utils.runner.IntelliJVersion; +import com.redhat.devtools.intellij.commonuitest.utils.screenshot.ScreenshotUtils; import com.redhat.devtools.intellij.commonuitest.utils.testextension.ScreenshotAfterTestFailExtension; import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFinalPage; import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFirstPage; @@ -116,6 +117,7 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); + ScreenshotUtils.takeScreenshot(remoteRobot, "waiting import"); ideStatusBar.waitUntilProjectImportIsComplete(); ideStatusBar.waitUntilAllBgTasksFinish(); } From b9c4c1dee1340f785f82b5ab77b8ec1c6b819896 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Wed, 25 Jun 2025 16:28:55 +0200 Subject: [PATCH 11/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 07344680f..218050bb7 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -12,6 +12,7 @@ import com.intellij.remoterobot.RemoteRobot; import com.intellij.remoterobot.fixtures.ComponentFixture; +import com.intellij.remoterobot.fixtures.HeavyWeightWindowFixture; import com.intellij.remoterobot.fixtures.JTextFieldFixture; import com.redhat.devtools.intellij.commonuitest.UITestRunner; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; @@ -39,6 +40,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.time.Duration; +import java.util.logging.Logger; import static com.intellij.remoterobot.search.locators.Locators.byXpath; @@ -117,7 +119,9 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); - ScreenshotUtils.takeScreenshot(remoteRobot, "waiting import"); + if (!remoteRobot.findAll(HeavyWeightWindowFixture.class).isEmpty()){ + ScreenshotUtils.takeScreenshot(remoteRobot, "waiting import"); + } ideStatusBar.waitUntilProjectImportIsComplete(); ideStatusBar.waitUntilAllBgTasksFinish(); } From 7d851264a65dbfbcdbea976567ed491b519f0889 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Wed, 25 Jun 2025 17:24:23 +0200 Subject: [PATCH 12/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 218050bb7..d0cdbfff8 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -11,6 +11,7 @@ package org.jboss.tools.intellij.quarkus.tests; import com.intellij.remoterobot.RemoteRobot; +import com.intellij.remoterobot.fixtures.CommonContainerFixture; import com.intellij.remoterobot.fixtures.ComponentFixture; import com.intellij.remoterobot.fixtures.HeavyWeightWindowFixture; import com.intellij.remoterobot.fixtures.JTextFieldFixture; @@ -40,6 +41,8 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.time.Duration; +import java.util.List; +import java.util.logging.Level; import java.util.logging.Logger; import static com.intellij.remoterobot.search.locators.Locators.byXpath; @@ -119,7 +122,10 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); - if (!remoteRobot.findAll(HeavyWeightWindowFixture.class).isEmpty()){ + List fixtureList = remoteRobot.findAll(CommonContainerFixture.class, byXpath(com.redhat.devtools.intellij.commonuitest.utils.constants.XPathDefinitions.MY_DIALOG)); + if (!fixtureList.isEmpty()){ + Logger.getAnonymousLogger().log(Level.INFO, fixtureList.size() + "Fixtures found"); + Logger.getAnonymousLogger().log(Level.INFO, fixtureList.toString()); ScreenshotUtils.takeScreenshot(remoteRobot, "waiting import"); } ideStatusBar.waitUntilProjectImportIsComplete(); From 985a22a364a3bdbef568135f9f18d0170e8f90df Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Wed, 25 Jun 2025 17:48:25 +0200 Subject: [PATCH 13/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index d0cdbfff8..932bab765 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -13,7 +13,6 @@ import com.intellij.remoterobot.RemoteRobot; import com.intellij.remoterobot.fixtures.CommonContainerFixture; import com.intellij.remoterobot.fixtures.ComponentFixture; -import com.intellij.remoterobot.fixtures.HeavyWeightWindowFixture; import com.intellij.remoterobot.fixtures.JTextFieldFixture; import com.redhat.devtools.intellij.commonuitest.UITestRunner; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; @@ -122,7 +121,7 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); - List fixtureList = remoteRobot.findAll(CommonContainerFixture.class, byXpath(com.redhat.devtools.intellij.commonuitest.utils.constants.XPathDefinitions.MY_DIALOG)); + List fixtureList = remoteRobot.findAll(CommonContainerFixture.class); if (!fixtureList.isEmpty()){ Logger.getAnonymousLogger().log(Level.INFO, fixtureList.size() + "Fixtures found"); Logger.getAnonymousLogger().log(Level.INFO, fixtureList.toString()); From fc2eb2ca0d7a20010c2a04f9177db5fcc0b5dd0c Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 10:22:35 +0200 Subject: [PATCH 14/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../quarkus/tests/AbstractQuarkusTest.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 932bab765..4d49b78a8 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -11,7 +11,6 @@ package org.jboss.tools.intellij.quarkus.tests; import com.intellij.remoterobot.RemoteRobot; -import com.intellij.remoterobot.fixtures.CommonContainerFixture; import com.intellij.remoterobot.fixtures.ComponentFixture; import com.intellij.remoterobot.fixtures.JTextFieldFixture; import com.redhat.devtools.intellij.commonuitest.UITestRunner; @@ -40,9 +39,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.time.Duration; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import static com.intellij.remoterobot.search.locators.Locators.byXpath; @@ -120,13 +116,17 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); - IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); - List fixtureList = remoteRobot.findAll(CommonContainerFixture.class); - if (!fixtureList.isEmpty()){ - Logger.getAnonymousLogger().log(Level.INFO, fixtureList.size() + "Fixtures found"); - Logger.getAnonymousLogger().log(Level.INFO, fixtureList.toString()); - ScreenshotUtils.takeScreenshot(remoteRobot, "waiting import"); + // wait for 'loading Project' progressmonitor to end + // TODO for now don't know what kind of dialog is the 'loading' so just pausing thread + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + ScreenshotUtils.takeScreenshot(remoteRobot, "interrupted while waiting for new project to load"); + /* Clean up whatever needs to be handled before interrupting */ + Thread.currentThread().interrupt(); } + + IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); ideStatusBar.waitUntilProjectImportIsComplete(); ideStatusBar.waitUntilAllBgTasksFinish(); } From aef1a4dcd9a145ed627cd9bbd84e522d723012b1 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 11:06:13 +0200 Subject: [PATCH 15/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 4d49b78a8..22b013bcd 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -116,6 +116,9 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); + IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); + ScreenshotUtils.takeScreenshot(remoteRobot, "after finish"); + // wait for 'loading Project' progressmonitor to end // TODO for now don't know what kind of dialog is the 'loading' so just pausing thread try { @@ -125,8 +128,8 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, /* Clean up whatever needs to be handled before interrupting */ Thread.currentThread().interrupt(); } + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); - IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); ideStatusBar.waitUntilProjectImportIsComplete(); ideStatusBar.waitUntilAllBgTasksFinish(); } From f64eb3812be43ac6e793738e36ba134247ae0d24 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 11:47:50 +0200 Subject: [PATCH 16/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../quarkus/tests/AbstractQuarkusTest.java | 21 +++++++------------ .../intellij/quarkus/tests/GradleTest.java | 2 -- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 22b013bcd..a7839912f 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -13,6 +13,7 @@ import com.intellij.remoterobot.RemoteRobot; import com.intellij.remoterobot.fixtures.ComponentFixture; import com.intellij.remoterobot.fixtures.JTextFieldFixture; +import com.intellij.remoterobot.utils.WaitForConditionTimeoutException; import com.redhat.devtools.intellij.commonuitest.UITestRunner; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; @@ -41,6 +42,7 @@ import java.time.Duration; import static com.intellij.remoterobot.search.locators.Locators.byXpath; +import static com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor; /** * Abstract test class @@ -115,22 +117,15 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, } quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); - - IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); ScreenshotUtils.takeScreenshot(remoteRobot, "after finish"); - // wait for 'loading Project' progressmonitor to end - // TODO for now don't know what kind of dialog is the 'loading' so just pausing thread - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - ScreenshotUtils.takeScreenshot(remoteRobot, "interrupted while waiting for new project to load"); - /* Clean up whatever needs to be handled before interrupting */ - Thread.currentThread().interrupt(); - } - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); + IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(2)); + ideStatusBar.waitUntilAllBgTasksFinish(); + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting bg"); ideStatusBar.waitUntilProjectImportIsComplete(); - ideStatusBar.waitUntilAllBgTasksFinish(); + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting project import"); + } + } \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java index 6f4243a06..0405ce3e8 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java @@ -35,9 +35,7 @@ public class GradleTest extends AbstractQuarkusTest { public void createBuildQuarkusGradleTest() throws IOException { createQuarkusProject(remoteRobot, NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE, EndpointURLType.DEFAULT, JAVA_VERSION); ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); - ScreenshotUtils.takeScreenshot(remoteRobot, "before open gradle"); toolWindowPane.openGradleBuildToolPane(); - ScreenshotUtils.takeScreenshot(remoteRobot, "after open gradle"); GradleBuildToolPane gradleBuildToolPane = toolWindowPane.find(GradleBuildToolPane.class, Duration.ofSeconds(10)); gradleBuildToolPane.buildProject(); boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); From 0f4030bab545ef0b8f9414fffc6a629be2bb6204 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 11:58:24 +0200 Subject: [PATCH 17/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../intellij/quarkus/tests/AbstractQuarkusTest.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index a7839912f..0084650bb 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -119,13 +119,8 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); ScreenshotUtils.takeScreenshot(remoteRobot, "after finish"); - IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(2)); - ideStatusBar.waitUntilAllBgTasksFinish(); - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting bg"); - - ideStatusBar.waitUntilProjectImportIsComplete(); - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting project import"); - + CreateCloseUtils.waitAfterOpeningProject(remoteRobot); + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); } } \ No newline at end of file From 91867d57f68fbd9bb3ccc3f53ac6777bba7bb187 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 12:14:51 +0200 Subject: [PATCH 18/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../intellij/quarkus/tests/AbstractQuarkusTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 0084650bb..6ef251a52 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -118,6 +118,15 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); ScreenshotUtils.takeScreenshot(remoteRobot, "after finish"); + // wait for project to open + try { + Thread.sleep(10000); + } catch (InterruptedException e) { + ScreenshotUtils.takeScreenshot(remoteRobot, "interrupted while waiting for project to open"); + /* Clean up whatever needs to be handled before interrupting */ + Thread.currentThread().interrupt(); + } + ScreenshotUtils.takeScreenshot(remoteRobot, "after wait for 10s"); CreateCloseUtils.waitAfterOpeningProject(remoteRobot); ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); From e46a29c85bd9dc0c5b8fa6a0f1cd204778dcece8 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 12:39:17 +0200 Subject: [PATCH 19/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../quarkus/tests/AbstractQuarkusTest.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 6ef251a52..65f9491c4 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -17,7 +17,7 @@ import com.redhat.devtools.intellij.commonuitest.UITestRunner; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow; import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import com.redhat.devtools.intellij.commonuitest.utils.runner.IntelliJVersion; @@ -119,17 +119,22 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); ScreenshotUtils.takeScreenshot(remoteRobot, "after finish"); // wait for project to open - try { - Thread.sleep(10000); - } catch (InterruptedException e) { - ScreenshotUtils.takeScreenshot(remoteRobot, "interrupted while waiting for project to open"); - /* Clean up whatever needs to be handled before interrupting */ - Thread.currentThread().interrupt(); - } - ScreenshotUtils.takeScreenshot(remoteRobot, "after wait for 10s"); + waitFor(Duration.ofSeconds(300), Duration.ofSeconds(5), "main ide window to open", this::isMainIdeWindowOpen); + + ScreenshotUtils.takeScreenshot(remoteRobot, "after wait for main window to open"); CreateCloseUtils.waitAfterOpeningProject(remoteRobot); ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); } + private Boolean isMainIdeWindowOpen() { + try { + return remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(5)).isShowing(); + } catch (WaitForConditionTimeoutException e) { + return false; + } + } + + } + } \ No newline at end of file From 882b95d2d229f5da3b1735b0428e4b069eff34bb Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 12:47:40 +0200 Subject: [PATCH 20/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 65f9491c4..99dbb706a 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -135,6 +135,4 @@ private Boolean isMainIdeWindowOpen() { } } - } - } \ No newline at end of file From 77415b118b7bcf4a20f9029db32609ca85a33adf Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 15:29:08 +0200 Subject: [PATCH 21/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../intellij/quarkus/tests/AbstractQuarkusTest.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 99dbb706a..5566081ae 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -18,6 +18,7 @@ import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import com.redhat.devtools.intellij.commonuitest.utils.runner.IntelliJVersion; @@ -117,13 +118,12 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, } quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); - ScreenshotUtils.takeScreenshot(remoteRobot, "after finish"); // wait for project to open waitFor(Duration.ofSeconds(300), Duration.ofSeconds(5), "main ide window to open", this::isMainIdeWindowOpen); ScreenshotUtils.takeScreenshot(remoteRobot, "after wait for main window to open"); - CreateCloseUtils.waitAfterOpeningProject(remoteRobot); + waitFor(Duration.ofSeconds(600), Duration.ofSeconds(10), "the background tasks to finish.", this::didAllBgTasksFinish); ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); } @@ -135,4 +135,11 @@ private Boolean isMainIdeWindowOpen() { } } + private boolean didAllBgTasksFinish() { + if (remoteRobot.find(IdeStatusBar.class).isShowing()) { + return remoteRobot.find(IdeStatusBar.class).inlineProgressPanel().findAllText().isEmpty(); + } + return false; + } + } \ No newline at end of file From 3ca03d2bc55fee26e0d6987a28caa39f0ba0c3ca Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 16:04:22 +0200 Subject: [PATCH 22/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../intellij/quarkus/tests/AbstractQuarkusTest.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 5566081ae..86134bc45 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -136,10 +136,14 @@ private Boolean isMainIdeWindowOpen() { } private boolean didAllBgTasksFinish() { - if (remoteRobot.find(IdeStatusBar.class).isShowing()) { - return remoteRobot.find(IdeStatusBar.class).inlineProgressPanel().findAllText().isEmpty(); + try { + if (remoteRobot.find(IdeStatusBar.class).isShowing()) { + return remoteRobot.find(IdeStatusBar.class).inlineProgressPanel().findAllText().isEmpty(); + } + return true; + } catch (WaitForConditionTimeoutException e) { + return true; } - return false; } } \ No newline at end of file From 8c8549f05ae9221cb4cbf49a78cc55aa65b06ea4 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Thu, 26 Jun 2025 18:15:16 +0200 Subject: [PATCH 23/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../quarkus/tests/AbstractQuarkusTest.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 86134bc45..f1656f20f 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -19,6 +19,8 @@ import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ProjectExplorer; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import com.redhat.devtools.intellij.commonuitest.utils.runner.IntelliJVersion; @@ -119,11 +121,11 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); // wait for project to open - waitFor(Duration.ofSeconds(300), Duration.ofSeconds(5), "main ide window to open", this::isMainIdeWindowOpen); + waitFor(Duration.ofSeconds(5), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); ScreenshotUtils.takeScreenshot(remoteRobot, "after wait for main window to open"); - waitFor(Duration.ofSeconds(600), Duration.ofSeconds(10), "the background tasks to finish.", this::didAllBgTasksFinish); + waitFor(Duration.ofSeconds(600), Duration.ofSeconds(10), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); } @@ -135,12 +137,11 @@ private Boolean isMainIdeWindowOpen() { } } - private boolean didAllBgTasksFinish() { + private boolean didProjectExplorerFinishInit() { try { - if (remoteRobot.find(IdeStatusBar.class).isShowing()) { - return remoteRobot.find(IdeStatusBar.class).inlineProgressPanel().findAllText().isEmpty(); - } - return true; + ToolWindowPane toolWinPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); + ProjectExplorer projectExplorer = toolWinPane.find(ProjectExplorer.class, Duration.ofSeconds(10)); + return projectExplorer.projectViewTree().findAllText().stream().noneMatch(remoteText -> remoteText.getText().contains("loading")); } catch (WaitForConditionTimeoutException e) { return true; } From 508929ca29cf9d3a88fc66994c90ec3288704ae1 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 10:18:44 +0200 Subject: [PATCH 24/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index f1656f20f..84a7134ba 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -122,11 +122,9 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); // wait for project to open waitFor(Duration.ofSeconds(5), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); - - ScreenshotUtils.takeScreenshot(remoteRobot, "after wait for main window to open"); - + // wait for project explorer to initialize waitFor(Duration.ofSeconds(600), Duration.ofSeconds(10), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); + CreateCloseUtils.waitAfterOpeningProject(remoteRobot); } private Boolean isMainIdeWindowOpen() { From 1ce2a18fdd1c610e3355b95dc9ebce91cda4dd7e Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 11:30:26 +0200 Subject: [PATCH 25/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../intellij/quarkus/tests/AbstractQuarkusTest.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 84a7134ba..6fa91d741 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -121,15 +121,15 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); // wait for project to open - waitFor(Duration.ofSeconds(5), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); + waitFor(Duration.ofSeconds(10), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); // wait for project explorer to initialize - waitFor(Duration.ofSeconds(600), Duration.ofSeconds(10), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); + waitFor(Duration.ofSeconds(60), Duration.ofSeconds(1), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); CreateCloseUtils.waitAfterOpeningProject(remoteRobot); } private Boolean isMainIdeWindowOpen() { try { - return remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(5)).isShowing(); + return remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(1)).isShowing(); } catch (WaitForConditionTimeoutException e) { return false; } @@ -137,8 +137,8 @@ private Boolean isMainIdeWindowOpen() { private boolean didProjectExplorerFinishInit() { try { - ToolWindowPane toolWinPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); - ProjectExplorer projectExplorer = toolWinPane.find(ProjectExplorer.class, Duration.ofSeconds(10)); + ToolWindowPane toolWinPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(1)); + ProjectExplorer projectExplorer = toolWinPane.find(ProjectExplorer.class, Duration.ofSeconds(1)); return projectExplorer.projectViewTree().findAllText().stream().noneMatch(remoteText -> remoteText.getText().contains("loading")); } catch (WaitForConditionTimeoutException e) { return true; From 87e23dac567358bfc03521d1749026a564679bf2 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 12:09:36 +0200 Subject: [PATCH 26/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 6fa91d741..5022d3979 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -124,7 +124,8 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, waitFor(Duration.ofSeconds(10), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); // wait for project explorer to initialize waitFor(Duration.ofSeconds(60), Duration.ofSeconds(1), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); - CreateCloseUtils.waitAfterOpeningProject(remoteRobot); + // wait for import to finish + waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the background tasks to finish.", this::didAllBgTasksFinish); } private Boolean isMainIdeWindowOpen() { @@ -145,4 +146,9 @@ private boolean didProjectExplorerFinishInit() { } } + private boolean didAllBgTasksFinish() { + waitFor(Duration.ofSeconds(5), Duration.ofMillis(500), () -> remoteRobot.find(IdeStatusBar.class).isShowing()); + return remoteRobot.find(IdeStatusBar.class).inlineProgressPanel().findAllText().isEmpty(); + } + } \ No newline at end of file From e805a6a7d5b7e49a13ec5e56a0405e06b4f59b8c Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 12:17:10 +0200 Subject: [PATCH 27/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../quarkus/tests/AbstractQuarkusTest.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 5022d3979..294d8957c 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -121,9 +121,9 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); // wait for project to open - waitFor(Duration.ofSeconds(10), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); + waitFor(Duration.ofSeconds(30), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); // wait for project explorer to initialize - waitFor(Duration.ofSeconds(60), Duration.ofSeconds(1), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); + waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); // wait for import to finish waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the background tasks to finish.", this::didAllBgTasksFinish); } @@ -138,17 +138,21 @@ private Boolean isMainIdeWindowOpen() { private boolean didProjectExplorerFinishInit() { try { - ToolWindowPane toolWinPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(1)); - ProjectExplorer projectExplorer = toolWinPane.find(ProjectExplorer.class, Duration.ofSeconds(1)); + ToolWindowPane toolWinPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(5)); + ProjectExplorer projectExplorer = toolWinPane.find(ProjectExplorer.class, Duration.ofSeconds(5)); return projectExplorer.projectViewTree().findAllText().stream().noneMatch(remoteText -> remoteText.getText().contains("loading")); } catch (WaitForConditionTimeoutException e) { - return true; + return false; } } private boolean didAllBgTasksFinish() { - waitFor(Duration.ofSeconds(5), Duration.ofMillis(500), () -> remoteRobot.find(IdeStatusBar.class).isShowing()); - return remoteRobot.find(IdeStatusBar.class).inlineProgressPanel().findAllText().isEmpty(); + try { + waitFor(Duration.ofSeconds(5), Duration.ofMillis(500), () -> remoteRobot.find(IdeStatusBar.class).isShowing()); + return remoteRobot.find(IdeStatusBar.class).inlineProgressPanel().findAllText().isEmpty(); + } catch (WaitForConditionTimeoutException e) { + return false; + } } } \ No newline at end of file From 9c5ab4112d257a61f7f638c7eb8727a73c93bec2 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 14:24:36 +0200 Subject: [PATCH 28/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../intellij/quarkus/tests/AbstractQuarkusTest.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 294d8957c..0d15567bd 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -122,10 +122,16 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); // wait for project to open waitFor(Duration.ofSeconds(30), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting main"); // wait for project explorer to initialize waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting project explorer"); // wait for import to finish - waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the background tasks to finish.", this::didAllBgTasksFinish); + waitFor(Duration.ofSeconds(5), Duration.ofMillis(500), () -> remoteRobot.find(IdeStatusBar.class).isShowing()); + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting ide status bar"); + IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class); + waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the background tasks to finish.", () -> didAllBgTasksFinish(ideStatusBar)); + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting background tasks"); } private Boolean isMainIdeWindowOpen() { @@ -146,10 +152,9 @@ private boolean didProjectExplorerFinishInit() { } } - private boolean didAllBgTasksFinish() { + private boolean didAllBgTasksFinish(IdeStatusBar ideStatusBar) { try { - waitFor(Duration.ofSeconds(5), Duration.ofMillis(500), () -> remoteRobot.find(IdeStatusBar.class).isShowing()); - return remoteRobot.find(IdeStatusBar.class).inlineProgressPanel().findAllText().isEmpty(); + return ideStatusBar.inlineProgressPanel().findAllText().isEmpty(); } catch (WaitForConditionTimeoutException e) { return false; } From 9836d35b54b4e7ca8e404833823b640bc0eb9b50 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 14:43:14 +0200 Subject: [PATCH 29/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 0d15567bd..5539fbed7 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -63,7 +63,7 @@ public abstract class AbstractQuarkusTest { @BeforeAll protected static void startIntelliJ() { if (!intelliJHasStarted) { - remoteRobot = UITestRunner.runIde(IntelliJVersion.COMMUNITY_V_2023_3, 8580); + remoteRobot = UITestRunner.runIde(IntelliJVersion.COMMUNITY_V_2024_3, 8580); intelliJHasStarted = true; Runtime.getRuntime().addShutdownHook(new CloseIntelliJBeforeQuit()); From 0098bcce58bd9fa0b2f51c38608cfcafb2d2d3c6 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 15:10:20 +0200 Subject: [PATCH 30/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../quarkus/tests/AbstractQuarkusTest.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 5539fbed7..2b9f08dae 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -63,7 +63,7 @@ public abstract class AbstractQuarkusTest { @BeforeAll protected static void startIntelliJ() { if (!intelliJHasStarted) { - remoteRobot = UITestRunner.runIde(IntelliJVersion.COMMUNITY_V_2024_3, 8580); + remoteRobot = UITestRunner.runIde(IntelliJVersion.COMMUNITY_V_2023_3); intelliJHasStarted = true; Runtime.getRuntime().addShutdownHook(new CloseIntelliJBeforeQuit()); @@ -120,18 +120,22 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, } quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); + + Thread.sleep(60000); + ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); // wait for project to open - waitFor(Duration.ofSeconds(30), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting main"); + //waitFor(Duration.ofSeconds(30), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); + //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting main"); // wait for project explorer to initialize - waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting project explorer"); + //waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); + //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting project explorer"); // wait for import to finish - waitFor(Duration.ofSeconds(5), Duration.ofMillis(500), () -> remoteRobot.find(IdeStatusBar.class).isShowing()); - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting ide status bar"); - IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class); - waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the background tasks to finish.", () -> didAllBgTasksFinish(ideStatusBar)); - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting background tasks"); + //waitFor(Duration.ofSeconds(5), Duration.ofMillis(500), () -> remoteRobot.find(IdeStatusBar.class).isShowing()); + //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting ide status bar"); + //IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class); + //waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the background tasks to finish.", () -> didAllBgTasksFinish(ideStatusBar)); + //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting background tasks"); + } private Boolean isMainIdeWindowOpen() { From 0109f2ddf9563e7323d2873426d24430cb625164 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 15:31:53 +0200 Subject: [PATCH 31/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 2b9f08dae..d9a645e0e 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -121,7 +121,11 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); - Thread.sleep(60000); + try { + Thread.sleep(60000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); // wait for project to open //waitFor(Duration.ofSeconds(30), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); From a5b3e7f74defae7ed1703ed29da49d1bece2e1ac Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 27 Jun 2025 15:51:42 +0200 Subject: [PATCH 32/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index d9a645e0e..edf0a07f8 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -122,11 +122,11 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, newProjectDialogWizard.finish(); try { - Thread.sleep(60000); + Thread.sleep(300000); } catch (InterruptedException e) { throw new RuntimeException(e); } - ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); + //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); // wait for project to open //waitFor(Duration.ofSeconds(30), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting main"); @@ -139,7 +139,6 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, //IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class); //waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the background tasks to finish.", () -> didAllBgTasksFinish(ideStatusBar)); //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting background tasks"); - } private Boolean isMainIdeWindowOpen() { From ffe3d860eebfe40b6a15048f47378edfab3a02c8 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Mon, 30 Jun 2025 16:22:12 +0200 Subject: [PATCH 33/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../quarkus/tests/AbstractQuarkusTest.java | 52 +------------------ .../intellij/quarkus/tests/GradleTest.java | 14 +++-- .../intellij/quarkus/utils/BuildTool.java | 5 +- 3 files changed, 15 insertions(+), 56 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index edf0a07f8..5996ddc8b 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -13,18 +13,12 @@ import com.intellij.remoterobot.RemoteRobot; import com.intellij.remoterobot.fixtures.ComponentFixture; import com.intellij.remoterobot.fixtures.JTextFieldFixture; -import com.intellij.remoterobot.utils.WaitForConditionTimeoutException; import com.redhat.devtools.intellij.commonuitest.UITestRunner; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ProjectExplorer; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import com.redhat.devtools.intellij.commonuitest.utils.runner.IntelliJVersion; -import com.redhat.devtools.intellij.commonuitest.utils.screenshot.ScreenshotUtils; import com.redhat.devtools.intellij.commonuitest.utils.testextension.ScreenshotAfterTestFailExtension; import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFinalPage; import org.jboss.tools.intellij.quarkus.fixtures.dialogs.project.pages.QuarkusNewProjectFirstPage; @@ -45,7 +39,6 @@ import java.time.Duration; import static com.intellij.remoterobot.search.locators.Locators.byXpath; -import static com.intellij.remoterobot.utils.RepeatUtilsKt.waitFor; /** * Abstract test class @@ -121,50 +114,7 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); - try { - Thread.sleep(300000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting"); - // wait for project to open - //waitFor(Duration.ofSeconds(30), Duration.ofSeconds(1), "main ide window to open", this::isMainIdeWindowOpen); - //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting main"); - // wait for project explorer to initialize - //waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the project explorer to finish initializing.", this::didProjectExplorerFinishInit); - //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting project explorer"); - // wait for import to finish - //waitFor(Duration.ofSeconds(5), Duration.ofMillis(500), () -> remoteRobot.find(IdeStatusBar.class).isShowing()); - //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting ide status bar"); - //IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class); - //waitFor(Duration.ofSeconds(60), Duration.ofSeconds(5), "the background tasks to finish.", () -> didAllBgTasksFinish(ideStatusBar)); - //ScreenshotUtils.takeScreenshot(remoteRobot, "after waiting background tasks"); - } - - private Boolean isMainIdeWindowOpen() { - try { - return remoteRobot.find(MainIdeWindow.class, Duration.ofSeconds(1)).isShowing(); - } catch (WaitForConditionTimeoutException e) { - return false; - } - } - - private boolean didProjectExplorerFinishInit() { - try { - ToolWindowPane toolWinPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(5)); - ProjectExplorer projectExplorer = toolWinPane.find(ProjectExplorer.class, Duration.ofSeconds(5)); - return projectExplorer.projectViewTree().findAllText().stream().noneMatch(remoteText -> remoteText.getText().contains("loading")); - } catch (WaitForConditionTimeoutException e) { - return false; - } - } - - private boolean didAllBgTasksFinish(IdeStatusBar ideStatusBar) { - try { - return ideStatusBar.inlineProgressPanel().findAllText().isEmpty(); - } catch (WaitForConditionTimeoutException e) { - return false; - } + CreateCloseUtils.waitAfterOpeningProject(remoteRobot); } } \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java index 0405ce3e8..b152d7536 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java @@ -13,7 +13,6 @@ import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.BuildView; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.GradleBuildToolPane; -import com.redhat.devtools.intellij.commonuitest.utils.screenshot.ScreenshotUtils; import org.jboss.tools.intellij.quarkus.utils.BuildTool; import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; import org.junit.jupiter.api.Test; @@ -25,15 +24,24 @@ /** * Basic Gradle Quarkus tests - * */ public class GradleTest extends AbstractQuarkusTest { private static final String NEW_QUARKUS_GRADLE_PROJECT_NAME = "code-with-quarkus-gradle"; + private static final String NEW_QUARKUS_GRADLE_KOTLIN_PROJECT_NAME = "code-with-quarkus-gradle-kotlin"; private static final String JAVA_VERSION = "17"; @Test public void createBuildQuarkusGradleTest() throws IOException { - createQuarkusProject(remoteRobot, NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE, EndpointURLType.DEFAULT, JAVA_VERSION); + runTest(NEW_QUARKUS_GRADLE_PROJECT_NAME, BuildTool.GRADLE); + } + + @Test + public void createBuildQuarkusGradleKotlinTest() throws IOException { + runTest(NEW_QUARKUS_GRADLE_KOTLIN_PROJECT_NAME, BuildTool.GRADLE_WITH_KOTLIN); + } + + private void runTest(String projectName, BuildTool buildTool) throws IOException { + createQuarkusProject(remoteRobot, projectName, buildTool, EndpointURLType.DEFAULT, JAVA_VERSION); ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); toolWindowPane.openGradleBuildToolPane(); GradleBuildToolPane gradleBuildToolPane = toolWindowPane.find(GradleBuildToolPane.class, Duration.ofSeconds(10)); diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/utils/BuildTool.java b/src/it/java/org/jboss/tools/intellij/quarkus/utils/BuildTool.java index ff71f5a97..40e415da7 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/utils/BuildTool.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/utils/BuildTool.java @@ -18,9 +18,10 @@ */ public enum BuildTool { MAVEN("Maven"), - GRADLE("Gradle"); + GRADLE("Gradle"), + GRADLE_WITH_KOTLIN("Gradle with Kotlin DSL"),; - private String textRepresentation; + private final String textRepresentation; BuildTool(String textRepresentation) { this.textRepresentation = textRepresentation; From 3659e3e10adaa3c75d1c22063c230ee62e38eb4b Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 4 Jul 2025 17:11:25 +0200 Subject: [PATCH 34/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/GradleTest.java | 12 ++++-------- .../tools/intellij/quarkus/tests/MavenTest.java | 5 +++-- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java index b152d7536..052b77603 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/GradleTest.java @@ -11,8 +11,7 @@ package org.jboss.tools.intellij.quarkus.tests; import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.BuildView; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.ToolWindowPane; -import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.toolwindowspane.buildtoolpane.GradleBuildToolPane; +import com.redhat.devtools.intellij.commonuitest.utils.build.BuildUtils; import org.jboss.tools.intellij.quarkus.utils.BuildTool; import org.jboss.tools.intellij.quarkus.utils.EndpointURLType; import org.junit.jupiter.api.Test; @@ -42,12 +41,9 @@ public void createBuildQuarkusGradleKotlinTest() throws IOException { private void runTest(String projectName, BuildTool buildTool) throws IOException { createQuarkusProject(remoteRobot, projectName, buildTool, EndpointURLType.DEFAULT, JAVA_VERSION); - ToolWindowPane toolWindowPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10)); - toolWindowPane.openGradleBuildToolPane(); - GradleBuildToolPane gradleBuildToolPane = toolWindowPane.find(GradleBuildToolPane.class, Duration.ofSeconds(10)); - gradleBuildToolPane.buildProject(); - boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); - assertTrue(isBuildSuccessful, "The build should be successful but is not."); + BuildUtils.buildMavenProjectAndWaitForFinish(remoteRobot, projectName, "verify"); + BuildView buildView = remoteRobot.find(BuildView.class, Duration.ofSeconds(10)); + assertTrue(buildView.isBuildSuccessful(), "The build should be successful but is not."); } } \ No newline at end of file diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java index 9c8993201..53e632748 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/MavenTest.java @@ -38,8 +38,9 @@ public void createBuildQuarkusMavenTest() throws IOException { toolWindowPane.openMavenBuildToolPane(); MavenBuildToolPane mavenBuildToolPane = toolWindowPane.find(MavenBuildToolPane.class, Duration.ofSeconds(10)); mavenBuildToolPane.buildProject("verify", "code-with-quarkus"); - boolean isBuildSuccessful = toolWindowPane.find(BuildView.class, Duration.ofSeconds(10)).isBuildSuccessful(); - assertTrue(isBuildSuccessful, "The build should be successful but is not."); + BuildView buildView = remoteRobot.find(BuildView.class, Duration.ofSeconds(10)); + buildView.waitUntilBuildHasFinished(); + assertTrue(buildView.isBuildSuccessful(), "The build should be successful but is not."); } From e532df10e7021bb70b0d9b864d3443b8b92583d8 Mon Sep 17 00:00:00 2001 From: Stephane Bouchet Date: Fri, 4 Jul 2025 17:24:57 +0200 Subject: [PATCH 35/35] chore: bump common-ui-tests to 0.4.5-SNAPSHOT Signed-off-by: Stephane Bouchet --- .../tools/intellij/quarkus/tests/AbstractQuarkusTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java index 5996ddc8b..344a93c83 100644 --- a/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java +++ b/src/it/java/org/jboss/tools/intellij/quarkus/tests/AbstractQuarkusTest.java @@ -16,6 +16,7 @@ import com.redhat.devtools.intellij.commonuitest.UITestRunner; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame; import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard; +import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar; import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation; import com.redhat.devtools.intellij.commonuitest.utils.project.CreateCloseUtils; import com.redhat.devtools.intellij.commonuitest.utils.runner.IntelliJVersion; @@ -114,7 +115,8 @@ protected void createQuarkusProject(RemoteRobot remoteRobot, String projectName, quarkusNewProjectFinalPage.setProjectLocation(quarkusProjectLocation); newProjectDialogWizard.finish(); - CreateCloseUtils.waitAfterOpeningProject(remoteRobot); + IdeStatusBar ideStatusBar = remoteRobot.find(IdeStatusBar.class, Duration.ofSeconds(10)); + ideStatusBar.waitUntilAllBgTasksFinish(500); } } \ No newline at end of file