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()));