From 4aefd192ef905773cbe7e5a677c52ce7cf5a1261 Mon Sep 17 00:00:00 2001 From: Aleksandr Shmaraiev Date: Mon, 4 Mar 2019 16:24:26 +0200 Subject: [PATCH] Selenium: Correct the selenium tests to make more reliability (#12812) --- .../che/selenium/git/AddFilesToIndexTest.java | 26 ++++++++++--------- .../che/selenium/git/AmendCommitTest.java | 1 + .../git/CommitFilesByMultiSelectTest.java | 1 + .../selenium/git/GitChangeMarkersTest.java | 3 ++- .../mavenplugin/CheckMavenPluginTest.java | 2 +- .../refactor/types/RenameTypeTest.java | 2 ++ 6 files changed, 21 insertions(+), 14 deletions(-) diff --git a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/AddFilesToIndexTest.java b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/AddFilesToIndexTest.java index 84aabfcaea..68356c9caa 100644 --- a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/AddFilesToIndexTest.java +++ b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/AddFilesToIndexTest.java @@ -41,9 +41,10 @@ import org.testng.annotations.Test; @Test(groups = TestGroup.GITHUB) public class AddFilesToIndexTest { private static final String PROJECT_NAME = NameGenerator.generate("AddFilesToIndex_", 4); - private static final String PATH_TO_JSP_FILE = "/src/main/webapp/index.jsp"; + private static final String PATH_TO_JSP_FILE = PROJECT_NAME + "/src/main/webapp/index.jsp"; + private static final String PATH_TO_JAVA_FILE = + PROJECT_NAME + "/src/main/java/org/eclipse/qa/examples/AppController.java"; private static final String JAVA_TAB_FILE_NAME = "AppController"; - private static final String JSP_FILE_NAME = "index.jsp"; private static final String STATUS_MESSAGE_ONE_FILE = " On branch master\n" @@ -103,17 +104,14 @@ public class AddFilesToIndexTest { testProjectServiceClient.importProject( ws.getId(), Paths.get(resource.toURI()), PROJECT_NAME, ProjectTemplates.MAVEN_SPRING); ide.open(ws); + ide.waitOpenedWorkspaceIsReadyToUse(); } @Test public void addFilesTest() { // preparation - String pathToJavaFileItem = PROJECT_NAME + "/src/main/java/org.eclipse.qa.examples"; - String pathToJspFile = PROJECT_NAME + "/src/main/webapp"; - String javaFileName = JAVA_TAB_FILE_NAME + ".java"; - - projectExplorer.waitProjectExplorer(); projectExplorer.waitAndSelectItem(PROJECT_NAME); + projectExplorer.waitItemIsSelected(PROJECT_NAME); menu.runCommand( TestMenuCommandsConstants.Git.GIT, TestMenuCommandsConstants.Git.INITIALIZE_REPOSITORY); askDialog.waitFormToOpen(); @@ -137,8 +135,10 @@ public class AddFilesToIndexTest { events.waitExpectedMessage(TestGitConstants.GIT_NOTHING_TO_ADD); // expand the tree and open files - projectExplorer.expandPathInProjectExplorerAndOpenFile(pathToJavaFileItem, javaFileName); - projectExplorer.expandPathInProjectExplorerAndOpenFile(pathToJspFile, JSP_FILE_NAME); + projectExplorer.clickOnRefreshTreeButton(); + projectExplorer.quickRevealToItemWithJavaScript(PATH_TO_JSP_FILE); + projectExplorer.openItemByPath(PATH_TO_JSP_FILE); + editor.waitActive(); // Edit index.jsp editor.setCursorToLine(17); @@ -146,7 +146,8 @@ public class AddFilesToIndexTest { loader.waitOnClosed(); // Add this file to index - projectExplorer.waitAndSelectItem(PROJECT_NAME + PATH_TO_JSP_FILE); + projectExplorer.waitAndSelectItem(PATH_TO_JSP_FILE); + projectExplorer.waitItemIsSelected(PATH_TO_JSP_FILE); menu.runCommand(TestMenuCommandsConstants.Git.GIT, TestMenuCommandsConstants.Git.ADD_TO_INDEX); git.waitGitStatusBarWithMess(TestGitConstants.GIT_ADD_TO_INDEX_SUCCESS); events.clickEventLogBtn(); @@ -158,14 +159,15 @@ public class AddFilesToIndexTest { git.waitGitStatusBarWithMess(STATUS_MESSAGE_ONE_FILE); // Edit AppController.java - editor.selectTabByName(JAVA_TAB_FILE_NAME); + projectExplorer.quickRevealToItemWithJavaScript(PATH_TO_JAVA_FILE); + projectExplorer.openItemByPath(PATH_TO_JAVA_FILE); editor.waitActive(); editor.setCursorToLine(15); editor.typeTextIntoEditor("//Testing add to index"); loader.waitOnClosed(); // Create new.css file - projectExplorer.waitAndSelectItem(pathToJspFile); + projectExplorer.waitAndSelectItem(PATH_TO_JSP_FILE); menu.runCommand( TestMenuCommandsConstants.Project.PROJECT, TestMenuCommandsConstants.Project.New.NEW, diff --git a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/AmendCommitTest.java b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/AmendCommitTest.java index 568ee7bc00..7605f55603 100644 --- a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/AmendCommitTest.java +++ b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/AmendCommitTest.java @@ -99,6 +99,7 @@ public class AmendCommitTest { git.waitGitStatusBarWithMess(GIT_INITIALIZED_SUCCESS); events.clickEventLogBtn(); events.waitExpectedMessage(GIT_INITIALIZED_SUCCESS); + projectExplorer.quickRevealToItemWithJavaScript(pathToFileItem); loader.waitOnClosed(); // perform init commit diff --git a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/CommitFilesByMultiSelectTest.java b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/CommitFilesByMultiSelectTest.java index 58ae94ed83..8739d25bdd 100644 --- a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/CommitFilesByMultiSelectTest.java +++ b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/CommitFilesByMultiSelectTest.java @@ -161,6 +161,7 @@ public class CommitFilesByMultiSelectTest { editor.waitTextIntoEditor("//" + CHANGE_CONTENT); // Edit several files in the first module + projectExplorer.clickOnRefreshTreeButton(); projectExplorer.waitAndSelectItem(PROJECT_NAME + "/my-lib/src/test/java/hello/file.css"); projectExplorer.openItemByPath(PROJECT_NAME + "/my-lib/src/test/java/hello/file.css"); editor.waitActive(); diff --git a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/GitChangeMarkersTest.java b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/GitChangeMarkersTest.java index a34a235066..ef5e12050e 100644 --- a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/GitChangeMarkersTest.java +++ b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/git/GitChangeMarkersTest.java @@ -94,9 +94,10 @@ public class GitChangeMarkersTest { projectExplorer.waitAndSelectItem(PROJECT_NAME); menu.runCommand(GIT, TestMenuCommandsConstants.Git.COMMIT); git.waitAndRunCommit("init"); - loader.waitOnClosed(); projectExplorer.clickOnRefreshTreeButton(); + loader.waitOnClosed(); + projectExplorer.waitAndSelectItem(PROJECT_NAME + PATH_TO_JAVA_FILE); projectExplorer.openItemByPath(PROJECT_NAME + PATH_TO_JAVA_FILE); editor.waitActive(); editor.waitNoGitChangeMarkers(); diff --git a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/mavenplugin/CheckMavenPluginTest.java b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/mavenplugin/CheckMavenPluginTest.java index 443d673e79..f6ef21b8c0 100644 --- a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/mavenplugin/CheckMavenPluginTest.java +++ b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/mavenplugin/CheckMavenPluginTest.java @@ -103,7 +103,7 @@ public class CheckMavenPluginTest { @Test(priority = 2) public void shouldAccessClassCreatedInAnotherModuleAfterIncludingModule() { includeModulesInTheParentPom(); - + projectExplorer.clickOnRefreshTreeButton(); projectExplorer.openItemByPath( PROJECT_NAME + "/my-webapp/src/main/java/che/eclipse/sample/Aclass.java"); editor.waitActive(); diff --git a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/refactor/types/RenameTypeTest.java b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/refactor/types/RenameTypeTest.java index 66c7ad99ff..2f977ef63e 100644 --- a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/refactor/types/RenameTypeTest.java +++ b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/refactor/types/RenameTypeTest.java @@ -193,6 +193,8 @@ public class RenameTypeTest { askDialog.clickOkBtn(); askDialog.waitFormToClose(); refactorPanel.waitRefactorPreviewFormIsClosed(); + loader.waitOnClosed(); + projectExplorer.waitAndSelectItem(pathToCurrentPackage + "/B.java"); projectExplorer.clickOnRefreshTreeButton(); projectExplorer.waitItem(pathToCurrentPackage + "/B.java", ELEMENT_TIMEOUT_SEC); projectExplorer.openItemByPath(pathToCurrentPackage + "/B.java");