This is an automated email from the ASF dual-hosted git repository.

zihaoxiang pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 23d6437d3b [Chore] Fix flaky e2e test (#16246)
23d6437d3b is described below

commit 23d6437d3b585f19e2a24e84f8e79dc6c58049ec
Author: xiangzihao <[email protected]>
AuthorDate: Mon Jul 1 22:43:35 2024 +0800

    [Chore] Fix flaky e2e test (#16246)
    
    * fix flaky e2e test
---
 .github/workflows/e2e.yml                          | 48 ++--------------------
 .../e2e/pages/datasource/DataSourcePage.java       | 13 +++---
 2 files changed, 10 insertions(+), 51 deletions(-)

diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index 24ebdb5047..6246416c36 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -128,6 +128,10 @@ jobs:
             class: org.apache.dolphinscheduler.e2e.cases.tasks.ShellTaskE2ETest
           - name: PythonTaskE2ETest
             class: 
org.apache.dolphinscheduler.e2e.cases.tasks.PythonTaskE2ETest
+          - name: SqlServerDataSource
+            class: 
org.apache.dolphinscheduler.e2e.cases.SqlServerDataSourceE2ETest
+          - name: HiveDataSource
+            class: org.apache.dolphinscheduler.e2e.cases.HiveDataSourceE2ETest
     env:
       RECORDING_PATH: /tmp/recording-${{ matrix.case.name }}
     steps:
@@ -169,50 +173,6 @@ jobs:
           name: recording-${{ matrix.case.name }}
           path: ${{ env.RECORDING_PATH }}
           retention-days: 1
-  e2e-optional:
-    name: ${{ matrix.case.name }}
-    needs: build
-    runs-on: ubuntu-latest
-    timeout-minutes: 30
-    strategy:
-      matrix:
-        case:
-          - name: SqlServerDataSource
-            class: 
org.apache.dolphinscheduler.e2e.cases.SqlServerDataSourceE2ETest
-          - name: HiveDataSource
-            class: org.apache.dolphinscheduler.e2e.cases.HiveDataSourceE2ETest
-    env:
-      RECORDING_PATH: /tmp/recording-${{ matrix.case.name }}
-    steps:
-      - uses: actions/checkout@v4
-        with:
-          submodules: true
-      - name: Cache local Maven repository
-        uses: actions/cache@v3
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-e2e
-          restore-keys: ${{ runner.os }}-maven-
-      - uses: actions/download-artifact@v4
-        name: Download Docker Images
-        with:
-          name: standalone-image
-          path: /tmp
-      - name: Load Docker Images
-        run: |
-          docker load -i /tmp/standalone-image.tar
-      - name: Run Test
-        run: |
-          ./mvnw -B -f dolphinscheduler-e2e/pom.xml -am \
-            -DfailIfNoTests=false \
-            -Dtest=${{ matrix.case.class }} test
-      - uses: actions/upload-artifact@v4
-        if: always()
-        name: Upload Recording
-        with:
-          name: recording-${{ matrix.case.name }}
-          path: ${{ env.RECORDING_PATH }}
-          retention-days: 1
   result:
     name: E2E
     runs-on: ubuntu-latest
diff --git 
a/dolphinscheduler-e2e/dolphinscheduler-e2e-case/src/test/java/org/apache/dolphinscheduler/e2e/pages/datasource/DataSourcePage.java
 
b/dolphinscheduler-e2e/dolphinscheduler-e2e-case/src/test/java/org/apache/dolphinscheduler/e2e/pages/datasource/DataSourcePage.java
index ae1170eb62..16613e25b3 100644
--- 
a/dolphinscheduler-e2e/dolphinscheduler-e2e-case/src/test/java/org/apache/dolphinscheduler/e2e/pages/datasource/DataSourcePage.java
+++ 
b/dolphinscheduler-e2e/dolphinscheduler-e2e-case/src/test/java/org/apache/dolphinscheduler/e2e/pages/datasource/DataSourcePage.java
@@ -52,9 +52,7 @@ public class DataSourcePage extends NavBarPage implements 
NavBarPage.NavBarItem
     })
     private WebElement buttonConfirm;
 
-    @FindBys({
-            @FindBy(className = "dialog-source-modal"),
-    })
+    @FindBy(className = "dialog-source-modal")
     private WebElement dataSourceModal;
 
     private final CreateDataSourceForm createDataSourceForm;
@@ -70,10 +68,11 @@ public class DataSourcePage extends NavBarPage implements 
NavBarPage.NavBarItem
                                            String jdbcParams) {
         buttonCreateDataSource().click();
 
-        
WebDriverWaitFactory.createWebDriverWait(driver).until(ExpectedConditions.visibilityOfElementLocated(
-                new By.ByClassName("dialog-source-modal")));
-
-        
dataSourceModal().findElement(By.className(dataSourceType.toUpperCase() + 
"-box")).click();
+        
WebDriverWaitFactory.createWebDriverWait(driver).until(ExpectedConditions.visibilityOf(dataSourceModal));
+        WebElement dataSourceTypeButton = 
By.className(dataSourceType.toUpperCase() + "-box").findElement(driver);
+        WebDriverWaitFactory.createWebDriverWait(driver)
+                
.until(ExpectedConditions.elementToBeClickable(dataSourceTypeButton));
+        dataSourceTypeButton.click();
 
         
WebDriverWaitFactory.createWebDriverWait(driver).until(ExpectedConditions.textToBePresentInElement(
                 driver.findElement(By.className("dialog-create-data-source")), 
dataSourceType.toUpperCase()));

Reply via email to