You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by co...@apache.org on 2016/02/25 05:07:57 UTC
incubator-zeppelin git commit: Add new selenium test case to test
clear output button
Repository: incubator-zeppelin
Updated Branches:
refs/heads/master d16ec20fc -> ea9f13930
Add new selenium test case to test clear output button
##What is this PR for?
Add a new test case for testing the clear output button.
Clear output button clears the output on the paragraph
##What type of PR is it?
Test
##Is there a relevant Jira issue?
NA
##How should this be tested?
On OSX, you'll need firefox 42.0 installed, then you can run with
PATH=~/Applications/Firefox.app/Contents/MacOS/:$PATH CI="" \
mvn -Dtest=org.apache.zeppelin.ParagraphActionsIT -Denforcer.skip=true \
test -pl zeppelin-server
##Questions:
Does the licenses files need update?NO
Is there breaking changes for older versions?NO
Does this needs documentation?NO
Author: Ravi Ranjan <ra...@gmail.com>
Closes #689 from ravicodder/testClearOutputButton and squashes the following commits:
6348430 [Ravi Ranjan] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into testClearOutputButton
60d2ea2 [Ravi Ranjan] Modified code to use reusable vriable to xpath
f328061 [Ravi Ranjan] Correcting bad rebase
88ddf31 [Ravi Ranjan] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into testClearOutputButton
fcb42d3 [Ravi Ranjan] Use handleException
4cdb6d4 [Ravi Ranjan] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into testClearOutputButton
abb9673 [Ravi Ranjan] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into testClearOutputButton
4e7ec99 [Ravi Ranjan] Modifed the xpath and waitforparagraph till FINISHED state
31e2849 [Ravi Ranjan] Merge remote-tracking branch 'origin/master' into testClearOutputButton
3d9b601 [Ravi Ranjan] Add LOG.error message in catch statement
3a99ac2 [Ravi Ranjan] Add LOG.error message in catch statement of test
ba079ef [Ravi Ranjan] Debug message improved
ccecb6c [Ravi Ranjan] Add new selenium test case to test clear output button
a8be230 [Ravi Ranjan] add modified checkthat message
f4a0883 [Ravi Ranjan] Add new selenium test case for clear output button of paragraph
Project: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/commit/ea9f1393
Tree: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/tree/ea9f1393
Diff: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/diff/ea9f1393
Branch: refs/heads/master
Commit: ea9f139308621704270f73b34dba995b61027b2c
Parents: d16ec20
Author: Ravi Ranjan <ra...@gmail.com>
Authored: Wed Feb 24 11:04:20 2016 +0530
Committer: Damien CORNEAU <co...@gmail.com>
Committed: Wed Feb 24 20:07:31 2016 -0800
----------------------------------------------------------------------
.../integration/ParagraphActionsIT.java | 108 ++++++++++++-------
1 file changed, 71 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/ea9f1393/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java
index 57835ea..d445b93 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java
@@ -69,21 +69,21 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
waitForParagraph(1, "READY");
Integer oldNosOfParas = driver.findElements(By.xpath("//div[@ng-controller=\"ParagraphCtrl\"]")).size();
collector.checkThat("Before Insert New : the number of paragraph ",
- oldNosOfParas,
- CoreMatchers.equalTo(1));
+ oldNosOfParas,
+ CoreMatchers.equalTo(1));
driver.findElement(By.xpath(getParagraphXPath(1) + "//span[@class='icon-settings']")).click();
driver.findElement(By.xpath(getParagraphXPath(1) + "//ul/li/a[@ng-click='insertNew()']")).click();
waitForParagraph(2, "READY");
Integer newNosOfParas = driver.findElements(By.xpath("//div[@ng-controller=\"ParagraphCtrl\"]")).size();
collector.checkThat("After Insert New (using Insert New button) : number of paragraph",
- oldNosOfParas + 1,
- CoreMatchers.equalTo(newNosOfParas));
+ oldNosOfParas + 1,
+ CoreMatchers.equalTo(newNosOfParas));
driver.findElement(By.xpath(getParagraphXPath(1) + "//span[@class='icon-settings']")).click();
driver.findElement(By.xpath(getParagraphXPath(1) + "//ul/li/a[@ng-click='removeParagraph()']")).click();
ZeppelinITUtils.sleep(1000, false);
driver.findElement(By.xpath("//div[@class='modal-dialog'][contains(.,'delete this paragraph')]" +
- "//div[@class='modal-footer']//button[contains(.,'OK')]")).click();
+ "//div[@class='modal-footer']//button[contains(.,'OK')]")).click();
ZeppelinITUtils.sleep(1000, false);
WebElement oldParagraphEditor = driver.findElement(By.xpath(getParagraphXPath(1) + "//textarea"));
@@ -95,8 +95,8 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
waitForParagraph(1, "READY");
collector.checkThat("Paragraph is created above",
- driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo(""));
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo(""));
WebElement aboveParagraphEditor = driver.findElement(By.xpath(getParagraphXPath(1) + "//textarea"));
aboveParagraphEditor.sendKeys(" this is above ");
@@ -106,32 +106,31 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
waitForParagraph(3, "READY");
collector.checkThat("Paragraph is created below",
- driver.findElement(By.xpath(getParagraphXPath(3) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo(""));
+ driver.findElement(By.xpath(getParagraphXPath(3) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo(""));
WebElement belowParagraphEditor = driver.findElement(By.xpath(getParagraphXPath(3) + "//textarea"));
belowParagraphEditor.sendKeys(" this is below ");
collector.checkThat("The output field of paragraph1 contains",
- driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo(" this is above "));
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo(" this is above "));
collector.checkThat("The output field paragraph2 contains",
- driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo(" original paragraph "));
+ driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo(" original paragraph "));
collector.checkThat("The output field paragraph3 contains",
- driver.findElement(By.xpath(getParagraphXPath(3) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo(" this is below "));
+ driver.findElement(By.xpath(getParagraphXPath(3) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo(" this is below "));
collector.checkThat("The current number of paragraphs after creating paragraph above and below",
- driver.findElements(By.xpath("//div[@ng-controller=\"ParagraphCtrl\"]")).size(),
- CoreMatchers.equalTo(3));
+ driver.findElements(By.xpath("//div[@ng-controller=\"ParagraphCtrl\"]")).size(),
+ CoreMatchers.equalTo(3));
ZeppelinITUtils.sleep(1000, false);
deleteTestNotebook(driver);
} catch (Exception e) {
- handleException("Exception in ParagraphActionsIT while testCreateNewButton ", e);
+ handleException("Exception in ParagraphActionsIT while testCreateNewButton ", e);
}
-
}
@Test
@@ -148,17 +147,17 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
waitForParagraph(2, "READY");
Integer oldNosOfParas = driver.findElements(By.xpath("//div[@ng-controller=\"ParagraphCtrl\"]")).size();
collector.checkThat("Before Remove : Number of paragraphs are ",
- oldNosOfParas,
- CoreMatchers.equalTo(2));
+ oldNosOfParas,
+ CoreMatchers.equalTo(2));
driver.findElement(By.xpath(getParagraphXPath(1) + "//span[@class='icon-settings']")).click();
driver.findElement(By.xpath(getParagraphXPath(1) + "//ul/li/a[@ng-click='removeParagraph()']")).click();
sleep(1000, true);
driver.findElement(By.xpath("//div[@class='modal-dialog'][contains(.,'delete this paragraph')]" +
- "//div[@class='modal-footer']//button[contains(.,'OK')]")).click();
+ "//div[@class='modal-footer']//button[contains(.,'OK')]")).click();
Integer newNosOfParas = driver.findElements(By.xpath("//div[@ng-controller=\"ParagraphCtrl\"]")).size();
collector.checkThat("After Remove : Number of paragraphs are",
- oldNosOfParas-1,
- CoreMatchers.equalTo(newNosOfParas));
+ oldNosOfParas-1,
+ CoreMatchers.equalTo(newNosOfParas));
ZeppelinITUtils.sleep(1000, false);
deleteTestNotebook(driver);
@@ -166,7 +165,7 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
handleException("Exception in ParagraphActionsIT while testMoveUpAndDown ", e);
}
}
-
+
@Test
public void testMoveUpAndDown() throws Exception {
if (!endToEndTestEnabled()) {
@@ -189,11 +188,11 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
collector.checkThat("The paragraph1 value contains",
- driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo("1"));
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo("1"));
collector.checkThat("The paragraph1 value contains",
- driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo("2"));
+ driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo("2"));
driver.findElement(By.xpath(getParagraphXPath(1) + "//span[@class='icon-settings']")).click();
driver.findElement(By.xpath(getParagraphXPath(1) + "//ul/li/a[@ng-click='moveDown()']")).click();
@@ -201,11 +200,11 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
ZeppelinITUtils.sleep(1000,false);
collector.checkThat("The paragraph1 value contains",
- driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo("2"));
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo("2"));
collector.checkThat("The paragraph1 value contains",
- driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo("1"));
+ driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo("1"));
driver.findElement(By.xpath(getParagraphXPath(2) + "//span[@class='icon-settings']")).click();
driver.findElement(By.xpath(getParagraphXPath(2) + "//ul/li/a[@ng-click='moveUp()']")).click();
@@ -213,11 +212,11 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
ZeppelinITUtils.sleep(1000,false);
collector.checkThat("The paragraph1 value contains",
- driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo("1"));
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo("1"));
collector.checkThat("The paragraph1 value contains",
- driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class, 'editor')]")).getText(),
- CoreMatchers.equalTo("2"));
+ driver.findElement(By.xpath(getParagraphXPath(2) + "//div[contains(@class, 'editor')]")).getText(),
+ CoreMatchers.equalTo("2"));
ZeppelinITUtils.sleep(1000,false);
deleteTestNotebook(driver);
@@ -264,4 +263,39 @@ public class ParagraphActionsIT extends AbstractZeppelinIT {
}
}
+
+ @Test
+ public void testClearOutputButton() throws Exception {
+ if (!endToEndTestEnabled()) {
+ return;
+ }
+ try {
+ createNewNote();
+
+ waitForParagraph(1, "READY");
+ String xpathToOutputField=getParagraphXPath(1) + "//div[contains(@ng-if,'getResultType()')]";
+ WebElement paragraph1Editor = driver.findElement(By.xpath(getParagraphXPath(1) + "//textarea"));
+ paragraph1Editor.sendKeys("println" + Keys.chord(Keys.SHIFT, "9") + "\""
+ + "abcd\")");
+ collector.checkThat("Before Run Output field contains ",
+ driver.findElement(By.xpath(xpathToOutputField)).getText(),
+ CoreMatchers.equalTo(""));
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//span[@ng-click='runParagraph(getEditorValue())']")).click();
+ waitForParagraph(1, "FINISHED");
+ collector.checkThat("After Run Output field contains ",
+ driver.findElement(By.xpath(xpathToOutputField)).getText(),
+ CoreMatchers.equalTo("abcd"));
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//span[@class='icon-settings']")).click();
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//ul/li/a[@ng-click='clearParagraphOutput()']")).click();
+ collector.checkThat("After Clear Output field contains ",
+ driver.findElement(By.xpath(xpathToOutputField)).getText(),
+ CoreMatchers.equalTo(""));
+ ZeppelinITUtils.sleep(1000, false);
+ deleteTestNotebook(driver);
+
+ } catch (Exception e) {
+ handleException("Exception in ParagraphActionsIT while testClearOutputButton ",e);
+ }
+
+ }
}
\ No newline at end of file