Skip to content

Commit b037665

Browse files
authored
fix: fix failed tests screenshot comment (#335)
* fix: fix failed tests screenshot comment Signed-off-by: Stephane Bouchet <[email protected]> * fix: fix failed tests screenshot comment Signed-off-by: Stephane Bouchet <[email protected]> --------- Signed-off-by: Stephane Bouchet <[email protected]>
1 parent 1cddd83 commit b037665

File tree

23 files changed

+50
-61
lines changed

23 files changed

+50
-61
lines changed

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

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import com.intellij.remoterobot.fixtures.JListFixture;
2222
import com.intellij.remoterobot.fixtures.JPopupMenuFixture;
2323
import com.intellij.remoterobot.fixtures.JTextFieldFixture;
24-
import com.intellij.remoterobot.fixtures.dataExtractor.RemoteText;
2524
import com.intellij.remoterobot.utils.WaitForConditionTimeoutException;
2625
import com.redhat.devtools.intellij.commonuitest.UITestRunner;
2726
import com.redhat.devtools.intellij.commonuitest.utils.constants.XPathDefinitions;
@@ -47,8 +46,8 @@
4746
@DefaultXpath(by = "MyDialog type", xpath = XPathDefinitions.DIALOG_ROOT_PANE)
4847
@FixtureName(name = "New Project Dialog")
4948
public class NewProjectFirstPage extends AbstractNewProjectFinalPage {
50-
private final RemoteRobot remoteRobot;
51-
private int projectSdkItemsCount = -1;
49+
protected final RemoteRobot remoteRobot;
50+
private boolean isProjectSdkItemsLoaded = false;
5251
private final int ideaVersion;
5352

5453
public NewProjectFirstPage(@NotNull RemoteRobot remoteRobot, @NotNull RemoteComponent remoteComponent) {
@@ -184,12 +183,8 @@ public void setProjectSdkIfAvailable(String targetSdkName) {
184183
private kotlin.Pair<Boolean, CommonContainerFixture> didProjectSdkListLoadAllItems() {
185184
return step("Test whether the 'Project SDK' list has loaded all items", () -> {
186185
CommonContainerFixture parentFixture = remoteRobot.find(CommonContainerFixture.class, byXpath(XPathDefinitions.MY_DIALOG));
187-
JPopupMenuFixture projectSdkList = parentFixture.jPopupMenus(byXpath(XPathDefinitions.HEAVY_WEIGHT_WINDOW)).get(0); // issue https://github.com/JetBrains/intellij-ui-test-robot/issues/104
188-
List<RemoteText> sdkItems = projectSdkList.findAllText();
189-
int currentSdkItemsCount = sdkItems.size();
190-
191-
if ((projectSdkItemsCount == -1) || (projectSdkItemsCount != currentSdkItemsCount)) {
192-
projectSdkItemsCount = currentSdkItemsCount;
186+
if (!isProjectSdkItemsLoaded) {
187+
isProjectSdkItemsLoaded = true;
193188
return new kotlin.Pair<>(false, parentFixture);
194189
}
195190
return new kotlin.Pair<>(true, parentFixture);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public IdeStatusBar(@NotNull RemoteRobot remoteRobot, @NotNull RemoteComponent r
4646
* @return fixture for the InlineProgressPanel
4747
*/
4848
public ComponentFixture inlineProgressPanel() {
49-
return find(ComponentFixture.class, byXpath(XPathDefinitions.INLINE_PROGRESS_PANEL));
49+
return find(ComponentFixture.class, byXpath(XPathDefinitions.INLINE_PROGRESS_PANEL), Duration.ofSeconds(5));
5050
}
5151

5252
/**

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

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -114,16 +114,8 @@ protected void togglePane(String label, Class<? extends Fixture> fixtureClass, b
114114
}
115115

116116
private boolean isPaneOpened(Class<? extends Fixture> fixtureClass) {
117-
AbstractToolWinPane toolWinPane;
118-
if (UITestRunner.getIdeaVersionInt() >= 20221) {
119-
toolWinPane = remoteRobot.find(ToolWindowPane.class, Duration.ofSeconds(10));
120-
} else {
121-
toolWinPane = remoteRobot.find(ToolWindowsPane.class, Duration.ofSeconds(10));
122-
}
123-
124117
try {
125-
toolWinPane.find(fixtureClass, Duration.ofSeconds(10));
126-
return true;
118+
return find(fixtureClass, Duration.ofSeconds(10)).isShowing();
127119
} catch (WaitForConditionTimeoutException e) {
128120
return false;
129121
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ public void reloadAllMavenProjects() {
5959
public void collapseAll() {
6060
if (UITestRunner.getIdeaVersionInt() >= 20242) {
6161
actionButton(byXpath(XPathDefinitions.MY_ICON_COLLAPSE_ALL_2024_2), Duration.ofSeconds(2)).click();
62-
6362
} else {
6463
actionButton(byXpath(XPathDefinitions.MY_ICON_COLLAPSE_ALL_FOR), Duration.ofSeconds(2)).click();
6564
}

src/main/java/com/redhat/devtools/intellij/commonuitest/utils/testextension/ScreenshotAfterTestFailExtension.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,10 @@ public void afterTestExecution(ExtensionContext extensionContext) {
5252
LOGGER.log(Level.SEVERE, "Can't take a screenshot, remoteRobot is null!");
5353
return;
5454
}
55+
String testClass = extensionContext.getRequiredTestClass().getName();
56+
String testMethod = extensionContext.getRequiredTestMethod().getName();
5557
step("Take a screenshot after a test has failed",
56-
() -> ScreenshotUtils.takeScreenshot(remoteRobot)
58+
() -> ScreenshotUtils.takeScreenshot(remoteRobot, testClass + "_" + testMethod)
5759
);
5860
step("Return to the 'Welcome Frame' dialog",
5961
() -> cleanAfterTestFail(remoteRobot)

src/test-project/src/test/java/com/redhat/devtools/intellij/commonuitest/LibraryTestBase.java renamed to src/test-project/src/test/java/com/redhat/devtools/intellij/commonuitest/AbstractLibraryBaseTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
3030
*/
3131
@ExtendWith(ScreenshotAfterTestFailExtension.class)
32-
public class LibraryTestBase {
33-
protected static final Logger LOGGER = Logger.getLogger(LibraryTestBase.class.getName());
32+
public abstract class AbstractLibraryBaseTest {
33+
protected static final Logger LOGGER = Logger.getLogger(AbstractLibraryBaseTest.class.getName());
3434
private static final IntelliJVersion communityIdeaVersion = IntelliJVersion.getFromStringVersion(System.getProperty("communityIdeaVersion"));
3535
protected static RemoteRobot remoteRobot;
3636
protected static int ideaVersionInt;
@@ -39,7 +39,7 @@ public class LibraryTestBase {
3939

4040
@BeforeAll
4141
static void startIntelliJ() {
42-
if (!intelliJHasStarted) {
42+
if (!intelliJHasStarted) {
4343
ideaVersionInt = communityIdeaVersion.toInt();
4444
remoteRobot = UITestRunner.runIde(communityIdeaVersion, TEST_RUNNER_PORT);
4545

src/test-project/src/test/java/com/redhat/devtools/intellij/commonuitest/fixtures/test/dialogs/FlatWelcomeFrameTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import com.intellij.remoterobot.fixtures.JListFixture;
1414
import com.intellij.remoterobot.fixtures.JTreeFixture;
1515
import com.intellij.remoterobot.utils.WaitForConditionTimeoutException;
16-
import com.redhat.devtools.intellij.commonuitest.LibraryTestBase;
16+
import com.redhat.devtools.intellij.commonuitest.AbstractLibraryBaseTest;
1717
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame;
1818
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard;
1919
import com.redhat.devtools.intellij.commonuitest.utils.constants.ProjectLocation;
@@ -35,7 +35,7 @@
3535
*
3636
3737
*/
38-
class FlatWelcomeFrameTest extends LibraryTestBase {
38+
class FlatWelcomeFrameTest extends AbstractLibraryBaseTest {
3939
private static final String PROJECT_NAME = "welcome_frame_java_project";
4040
private FlatWelcomeFrame flatWelcomeFrame;
4141

src/test-project/src/test/java/com/redhat/devtools/intellij/commonuitest/fixtures/test/dialogs/information/CodeWithMeDialogTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
******************************************************************************/
1111
package com.redhat.devtools.intellij.commonuitest.fixtures.test.dialogs.information;
1212

13-
import com.redhat.devtools.intellij.commonuitest.LibraryTestBase;
13+
import com.redhat.devtools.intellij.commonuitest.AbstractLibraryBaseTest;
1414
import com.redhat.devtools.intellij.commonuitest.UITestRunner;
1515
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.information.CodeWithMeDialog;
1616
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.project.NewProjectDialogWizard;
@@ -34,7 +34,7 @@
3434
*
3535
3636
*/
37-
class CodeWithMeDialogTest extends LibraryTestBase {
37+
class CodeWithMeDialogTest extends AbstractLibraryBaseTest {
3838
private static final String PROJECT_NAME = "code_with_me_java_project";
3939
private static final boolean IDEA_VERSION_WITH_CWM_DIALOG_OPENED = ideaVersionInt >= 20212;
4040

src/test-project/src/test/java/com/redhat/devtools/intellij/commonuitest/fixtures/test/dialogs/information/ProjectStructureDialogTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import com.intellij.remoterobot.fixtures.CommonContainerFixture;
1414
import com.intellij.remoterobot.utils.WaitForConditionTimeoutException;
15-
import com.redhat.devtools.intellij.commonuitest.LibraryTestBase;
15+
import com.redhat.devtools.intellij.commonuitest.AbstractLibraryBaseTest;
1616
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.information.ProjectStructureDialog;
1717
import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.MainIdeWindow;
1818
import com.redhat.devtools.intellij.commonuitest.fixtures.mainidewindow.idestatusbar.IdeStatusBar;
@@ -31,7 +31,7 @@
3131
*
3232
3333
*/
34-
class ProjectStructureDialogTest extends LibraryTestBase {
34+
class ProjectStructureDialogTest extends AbstractLibraryBaseTest {
3535
private static final String PROJECT_NAME = "tip_dialog_java_project";
3636

3737
@BeforeAll

src/test-project/src/test/java/com/redhat/devtools/intellij/commonuitest/fixtures/test/dialogs/information/TipDialogTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import com.intellij.remoterobot.fixtures.JListFixture;
1414
import com.intellij.remoterobot.fixtures.JTreeFixture;
1515
import com.intellij.remoterobot.utils.WaitForConditionTimeoutException;
16-
import com.redhat.devtools.intellij.commonuitest.LibraryTestBase;
16+
import com.redhat.devtools.intellij.commonuitest.AbstractLibraryBaseTest;
1717
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.FlatWelcomeFrame;
1818
import com.redhat.devtools.intellij.commonuitest.fixtures.dialogs.information.TipDialog;
1919
import com.redhat.devtools.intellij.commonuitest.utils.constants.XPathDefinitions;
@@ -33,7 +33,7 @@
3333
*
3434
3535
*/
36-
class TipDialogTest extends LibraryTestBase {
36+
class TipDialogTest extends AbstractLibraryBaseTest {
3737
private TipDialog tipDialog;
3838

3939
@AfterAll

0 commit comments

Comments
 (0)