GitHub user 1ambda reopened a pull request:

    https://github.com/apache/zeppelin/pull/2477

    [ZEPPELIN-2342] Improving Test Environment for zeppelin-web (e2e, coverage)

    ### What is this PR for?
    
    Improved testing environment for zeppelin-web
    
    - added `test:watch` command for continuous testing 
    - displaying coverage report in console
    - e2e testing in zeppelin-web (can be written easily compare to the 
zeppelin-server integration tests. For example: 
[home.spec.js](https://github.com/1ambda/zeppelin/blob/f90deb4bf3db57e36232c9c94ae3b07dfd7c2331/zeppelin-web/e2e/home.spec.js))
    
    This PR adds [a zeppelin-web specific travis 
profile](https://github.com/1ambda/zeppelin/blob/ad08a3bc0da420f7a7b4771d1aee8bfdd962efa7/.travis.yml#L55)
 and it usually takes 8-9 mins to execute unit + e2e tests (zeppelin-web) 
    
    - https://travis-ci.org/1ambda/zeppelin/jobs/252453901
    
    #### Details
    
    - the headless chrome browser works with chromedriver 2.29+ 
(https://chromium.googlesource.com/chromium/src/+/c75dbfd25cc376b92a494d340259056a01e1432e)
    - in the case of ubuntu precise (our travis container), should use 
`/usr/bin/chromium-browser`
    - `xvfb` is required, please refer 
https://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-xvfb-to-Run-Tests-That-Require-a-GUI
 and 
https://iamakulov.com/notes/install-google-chrome-on-travis/#what-does-the-code-mean
    - for protractor conf, please check 
https://github.com/travis-ci/travis-ci/issues/7650#issuecomment-302467188
    - can't install stable version of chrome, precise (12.04) support was 
dropped by chrome
    - chromium-browser (37.0) is shipped by default in precise and chromedriver 
version 2.11 is compatible with it. 
(https://support.saucelabs.com/hc/en-us/articles/225095307-Chromedriver-version-for-each-Chrome-browser-version,
 https://github.com/travis-ci/travis-ci/issues/5899)
    
    
    ### What type of PR is it?
    [Improvement]
    
    ### Todos
    * [x] - `test:watch`
    * [x] - displaying coverage reports in console
    * [x] - e2e testing in zeppelin-web
    
    ### What is the Jira issue?
    
    [ZEPPELIN-2342](https://issues.apache.org/jira/browse/ZEPPELIN-2342)
    
    ### How should this be tested?
    
    CI should be green. If you want to test locally,
    
    - stop zeppelin which is running localhost:8080
    - `mvn package -DskipTests -DskipRat -Pweb-ci -Pweb-e2e -B`
    - `mvn verify -DskipRat -pl 'zeppelin-web' -Pweb-ci -Pweb-e2e -B`
    
    
    #### Screenshots (coverage)
    
    
![image](https://user-images.githubusercontent.com/4968473/28031333-dc700c3a-65e1-11e7-96ca-582a9ffa97dd.png)
    
    #### Screenshots (e2e)
    
    
![image](https://user-images.githubusercontent.com/4968473/28032319-0e8b5adc-65e5-11e7-81ba-4e33c5f15bc0.png)
    
    ### Questions:
    * Does the licenses files need update? - NO
    * Is there breaking changes for older versions? - NO
    * Does this needs documentation? - YES, updated


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

    $ git pull https://github.com/1ambda/zeppelin 
ZEPPELIN-2342/differentiate-unit-and-integration-testing

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

    https://github.com/apache/zeppelin/pull/2477.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 #2477
    
----
commit e70281bad21ea1d66b21acd6b5e33c84bfcf720f
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T06:38:49Z

    feat: Use spec repoter and coverage

commit 39dc77e4f3b9aab90c101e29a02cecf9a5696c11
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T07:03:29Z

    chore: Add test:watch command

commit 15473de6b59f8941562f1b6ae10f4c8b13dbaad2
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T08:29:23Z

    test: Add a basic e2e test for home

commit 76f4f584f4624a63edd5ec4fae09e5d44332bd41
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T08:33:20Z

    docs: Update test section in zeppelin-web/README.md

commit b5a17a4baf112e89c747d4b18fbff33f6d4a6551
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T09:26:50Z

    chore: Bind browser e2e test into CI process

commit 742bb961a2691e35084120ceca28639a13671a2f
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T09:40:37Z

    chore: Exclude e2e specs from RAT

commit eb447ef8ef199b72c0a613ecfaef60f55062a48c
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T10:20:44Z

    WIP: add -X log to selenium profioe

commit 2ed397331007e1c4863d983519a30afab958fbc8
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T11:18:03Z

    fix: set gecko false for webdriver manager. See 
https://github.com/angular/webdriver-manager/issues/216

commit 0907d7286dedd83df6afb5bfc11a57b682479c7f
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T11:18:16Z

    chore: Ingnore protractor conf in RAT

commit 0c09727e95fd1216d6113b53865171466a776852
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T12:04:17Z

    fix: Remove -X option from selenium profile

commit ca2b17034cddbc398dfac7eff0474ba6d5423f8a
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T13:07:52Z

    WIP: add -e mvn option to the second profile

commit 0c2c1ecbfb4a4c304788177e7e52b95ed8c84757
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T13:20:07Z

    chore: Add web-e2e profile to mvn

commit 7703615bc41c3be40d1d9f3315c59a9e072f0760
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T14:01:21Z

    WIP: Add -X to the second travis profile

commit 40ac076ebc78f206cdaf11fe61c5fde220dbc59a
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T16:28:54Z

    chore: New profile for e2e test only

commit f90deb4bf3db57e36232c9c94ae3b07dfd7c2331
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T16:53:11Z

    chore: Move web e2e into zeppelin-web

commit 26ef708750cf1beadd2722d6e5b2b1666820a963
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T17:40:59Z

    fix: use prebuilt phantom

commit 4ef0a2c2ac1bdaef9a61932d487435308d5a6db8
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T17:41:39Z

    chore: Remove useless mvn setting

commit 9f13d611fef8f2a23e4938e6e4d293211a30b2b3
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T18:06:52Z

    chore: Use usual test build command

commit 6907c50dc90c60ecc203b140e3b09801f442d0ce
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-10T18:12:42Z

    chore: Ingmore except web in test build

commit b6d730fc8c8e3ae888be31a32f560bbcab79b71b
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T01:39:08Z

    fix: echo commandsin travis.yml

commit e354b1b1151b352758bd8add95e79d362590712a
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T01:44:53Z

    chore: DO NOT rebuild web when e2e enabled

commit 5189807b933ea8d41bf24eea4726d92fa38a8883
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T01:48:58Z

    chore: Add TEST_MODULES in travis.yml

commit 35b6fb1672921d6f6bedfa2eb3d90362bfc2011d
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T02:06:52Z

    WIP: Remove -X option to second  job

commit f94a665f1104d58910f96a2ba3f6e7f4f5d9f32e
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T02:21:45Z

    fix: Modify timeout for protractor

commit d5e62e760b7cb2996030f349a0a7eb2942764553
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T03:48:42Z

    fix: Set chrome driver version 
https://github.com/angular/angular-cli/issues/2176\#issuecomment-253496181

commit 7c69f7a181128b6f911eb76fde58c5e159f6cff1
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T03:53:36Z

    fix: Set chromeOnly for protractor

commit eb9f0e8df8569613627c8c07192ccd03bddd4c6e
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T04:39:55Z

    fix: Set direct connect false

commit 7d53d51f29a5a24774c77e81b964aed04ffcfc73
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T04:40:39Z

    fix Remove chrome option

commit dd115c3933a8349aab05028aad8eae80c78f7395
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T04:41:30Z

    fix: use direct connect

commit 1f345aea1f95152e1c375181cd49a2f8414395b1
Author: 1ambda <1am...@gmail.com>
Date:   2017-07-11T04:41:45Z

    fix: use headless

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to