sarutak commented on a change in pull request #29827:
URL: https://github.com/apache/spark/pull/29827#discussion_r494703217



##########
File path: .github/workflows/build_and_test.yml
##########
@@ -273,6 +273,44 @@ jobs:
         cd docs
         jekyll build
 
+  webui-tests-with-chrome:
+    name: WebUI tests with chrome
+    runs-on: ubuntu-latest
+    steps:
+    - name: Checkout Spark repository
+      uses: actions/checkout@v2
+    - name: Cache Maven local repository
+      uses: actions/cache@v2
+      with:
+        path: ~/.m2/repository
+        key: webui-tests-with-chrome-maven-${{ hashFiles('**/pom.xml') }}
+        restore-keys: |
+          webui-tests-with-chrome-maven-
+    - name: Install Java 11
+      uses: actions/setup-java@v1
+      with:
+        java-version: 11
+    - name: Install Chrome and ChromeDriver
+      run: |
+        sudo apt update
+        sudo apt install google-chrome-stable
+        sudo apt install chromium-chromedriver
+    - name: Run WebUI tests with Maven
+      run: |
+        export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=1g 
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN"
+        export MAVEN_CLI_OPTS="--no-transfer-progress"
+        mkdir -p ~/.m2
+        ./build/mvn -Dspark.test.webdriver.chrome.driver=/usr/bin/chromedriver 
\
+          -Dguava.version=25.0-jre -Djava.version=11 
-Dtest.default.exclude.tags=  -Dtest=none \

Review comment:
       It can be one option but I'm wondering if we can make much better 
coverage for UI tests somehow.
   I often see that UI tests are done by "manual" especially when the change is 
related to JavaScript.
   `UISeleniumSuite`, `HistoryServerSuite` and other similar suites are enough 
for the static part of the UI like but not enough for the dynamic part which 
dynamically changes DOM or CSS by JavaScript.
   Those existing suites use `HtmlUnitDriver` but its JavaScript support is not 
enough.
   So I think it's better if we can run test with real browsers in the CI.
   `ChromeDriver` is similar to `HtmlUnitDriver` but it uses the real Chrome so 
we can test JavaScript related stuffs.
   `ChromeUISeleniumSute` and `ChromeUIHistoryServerSuite` use `ChromeDriver` 
rather than `HtmlUnitDriver` and all tests in the suites are what need 
JavaScript support so I think they cover new ground.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to