Repository: falcon Updated Branches: refs/heads/master 5422ede87 -> 867a24a6a
FALCON-1289 Select instances again after performing action on entity page. Contributed by Ruslan Ostafiychuk Project: http://git-wip-us.apache.org/repos/asf/falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/falcon/commit/ccbebbac Tree: http://git-wip-us.apache.org/repos/asf/falcon/tree/ccbebbac Diff: http://git-wip-us.apache.org/repos/asf/falcon/diff/ccbebbac Branch: refs/heads/master Commit: ccbebbacd0a0957f942b69798a7f171c46a85f65 Parents: 5422ede Author: Ruslan Ostafiychuk <[email protected]> Authored: Thu Jul 2 19:05:58 2015 +0300 Committer: Ruslan Ostafiychuk <[email protected]> Committed: Thu Jul 2 19:05:58 2015 +0300 ---------------------------------------------------------------------- falcon-regression/CHANGES.txt | 2 ++ .../falcon/regression/ui/search/EntityPage.java | 17 ++++---------- .../regression/searchUI/EntityPageTest.java | 24 ++++++++++++-------- 3 files changed, 22 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/falcon/blob/ccbebbac/falcon-regression/CHANGES.txt ---------------------------------------------------------------------- diff --git a/falcon-regression/CHANGES.txt b/falcon-regression/CHANGES.txt index 75c6ad0..9149ed4 100644 --- a/falcon-regression/CHANGES.txt +++ b/falcon-regression/CHANGES.txt @@ -355,6 +355,8 @@ Trunk (Unreleased) FALCON-681 delete duplicate feed retention test from falcon regression (SamarthG) BUG FIXES + FALCON-1289 Select instances again after performing action on entity page (Ruslan Ostafiychuk) + FALCON-1292 Avoid usage of hard coded feed names in Bundle class (Paul Isaychuk) FALCON-1281 Fix InstancePageTest#testInstancePageStatusWaitingRunning (Namit Maheshwari via Ruslan Ostafiychuk) http://git-wip-us.apache.org/repos/asf/falcon/blob/ccbebbac/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/EntityPage.java ---------------------------------------------------------------------- diff --git a/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/EntityPage.java b/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/EntityPage.java index 6a71cab..cdd181b 100644 --- a/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/EntityPage.java +++ b/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/ui/search/EntityPage.java @@ -65,9 +65,9 @@ public class EntityPage extends AbstractSearchPage { */ public enum InstanceAction { Log, - Suspend, Resume, Rerun, + Suspend, Kill } @@ -400,6 +400,10 @@ public class EntityPage extends AbstractSearchPage { softAssert.assertAll(); } } + public void performActionOnSelectedInstances(InstanceAction instanceAction) { + driver.findElement(By.xpath(String.format("//td/div[%d]", instanceAction.ordinal() + 1))).click(); + waitForAngularToFinish(); + } public InstanceSummary getInstanceSummary() { return new InstanceSummary(this); @@ -426,17 +430,6 @@ public class EntityPage extends AbstractSearchPage { return instanceListBox.findElements(By.xpath(".//tbody/tr")); } - public void performActionOnSelectedInstances(InstanceAction instanceAction) { - final List<WebElement> summaryTableBodyParts = getTableRows(); - final WebElement actionRibbon = summaryTableBodyParts.get(0); - for (WebElement element : actionRibbon.findElements(By.xpath("./td/div"))) { - if (InstanceAction.valueOf(element.getText()) == instanceAction) { - element.click(); - return; - } - } - } - /** * Get instance summary starting for all the pages. * @return instance summary http://git-wip-us.apache.org/repos/asf/falcon/blob/ccbebbac/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/searchUI/EntityPageTest.java ---------------------------------------------------------------------- diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/searchUI/EntityPageTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/searchUI/EntityPageTest.java index 48239c2..b09c04f 100644 --- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/searchUI/EntityPageTest.java +++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/searchUI/EntityPageTest.java @@ -37,6 +37,7 @@ import org.apache.falcon.regression.core.util.OozieUtil; import org.apache.falcon.regression.core.util.TimeUtil; import org.apache.falcon.regression.testHelper.BaseUITestClass; import org.apache.falcon.regression.ui.search.EntityPage; +import org.apache.falcon.regression.ui.search.EntityPage.InstanceAction; import org.apache.falcon.regression.ui.search.LoginPage; import org.apache.falcon.regression.ui.search.SearchPage; import org.apache.falcon.resource.InstancesResult; @@ -444,11 +445,10 @@ public class EntityPageTest extends BaseUITestClass { final EntityPage.InstanceSummary displayedSummary = entityPage.getInstanceSummary(); //suspend instances through ui - final List<EntityPage.OneInstanceSummary> runningSummary = displayedSummary.getSummary(); - for (EntityPage.OneInstanceSummary oneInstanceSummary : runningSummary) { + for (EntityPage.OneInstanceSummary oneInstanceSummary : displayedSummary.getSummary()) { oneInstanceSummary.clickCheckBox(); } - displayedSummary.performActionOnSelectedInstances(EntityPage.InstanceAction.Suspend); + entityPage.performActionOnSelectedInstances(InstanceAction.Suspend); final List<EntityPage.OneInstanceSummary> suspendedSummary = displayedSummary.getSummary(); Assert.assertEquals(suspendedSummary.get(0).getStatus(), "SUSPENDED", "Expecting first instance to be suspended"); @@ -460,7 +460,10 @@ public class EntityPageTest extends BaseUITestClass { displayedSummary.checkSummary(apiSuspendedSummary.getInstances()); //resume instances through ui - displayedSummary.performActionOnSelectedInstances(EntityPage.InstanceAction.Resume); + for (EntityPage.OneInstanceSummary oneInstanceSummary : suspendedSummary) { + oneInstanceSummary.clickCheckBox(); + } + entityPage.performActionOnSelectedInstances(InstanceAction.Resume); final List<EntityPage.OneInstanceSummary> resumedSummary = displayedSummary.getSummary(); Assert.assertEquals(resumedSummary.get(0).getStatus(), "RUNNING", "Expecting first instance to be running"); @@ -506,7 +509,7 @@ public class EntityPageTest extends BaseUITestClass { for (EntityPage.OneInstanceSummary oneInstanceSummary : runningSummary) { oneInstanceSummary.clickCheckBox(); } - displayedSummary.performActionOnSelectedInstances(EntityPage.InstanceAction.Kill); + entityPage.performActionOnSelectedInstances(InstanceAction.Kill); final List<EntityPage.OneInstanceSummary> killedSummary = displayedSummary.getSummary(); Assert.assertEquals(killedSummary.get(0).getStatus(), "KILLED", "Expecting first instance to be killed"); @@ -518,7 +521,10 @@ public class EntityPageTest extends BaseUITestClass { displayedSummary.checkSummary(apiKilledSummary.getInstances()); //rerun instances through ui - displayedSummary.performActionOnSelectedInstances(EntityPage.InstanceAction.Rerun); + for (EntityPage.OneInstanceSummary oneInstanceSummary : killedSummary) { + oneInstanceSummary.clickCheckBox(); + } + entityPage.performActionOnSelectedInstances(InstanceAction.Rerun); final List<EntityPage.OneInstanceSummary> rerunSummary = displayedSummary.getSummary(); Assert.assertEquals(rerunSummary.get(0).getStatus(), "RUNNING", "Expecting first instance to be running"); @@ -563,20 +569,20 @@ public class EntityPageTest extends BaseUITestClass { //kill instances through ui final List<EntityPage.OneInstanceSummary> runningSummary = displayedSummary.getSummary(); - displayedSummary.performActionOnSelectedInstances(EntityPage.InstanceAction.Log); + entityPage.performActionOnSelectedInstances(InstanceAction.Log); Assert.assertFalse(getDriver().getCurrentUrl().contains("oozie"), "No instance is selected, so, log button should be disabled. " + "Clicking instance log button should not take user to oozie page."); for (EntityPage.OneInstanceSummary oneInstanceSummary : runningSummary) { oneInstanceSummary.clickCheckBox(); } - displayedSummary.performActionOnSelectedInstances(EntityPage.InstanceAction.Log); + entityPage.performActionOnSelectedInstances(InstanceAction.Log); Assert.assertFalse(getDriver().getCurrentUrl().contains("oozie"), "Two instances are selected, so, log button should be disabled. " + "Clicking instance log button should not take user to oozie page."); runningSummary.get(1).clickCheckBox(); //only first checkbox is ticked - displayedSummary.performActionOnSelectedInstances(EntityPage.InstanceAction.Log); + entityPage.performActionOnSelectedInstances(InstanceAction.Log); final String nominalTimeOfSelectedInstance = runningSummary.get(0).getNominalTime(); final InstancesResult processInstanceLogs = prism.getProcessHelper() .getProcessInstanceLogs(process.getName(),
