Uploaded image for project: 'Zeppelin'
  1. Zeppelin
  2. ZEPPELIN-878 ZeppelinIT.testSparkInterpreterDependencyLoading fails
  3. ZEPPELIN-928

CASE I of ZeppelinIT failure - Save button not found after adding dependence to Spark interpreter

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.6.0
    • None
    • None

    Description

      CASE I "Save button not found on adding `org.apache.commons:commons-csv` dependence to Spark interpreter"
      PR #860
      https://travis-ci.org/apache/incubator-zeppelin/jobs/132702968
      See attached Screenshot-860

      23:18:41,898 ERROR org.apache.zeppelin.AbstractZeppelinIT:153 - Exception in ZeppelinIT while testSparkInterpreterDependencyLoading 
      org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
      ...
      	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
      	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647)
      	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:326)
      	at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
      	at org.apache.zeppelin.integration.ZeppelinIT.testSparkInterpreterDependencyLoading(ZeppelinIT.java:209)
         

      From ZeppelinIT.testSparkInterpreterDependencyLoading

            String artifact = "org.apache.commons:commons-csv:1.1";
            depArtifact.sendKeys(artifact);
            driver.findElement(By.xpath("//div[contains(@class,'box')][contains(.,'%spark')]//form//button[1]")).click();
         

      Attachments

        1. screenshot-1.png
          176 kB
          Alexander Bezzubov

        Issue Links

          Activity

            bzz Alexander Bezzubov added a comment - - edited

            I suppose this test is flaky due to XPath expression used to identify "Save" button on the interpreter page:

            //div[contains(@class,'box')][contains(.,'%spark')]//form//button[1]
            

            As one can see on attached code-screenshot - it is found in 2 places on the page for 2 spark interpreters,

            • spark
            • spark-local

            and one is visible (that we are editing) and one is not.

            My guess that it picks non-visible from time to time, and this way fails the test, as code logic is to wait until it becomes visible for 5 sec (in order the page to load), but this never happens as it's second one that is visible.

            bzz Alexander Bezzubov added a comment - - edited I suppose this test is flaky due to XPath expression used to identify "Save" button on the interpreter page: //div[contains(@class, 'box' )][contains(., '%spark' )]//form//button[1] As one can see on attached code-screenshot - it is found in 2 places on the page for 2 spark interpreters, spark spark-local and one is visible (that we are editing) and one is not. My guess that it picks non-visible from time to time, and this way fails the test, as code logic is to wait until it becomes visible for 5 sec (in order the page to load), but this never happens as it's second one that is visible.
            githubbot ASF GitHub Bot added a comment -

            GitHub user bzz opened a pull request:

            https://github.com/apache/incubator-zeppelin/pull/939

            ZEPPELIN-928: fix flaky ZeppelinIT test for Spark interpreter

                1. What is this PR for?
                  Fix flaky Integration Test by adding new id to HTML (as of HTML5 it can be [any non-empty string](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute)) and liverage it in tests for simpler XPath statements that pick only 1 candidate.
                1. TODO
            • [x] fix test
            • [x] update New Interpreter form validation and error message
                1. What type of PR is it?
                  Bug Fix
                1. What is the Jira issue?
                  ZEPPELIN-928(https://issues.apache.org/jira/browse/ZEPPELIN-928)
                1. How should this be tested?
                  CI should pass
                1. Questions:
            • Does the licenses files need update? No
            • Is there breaking changes for older versions? No
            • Does this needs documentation? No

            You can merge this pull request into a Git repository by running:

            $ git pull https://github.com/bzz/incubator-zeppelin fix/ZEPPELIN-928

            Alternatively you can review and apply these changes as the patch at:

            https://github.com/apache/incubator-zeppelin/pull/939.patch

            To close this pull request, make a commit to your master/trunk branch
            with (at least) the following in the commit message:

            This closes #939


            commit 874483436f2cba9227e1448c8d92bd49ab7bd790
            Author: Alexander Bezzubov <bzz@apache.org>
            Date: 2016-05-31T11:18:37Z

            New Interpreter validation: prohibit whitespace names and correct error msg

            commit 9bcba08b7fea7eb67d84380f3d2d4b6e2afe5dbc
            Author: Alexander Bezzubov <bzz@apache.org>
            Date: 2016-05-31T11:20:04Z

            Interpreter creation: add ID to the HTML and update Integration tests to use simple xpath


            githubbot ASF GitHub Bot added a comment - GitHub user bzz opened a pull request: https://github.com/apache/incubator-zeppelin/pull/939 ZEPPELIN-928 : fix flaky ZeppelinIT test for Spark interpreter What is this PR for? Fix flaky Integration Test by adding new id to HTML (as of HTML5 it can be [any non-empty string] ( https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute )) and liverage it in tests for simpler XPath statements that pick only 1 candidate. TODO [x] fix test [x] update New Interpreter form validation and error message What type of PR is it? Bug Fix What is the Jira issue? ZEPPELIN-928 ( https://issues.apache.org/jira/browse/ZEPPELIN-928 ) How should this be tested? CI should pass Questions: Does the licenses files need update? No Is there breaking changes for older versions? No Does this needs documentation? No You can merge this pull request into a Git repository by running: $ git pull https://github.com/bzz/incubator-zeppelin fix/ ZEPPELIN-928 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-zeppelin/pull/939.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #939 commit 874483436f2cba9227e1448c8d92bd49ab7bd790 Author: Alexander Bezzubov <bzz@apache.org> Date: 2016-05-31T11:18:37Z New Interpreter validation: prohibit whitespace names and correct error msg commit 9bcba08b7fea7eb67d84380f3d2d4b6e2afe5dbc Author: Alexander Bezzubov <bzz@apache.org> Date: 2016-05-31T11:20:04Z Interpreter creation: add ID to the HTML and update Integration tests to use simple xpath
            githubbot ASF GitHub Bot added a comment -

            Github user bzz commented on the pull request:

            https://github.com/apache/incubator-zeppelin/pull/939

            CI passes, ready to be merged.

            This should fix CI on #860

            githubbot ASF GitHub Bot added a comment - Github user bzz commented on the pull request: https://github.com/apache/incubator-zeppelin/pull/939 CI passes, ready to be merged. This should fix CI on #860
            githubbot ASF GitHub Bot added a comment -

            Github user khalidhuseynov commented on the pull request:

            https://github.com/apache/incubator-zeppelin/pull/939

            thanks for fixing this flaky test, LGTM

            githubbot ASF GitHub Bot added a comment - Github user khalidhuseynov commented on the pull request: https://github.com/apache/incubator-zeppelin/pull/939 thanks for fixing this flaky test, LGTM
            githubbot ASF GitHub Bot added a comment -

            Github user Leemoonsoo commented on the pull request:

            https://github.com/apache/incubator-zeppelin/pull/939

            LGTM

            githubbot ASF GitHub Bot added a comment - Github user Leemoonsoo commented on the pull request: https://github.com/apache/incubator-zeppelin/pull/939 LGTM
            githubbot ASF GitHub Bot added a comment -

            Github user cloverhearts commented on the pull request:

            https://github.com/apache/incubator-zeppelin/pull/939

            LGTM

            githubbot ASF GitHub Bot added a comment - Github user cloverhearts commented on the pull request: https://github.com/apache/incubator-zeppelin/pull/939 LGTM
            githubbot ASF GitHub Bot added a comment -

            Github user bzz commented on the pull request:

            https://github.com/apache/incubator-zeppelin/pull/939

            Thank you for prompt reviews!
            Merging if there is no more disucssion

            githubbot ASF GitHub Bot added a comment - Github user bzz commented on the pull request: https://github.com/apache/incubator-zeppelin/pull/939 Thank you for prompt reviews! Merging if there is no more disucssion
            githubbot ASF GitHub Bot added a comment -

            Github user asfgit closed the pull request at:

            https://github.com/apache/incubator-zeppelin/pull/939

            githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/incubator-zeppelin/pull/939

            People

              bzz Alexander Bezzubov
              bzz Alexander Bezzubov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: