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

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


The following commit(s) were added to refs/heads/dev by this push:
     new eade9db  [test-2995][e2e]Optimize waiting time  (#3571)
eade9db is described below

commit eade9db22f31e562f18663bb02137cb8df61d607
Author: xingchun-chen <[email protected]>
AuthorDate: Mon Aug 24 17:16:20 2020 +0800

    [test-2995][e2e]Optimize waiting time  (#3571)
    
    * Add task connection 
    
    * Optimize test cases
     
    
    * Modify variable format
     
     
    
    * Optimize test cases
     
    
    * Update BrowserCommon.java
    
    * Update BrowserCommon.java
    
    * Update WorkflowDefineLocator.java
    
    * Optimize waiting time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    * Optimize project wait time
     
    
    * Optimize wait time
     
    
    * Optimize wait time
     
    
    Co-authored-by: chenxingchun <[email protected]>
---
 .../dolphinscheduler/data/project/ProjectData.java |  3 ++
 .../data/project/WorkflowDefineData.java           | 12 ++++++++
 .../data/security/AlertManageData.java             | 14 ++++-----
 .../data/security/QueueManageData.java             |  6 ++--
 .../data/security/TokenManageData.java             |  4 +++
 .../data/security/UserManageData.java              |  3 ++
 .../locator/project/ProcessInstanceLocator.java    |  3 ++
 .../locator/project/ProjectLocator.java            |  3 ++
 .../locator/project/WorkflowDefineLocator.java     | 15 +++++-----
 .../locator/security/AlertManageLocator.java       |  3 +-
 .../locator/security/QueueManageLocator.java       |  2 ++
 .../locator/security/TenantManageLocator.java      |  2 ++
 .../locator/security/TokenManageLocator.java       |  4 +++
 .../locator/security/UserManageLocator.java        |  6 ++--
 .../page/project/ProcessInstancePage.java          |  1 +
 .../dolphinscheduler/page/project/ProjectPage.java |  5 ++--
 .../page/project/RunWorkflowPage.java              |  8 +++--
 .../page/project/WorkflowDefinePage.java           | 21 +++++++++----
 .../page/security/AlertManagePage.java             | 17 ++++++-----
 .../page/security/QueueManagePage.java             | 23 +++++++-------
 .../page/security/TenantManagePage.java            |  6 ++--
 .../page/security/TokenManagePage.java             | 35 +++++++++++-----------
 .../page/security/UserManagePage.java              | 16 ++++++----
 .../testcase/testSecurity/TestTokenManage.java     |  2 +-
 .../testcase/testSecurity/TestUserManage.java      |  2 +-
 e2e/testng.xml                                     | 30 +++++++++----------
 26 files changed, 152 insertions(+), 94 deletions(-)

diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProjectData.java 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProjectData.java
index fce247a..036a677 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProjectData.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProjectData.java
@@ -17,6 +17,9 @@
 package org.apache.dolphinscheduler.data.project;
 
 public class ProjectData {
+
+    public static final String CREATE_PROJECT_BUTTON = "创建项目";
+
     // create project name
     public static final String PROJECT_NAME = "selenium_project_1";
     // create project description
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/project/WorkflowDefineData.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/project/WorkflowDefineData.java
index 0b3645f..c9eb32e 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/project/WorkflowDefineData.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/project/WorkflowDefineData.java
@@ -20,6 +20,9 @@ public class WorkflowDefineData {
     /**
      * create workflow data
      */
+
+    public static final String workflow_define = "工作流定义";
+
     //input shell task name
     public static final String SHELL_TASK_NAME = "shell_task_selenium_1";
 
@@ -74,4 +77,13 @@ public class WorkflowDefineData {
 
     //input to add workflow  global parameters value
     public static final String INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS_VALUES = 
"selenium_global_parameters_value_2";
+
+    /**
+     * workflowDefine list
+     */
+    public static final String WORKFLOW_ONLINE_STATE = "上线";
+
+    public static final String WORKFLOW_OFFLINE_STATE = "下线";
+
+
 }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/security/AlertManageData.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/security/AlertManageData.java
index aa47016..ae996a2 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/security/AlertManageData.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/security/AlertManageData.java
@@ -17,18 +17,14 @@
 package org.apache.dolphinscheduler.data.security;
 
 public class AlertManageData {
-    /**
-     * Alert Name
-     */
+    //Alert Name
     public static final String ALERT_NAME = "selenium_alert_Name";
-    /**
-     * Alert Type
-     */
+    public static final String CREATE_ALERT =  "创建告警组";
+
+    // Alert Type
     public static final String ALERT_TYPE = "邮件";
 
-    /**
-     * Alert Description
-     */
+    //Alert Description
     public static final String DESCRIPTION = "create alert test";
 
     public static final String ALERT_MANAGE = "告警组管理 - DolphinScheduler";
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/security/QueueManageData.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/security/QueueManageData.java
index 9fa9568..46f0d83 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/security/QueueManageData.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/security/QueueManageData.java
@@ -22,6 +22,8 @@ public class QueueManageData {
      */
     public static final String QUEUE_NAME = "selenium_queue_name";
 
+    public static final String CREATE_QUEUE = "创建队列";
+
     /**
      * Create Queue Value
      */
@@ -30,12 +32,12 @@ public class QueueManageData {
     /**
      * Edit Queue Name
      */
-    public static final String EDIT_QUEUE_NAME = "_edit";
+    public static final String EDIT_QUEUE_NAME = "selenium_queue_value_edit";
 
     /**
      * Edit Queue Value
      */
-    public static final String EDIT_QUEUE_VALUE = "_edit";
+    public static final String EDIT_QUEUE_VALUE = "selenium_queue_value_edit";
 
     public static final String QUEUE_MANAGE = "队列管理 - DolphinScheduler";
 
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/security/TokenManageData.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/security/TokenManageData.java
index 6b6370f..9dd625e 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/security/TokenManageData.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/security/TokenManageData.java
@@ -18,7 +18,11 @@ package org.apache.dolphinscheduler.data.security;
 
 public class TokenManageData {
     public static final String TOKEN_MANAGE = "令牌管理 - DolphinScheduler";
+    public static final String CREATE_TOKEN = "创建令牌";
+
     public static final String DATE = "2038-06-10 00:00:00";
+    public static final String NAME = "admin";
+
 
 
 }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/security/UserManageData.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/security/UserManageData.java
index 10dcd45..ee7fc60 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/data/security/UserManageData.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/data/security/UserManageData.java
@@ -31,6 +31,9 @@ public class UserManageData  {
 
     public static final String USER_MANAGE = "用户管理 - DolphinScheduler";
 
+    public static final String CREATE_USER_BUTTON = "创建用户";
+
+
     /**
      * edit user
      */
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProcessInstanceLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProcessInstanceLocator.java
index 445ea3e..c881c27 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProcessInstanceLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProcessInstanceLocator.java
@@ -20,6 +20,9 @@ import org.openqa.selenium.By;
 
 public class ProcessInstanceLocator {
     // jump Process Instance page
+    // process instance state is success
+    public static final By PROCESS_INSTANCE_SUCCESS_STATE = 
By.xpath("//table/tr[2]/td[4]/span/em[@title['data-original-title']='成功']");
+
     //click Process Instance name
     public static final By CLICK_PROCESS_INSTANCE_NAME = 
By.xpath("//div[4]/div/ul/li[2]");
 
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProjectLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProjectLocator.java
index 8b26e67..94af3ac 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProjectLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProjectLocator.java
@@ -34,6 +34,9 @@ public class ProjectLocator {
     //submit button
     public static final By SUBMIT_BUTTON = By.xpath("//div[3]/button[2]/span");
 
+    // project name
+    public static final By LIST_PROJECT_NAME = 
By.xpath("//table/tr[2]/td[2]/span/a");
+
     //delete project button
     public static final By DELETE_PROJECT_BUTTON = 
By.xpath("//div[3]/div[1]/div/table/tr[2]/td[9]/span/button");
 
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/WorkflowDefineLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/WorkflowDefineLocator.java
index a70b22e..01fdb39 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/WorkflowDefineLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/project/WorkflowDefineLocator.java
@@ -49,10 +49,10 @@ public class WorkflowDefineLocator {
     public static final By INPUT_SHELL_TASK_NAME = By.xpath("//input");
 
     //click stop run type
-    public static final By CLICK_STOP_RUN_TYPE = 
By.xpath("//label[2]/span/input");
+    public static final By CLICK_STOP_RUN_TYPE = 
By.xpath("//label[2]/span[1]/input");
 
     //click normal run type
-    public static final By CLICK_NORMAL_RUN_TYPE = By.xpath("//span/input");
+    public static final By CLICK_NORMAL_RUN_TYPE = 
By.xpath("//label[1]/span[1]/input");
 
     //input shell task description
     public static final By INPUT_SHELL_TASK_DESCRIPTION = 
By.xpath("//label/div/textarea");
@@ -182,23 +182,24 @@ public class WorkflowDefineLocator {
     /**
      * online workflow
      */
+    public static final By WORKFLOW_STATE = 
By.xpath("//table/tr[2]/td[4]/span");
+
+
     // click online workflow button
-    public static final By CLICK_ONLINE_WORKFLOW_BUTTON = 
By.xpath("//div[1]/div/table/tr[2]/td[10]/button[4]");
+    public static final By CLICK_ONLINE_WORKFLOW_BUTTON = 
By.xpath("//button[@title['data-original-title']='上线']");
 
     /**
      * offline workflow
      */
     // click offline workflow button
-    public static final By CLICK_OFFLINE_WORKFLOW_BUTTON = 
By.xpath("//div[1]/div/table/tr[2]/td[10]/button[4]");
-
+    public static final By CLICK_OFFLINE_WORKFLOW_BUTTON = 
By.xpath("//button[@title['data-original-title']='下线']");
 
     /**
      * delete workflow
      */
     //click delete workflow button
-    public static final By DELETE_WORKFLOW_BOTTOM = 
By.xpath("//div[3]/div[1]/div/table/tr[2]/td[10]/span/button");
+    public static final By DELETE_WORKFLOW_BOTTOM = 
By.xpath("//table/tr[2]/td[10]/span/button");
 
     //click confirm delete workflow button
     public static final By CONFIRM_DELETE_WORKFLOW_BOTTOM = 
By.xpath("//div[2]/div/button[2]/span");
-    
 }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/AlertManageLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/AlertManageLocator.java
index e4dbe73..82ac473 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/AlertManageLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/AlertManageLocator.java
@@ -28,8 +28,9 @@ public class AlertManageLocator {
     public static final By INPUT_ALERT_DESCRIPTION = By.xpath("//textarea");
     public static final By SUBMIT_ALERT = By.xpath("//div[3]/button[2]/span");
 
+    public static final By ALERT_NAME = By.xpath("//table/tr[2]/td[2]/span");
+
     //delete alert locator
     public static final By DELETE_ALERT_BUTTON = By.xpath("//span/button");
     public static final By CONFIRM_DELETE_ALERT_BUTTON = 
By.xpath("//div[2]/div/button[2]/span");
 }
-
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/QueueManageLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/QueueManageLocator.java
index ee7d399..dd42a91 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/QueueManageLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/QueueManageLocator.java
@@ -26,6 +26,8 @@ public class QueueManageLocator {
     public static final By INPUT_QUEUE_VALUE = 
By.xpath("//div[2]/div[2]/div/input");
     public static final By SUBMIT_QUEUE = By.xpath("//button[2]/span");
 
+    public static final By LIST_QUEUE_NAME = 
By.xpath("//table/tr[2]/td[2]/span");
+
     //edit queue locator
     public static final By CLICK_EDIT_QUEUE = By.xpath("//td[6]/button/i");
 }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
index 7db8836..2f7a5f9 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
@@ -38,4 +38,6 @@ public class TenantManageLocator{
     public static final By DELETE_TENANT_BUTTON = 
By.xpath("//div[3]/div[1]/div/table/tr[2]/td[8]/span/button");
 
     public static final By CONFIRM_DELETE_TENANT_BUTTON = 
By.xpath("//div[2]/div/button[2]/span");
+
+    public static final By TENANT_CODE_FIRST = 
By.xpath("//table/tr[2]/td[2]/span");
 }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TokenManageLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TokenManageLocator.java
index 0626ed8..d935dd5 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TokenManageLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TokenManageLocator.java
@@ -30,7 +30,11 @@ public class TokenManageLocator {
 
     public static final By CLICK_SUBMIT_BUTTON = 
By.xpath("//div[3]/button[2]/span");
 
+    public static final By EDIT_TOKEN_BUTTON = 
By.xpath("//table/tr[2]/td[7]/button");
+
     //edit token
+    public static final By TOKEN = By.xpath("//table/tr[2]/td[1]/span");
+
     public static final By CLICK_EDIT_BUTTON = 
By.xpath("//div[3]/div[1]/div/table/tr[2]/td[7]/button/i");
 
     //delete token
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/UserManageLocator.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/UserManageLocator.java
index ef2ec90..ecfd285 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/UserManageLocator.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/UserManageLocator.java
@@ -52,13 +52,15 @@ public class UserManageLocator {
     /**
      * edit user
      */
+    public static final By USER_NAME = By.xpath("//table/tr[2]/td[2]/span");
+
     public static final By EDIT_GENERAL_USER_BUTTON = 
By.xpath("//div[3]/div[1]/div/table/tr[2]/td[11]/button");
 
     public static final By EDIT_ADMIN_USER_BUTTON = 
By.xpath("//div[3]/div[1]/div/table/tr[3]/td[11]/button");
     /**
      * delete user
      */
-    public static final By DELETE_USER_BUTTON = 
By.xpath("//div[3]/div[1]/div/table/tr[2]/td[11]/span[2]/button");
+    public static final By DELETE_USER_BUTTON = 
By.xpath("//table/tr[3]/td[11]/span[2]/button");
 
-    public static final By CONFIRM_DELETE_USER_BUTTON = 
By.xpath("//div[2]/div/button[2]/span");
+    public static final By CONFIRM_DELETE_USER_BUTTON = 
By.xpath("//tr[3]/td[11]/span[2]/div/div[2]/div/button[2]/span");
 }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProcessInstancePage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProcessInstancePage.java
index 4d1a1c2..8c251af 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProcessInstancePage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProcessInstancePage.java
@@ -34,6 +34,7 @@ public class ProcessInstancePage extends PageCommon {
     public boolean rerunWorkflowPage() throws InterruptedException {
         Thread.sleep(2000);
         clickTopElement(ProcessInstanceLocator.CLICK_PROCESS_INSTANCE_NAME);
+        locateElement(ProcessInstanceLocator.PROCESS_INSTANCE_SUCCESS_STATE);
         clickTopElement(ProcessInstanceLocator.CLICK_RERUN_BUTTON);
         return ifTitleContains(ProcessInstanceData.PROCESS_INSTANCE_TITLE);
     }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProjectPage.java 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProjectPage.java
index 5c591d0..6a93094 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProjectPage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProjectPage.java
@@ -32,7 +32,6 @@ public class ProjectPage extends PageCommon {
      */
     public boolean jumpProjectManagePage() throws InterruptedException {
         clickTopElement(ProjectLocator.PROJECT_MANAGE);
-        Thread.sleep(TestConstant.ONE_THOUSAND);
         return ifTitleContains(ProjectData.PROJECT_TITLE);
     }
 
@@ -42,7 +41,7 @@ public class ProjectPage extends PageCommon {
      * @return Whether to enter the specified page after create project
      */
     public boolean createProject() throws InterruptedException {
-        Thread.sleep(500);
+        
ifTextExists(ProjectLocator.CREATE_PROJECT_BUTTON,ProjectData.CREATE_PROJECT_BUTTON);
         clickElement(ProjectLocator.CREATE_PROJECT_BUTTON);
 
         // input create project data
@@ -53,7 +52,7 @@ public class ProjectPage extends PageCommon {
         clickButton(ProjectLocator.SUBMIT_BUTTON);
 
         // Whether to enter the specified page after submit
-        return ifTitleContains(ProjectData.PROJECT_TITLE);
+        return 
ifTextExists(ProjectLocator.LIST_PROJECT_NAME,ProjectData.PROJECT_NAME);
     }
 
     /**
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/project/RunWorkflowPage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/project/RunWorkflowPage.java
index 9f14dde..921e593 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/project/RunWorkflowPage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/project/RunWorkflowPage.java
@@ -18,7 +18,9 @@ package org.apache.dolphinscheduler.page.project;
 
 import org.apache.dolphinscheduler.common.PageCommon;
 import org.apache.dolphinscheduler.data.project.RunWorkflowData;
+import org.apache.dolphinscheduler.data.project.WorkflowDefineData;
 import org.apache.dolphinscheduler.locator.project.RunWorkflowLocator;
+import org.apache.dolphinscheduler.locator.project.WorkflowDefineLocator;
 import org.openqa.selenium.WebDriver;
 
 public class RunWorkflowPage extends PageCommon {
@@ -27,17 +29,17 @@ public class RunWorkflowPage extends PageCommon {
     }
 
     public boolean runWorkflow() throws InterruptedException {
+        // Determine whether the workflow status is online
+        ifTextExists(WorkflowDefineLocator.WORKFLOW_STATE, 
WorkflowDefineData.WORKFLOW_ONLINE_STATE);
+
         // click run workflow button
         System.out.println("Click run workflow button");
-        Thread.sleep(1000);
         clickButton(RunWorkflowLocator.CLICK_RUN_WORKFLOW_BUTTON);
-        Thread.sleep(1000);
 
         clickElement(RunWorkflowLocator.SELECT_FAILURE_STRATEGY_END);
         clickElement(RunWorkflowLocator.SELECT_FAILURE_STRATEGY_CONTINUE);
         clickElement(RunWorkflowLocator.CLICK_NOTICE_STRATEGY);
         clickElement(RunWorkflowLocator.SELECT_NOTICE_STRATEGY);
-        Thread.sleep(500);
         clickElement(RunWorkflowLocator.CLICK_PROCESS_PRIORITY);
         clickElement(RunWorkflowLocator.SELECT_PROCESS_PRIORITY_HIGHEST);
         clickElement(RunWorkflowLocator.CLICK_WORKER_GROUP);
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/project/WorkflowDefinePage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/project/WorkflowDefinePage.java
index 8344256..8826222 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/project/WorkflowDefinePage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/project/WorkflowDefinePage.java
@@ -18,7 +18,9 @@ package org.apache.dolphinscheduler.page.project;
 
 import org.apache.dolphinscheduler.common.PageCommon;
 import org.apache.dolphinscheduler.constant.TestConstant;
+import org.apache.dolphinscheduler.data.project.ProjectData;
 import org.apache.dolphinscheduler.data.project.WorkflowDefineData;
+import org.apache.dolphinscheduler.locator.project.ProjectLocator;
 import org.apache.dolphinscheduler.locator.project.WorkflowDefineLocator;
 import org.openqa.selenium.WebDriver;
 
@@ -32,9 +34,12 @@ public class WorkflowDefinePage extends PageCommon {
      */
 
     public boolean jumpWorkflowPage() throws InterruptedException {
+        ifTextExists(ProjectLocator.LIST_PROJECT_NAME, 
ProjectData.PROJECT_NAME);
+
         // click project name
         clickElement(WorkflowDefineLocator.CLICK_PROJECT_NAME);
-        Thread.sleep(TestConstant.ONE_THOUSAND);
+
+        
ifTextExists(WorkflowDefineLocator.CLICK_WORKFLOW_DEFINE,WorkflowDefineData.workflow_define);
 
         System.out.println("Click on workflow define to jump to workflow 
define page");
         // click workflow define
@@ -126,7 +131,6 @@ public class WorkflowDefinePage extends PageCommon {
 
         //click submit button
         clickElement(WorkflowDefineLocator.CLICK_SUBMIT_BUTTON);
-        Thread.sleep(TestConstant.ONE_THOUSAND);
         System.out.println("Task node set up successfully");
         System.out.println("move to Dag Element ");
         
moveToDragElement(WorkflowDefineLocator.MOUSE_MOVE_SHELL_AT_DAG,-300,-100);
@@ -185,7 +189,6 @@ public class WorkflowDefinePage extends PageCommon {
 
         //delete workflow  global parameters value
         
clickElement(WorkflowDefineLocator.CLICK_DELETE_WORKFLOW_GLOBAL_PARAMETERS);
-        Thread.sleep(TestConstant.ONE_THOUSAND);
 
         //click add button
         System.out.println("submit workflow");
@@ -197,6 +200,9 @@ public class WorkflowDefinePage extends PageCommon {
     public boolean onlineWorkflow() throws InterruptedException {
         clickElement(WorkflowDefineLocator.CLICK_WORKFLOW_DEFINE);
 
+        // Determine whether the workflow status is offline
+        
ifTextExists(WorkflowDefineLocator.WORKFLOW_STATE,WorkflowDefineData.WORKFLOW_OFFLINE_STATE);
+
         // click online button
         System.out.println("Click online workflow button");
         clickButton(WorkflowDefineLocator.CLICK_ONLINE_WORKFLOW_BUTTON);
@@ -207,9 +213,11 @@ public class WorkflowDefinePage extends PageCommon {
     public boolean offlineWorkflow() throws InterruptedException {
         clickElement(WorkflowDefineLocator.CLICK_WORKFLOW_DEFINE);
 
+        // Determine whether the workflow status is online
+        
ifTextExists(WorkflowDefineLocator.WORKFLOW_STATE,WorkflowDefineData.WORKFLOW_ONLINE_STATE);
+
         // click offline button
         System.out.println("offline workflow");
-        Thread.sleep(500);
         clickButton(WorkflowDefineLocator.CLICK_OFFLINE_WORKFLOW_BUTTON);
 
         return ifTitleContains(WorkflowDefineData.WORKFLOW_TITLE);
@@ -218,8 +226,11 @@ public class WorkflowDefinePage extends PageCommon {
 
     public boolean deleteWorkflow() throws InterruptedException {
         //click  delete workflow
-        Thread.sleep(500);
         clickElement(WorkflowDefineLocator.CLICK_WORKFLOW_DEFINE);
+
+        // Determine whether the workflow status is offline
+        
ifTextExists(WorkflowDefineLocator.WORKFLOW_STATE,WorkflowDefineData.WORKFLOW_OFFLINE_STATE);
+
         clickButton(WorkflowDefineLocator.DELETE_WORKFLOW_BOTTOM);
 
         //click confirm delete project
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java
index 4ea64df..541251e 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java
@@ -31,22 +31,21 @@ public class AlertManagePage extends PageCommon {
     }
 
     /**
-     * createTenant
+     * create alert
      *
      * @return Whether to enter the specified page after create tenant
      */
     public boolean createAlert() throws InterruptedException {
         // click  alert manage
-        Thread.sleep(500);
         System.out.println("start click alert manage button");
         clickElement(AlertManageLocator.CLICK_ALERT_MANAGE);
-        Thread.sleep(500);
+
+        //determine whether the create alert button exists
+        
ifTextExists(AlertManageLocator.CLICK_CREATE_ALERT,AlertManageData.CREATE_ALERT);
 
         // click  create alert button
         System.out.println("start click create alert  button");
         clickElement(AlertManageLocator.CLICK_CREATE_ALERT);
-        Thread.sleep(500);
-
         // input alert data
         System.out.println("start input  alert ");
         sendInput(AlertManageLocator.INPUT_ALERT_NAME, 
AlertManageData.ALERT_NAME);
@@ -61,15 +60,17 @@ public class AlertManagePage extends PageCommon {
         clickButton(AlertManageLocator.SUBMIT_ALERT);
 
         // Whether to enter the specified page after submit
-        return ifTitleContains(AlertManageData.ALERT_MANAGE);
+        return ifTextExists(AlertManageLocator.ALERT_NAME, 
AlertManageData.ALERT_NAME);
     }
 
     public boolean deleteAlert() throws InterruptedException {
 
-        // click  user manage
+        // click  alert manage
         clickElement(AlertManageLocator.CLICK_ALERT_MANAGE);
 
-        // click  delete user button
+        ifTextExists(AlertManageLocator.ALERT_NAME, 
AlertManageData.ALERT_NAME);
+
+        // click  delete alert button
         clickButton(AlertManageLocator.DELETE_ALERT_BUTTON);
 
         // click confirm delete button
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java
index 95165ae..368202e 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java
@@ -37,15 +37,15 @@ public class QueueManagePage extends PageCommon {
      */
     public boolean createQueue() throws InterruptedException {
         // click queue manage
-        Thread.sleep(500);
         System.out.println("start click queue manage button");
         clickElement(QueueManageLocator.CLICK_QUEUE_MANAGE);
-        Thread.sleep(500);
+
+        //determine whether the create queue button exists
+        
ifTextExists(QueueManageLocator.CLICK_CREATE_QUEUE,QueueManageData.CREATE_QUEUE);
 
         // click  create queue button
         System.out.println("start click create queue  button");
-        clickElement(QueueManageLocator.CLICK_CREATE_QUEUE);
-        Thread.sleep(500);
+        clickButton(QueueManageLocator.CLICK_CREATE_QUEUE);
 
         // input queue data
         System.out.println("start input queue");
@@ -57,7 +57,7 @@ public class QueueManagePage extends PageCommon {
         clickButton(QueueManageLocator.SUBMIT_QUEUE);
 
         // Whether to enter the specified page after submit
-        return ifTitleContains(QueueManageData.QUEUE_MANAGE);
+        return ifTextExists(QueueManageLocator.LIST_QUEUE_NAME, 
QueueManageData.QUEUE_NAME);
     }
 
 
@@ -68,22 +68,21 @@ public class QueueManagePage extends PageCommon {
      */
     public boolean editQueue() throws InterruptedException {
         // click queue manage
-        Thread.sleep(1000);
         clickElement(QueueManageLocator.CLICK_QUEUE_MANAGE);
-        Thread.sleep(1000);
+
+        ifTextExists(QueueManageLocator.LIST_QUEUE_NAME, 
QueueManageData.QUEUE_NAME);
 
         // click  edit queue button
-        clickElement(QueueManageLocator.CLICK_EDIT_QUEUE);
-        Thread.sleep(1000);
+        clickButton(QueueManageLocator.CLICK_EDIT_QUEUE);
 
         // input queue data
-        sendInput(QueueManageLocator.INPUT_QUEUE_NAME, 
QueueManageData.EDIT_QUEUE_NAME);
-        sendInput(QueueManageLocator.INPUT_QUEUE_VALUE, 
QueueManageData.EDIT_QUEUE_VALUE);
+        clearSendInput(QueueManageLocator.INPUT_QUEUE_NAME, 
QueueManageData.EDIT_QUEUE_NAME);
+        clearSendInput(QueueManageLocator.INPUT_QUEUE_VALUE, 
QueueManageData.EDIT_QUEUE_VALUE);
 
         // click  button
         clickButton(QueueManageLocator.SUBMIT_QUEUE);
 
         // Whether to enter the specified page after submit
-        return ifTitleContains(QueueManageData.QUEUE_MANAGE);
+        return ifTextExists(QueueManageLocator.LIST_QUEUE_NAME, 
QueueManageData.EDIT_QUEUE_NAME);
     }
 }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/TenantManagePage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/TenantManagePage.java
index 085bfa9..40d964f 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/TenantManagePage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/TenantManagePage.java
@@ -46,7 +46,7 @@ public class TenantManagePage extends PageCommon {
      * @return Whether to enter the specified page after create tenant
      */
     public boolean createTenant() throws InterruptedException {
-        clickButton(TenantManageLocator.TENANT_MANAGE);
+        clickElement(TenantManageLocator.TENANT_MANAGE);
 
         //create tenant
         clickButton(TenantManageLocator.CREATE_TENANT_BUTTON);
@@ -61,11 +61,11 @@ public class TenantManagePage extends PageCommon {
         clickButton(TenantManageLocator.SUBMIT_BUTTON);
 
         // Whether to enter the specified page after submit
-        return ifTitleContains(TenantManageData.TENANT_MANAGE);
+        return ifTextExists(TenantManageLocator.TENANT_CODE_FIRST, 
TenantManageData.TENANT_CODE);
     }
 
     public boolean deleteTenant() throws InterruptedException {
-        clickButton(TenantManageLocator.TENANT_MANAGE);
+        clickElement(TenantManageLocator.TENANT_MANAGE);
 
         // click delete button
         clickButton(TenantManageLocator.DELETE_TENANT_BUTTON);
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/TokenManagePage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/TokenManagePage.java
index 2f8204a..61fb93c 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/TokenManagePage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/TokenManagePage.java
@@ -27,26 +27,24 @@ public class TokenManagePage extends PageCommon {
     }
 
     /**
-     * createTenant
+     * create token
      *
-     * @return Whether to enter the specified page after creat tenant
+     * @return Whether to enter the specified page after create tenant
      */
     public boolean createToken() throws InterruptedException {
         //create token
-        Thread.sleep(1000);
         clickElement(TokenManageLocator.CLICK_TOKEN_MANAGE);
-        Thread.sleep(1000);
+
+        //determine whether the create token button exists
+        
ifTextExists(TokenManageLocator.CLICK_CREATE_TOKEN,TokenManageData.CREATE_TOKEN);
 
         // click  create token button
         clickButton(TokenManageLocator.CLICK_CREATE_TOKEN);
-        Thread.sleep(1000);
-
-        //selectDate(TokenManageLocator.js, TokenManageLocator.CLICK_TIME, 
TokenManageData.DATE);
 
         clickButton(TokenManageLocator.SELECT_USER);
 
         clickButton(TokenManageLocator.CLICK_GENERATE_TOKEN_BUTTON);
-        Thread.sleep(2500);
+        Thread.sleep(2000);
 
         // click  button
         clickButton(TokenManageLocator.CLICK_SUBMIT_BUTTON);
@@ -55,21 +53,25 @@ public class TokenManagePage extends PageCommon {
         return ifTitleContains(TokenManageData.TOKEN_MANAGE);
     }
 
-
-    //edit token
+    /**
+     * edit token
+     *
+     * @return Whether to enter the specified page after edit tenant
+     */
     public boolean editToken() throws InterruptedException {
-        // click  token manage
-        clickElement(TokenManageLocator.CLICK_TOKEN_MANAGE);
-        Thread.sleep(1000);
+        // edit token
+        ifTextExists(TokenManageLocator.TOKEN, "1");
 
-        // click  create token button
+        // determine the existence of the editing token
+        locateElement(TokenManageLocator.EDIT_TOKEN_BUTTON);
+
+        // click  edit token button
         clickButton(TokenManageLocator.CLICK_EDIT_BUTTON);
-        Thread.sleep(1000);
 
         clickButton(TokenManageLocator.SELECT_USER);
 
         clickButton(TokenManageLocator.CLICK_GENERATE_TOKEN_BUTTON);
-        Thread.sleep(2500);
+        Thread.sleep(2000);
 
         // click  button
         clickButton(TokenManageLocator.CLICK_SUBMIT_BUTTON);
@@ -83,7 +85,6 @@ public class TokenManagePage extends PageCommon {
     public boolean deleteToken() throws InterruptedException {
         // click  token manage
         clickElement(TokenManageLocator.CLICK_TOKEN_MANAGE);
-        Thread.sleep(1000);
 
         clickButton(TokenManageLocator.CLICK_DELETE_BUTTON);
         clickButton(TokenManageLocator.CLICK_CONFIRM_DELETE_BUTTON);
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/UserManagePage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/UserManagePage.java
index 31f0445..367896a 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/page/security/UserManagePage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/page/security/UserManagePage.java
@@ -29,12 +29,15 @@ public class UserManagePage extends PageCommon {
     /**
      * create user
      *
-     * @return Whether to enter the specified page after creat tenant
+     * @return Whether to enter the specified page after create tenant
      */
     public boolean createUser() throws InterruptedException {
         // click  user manage
         clickElement(UserManageLocator.CLICK_USER_MANAGE);
 
+        //determine whether the create user button exists
+        
ifTextExists(UserManageLocator.CLICK_CREATE_USER_BUTTON,UserManageData.CREATE_USER_BUTTON);
+
         // click  create user button
         clickButton(UserManageLocator.CLICK_CREATE_USER_BUTTON);
 
@@ -64,9 +67,11 @@ public class UserManagePage extends PageCommon {
         //edit general user
         // click  user manage
         System.out.println("start edit general user");
-        Thread.sleep(500);
         clickElement(UserManageLocator.CLICK_USER_MANAGE);
 
+        //determine whether the general user exists
+        ifTextExists(UserManageLocator.USER_NAME,UserManageData.USERNAME);
+
         // click  edit user button
         clickButton(UserManageLocator.EDIT_GENERAL_USER_BUTTON );
 
@@ -97,13 +102,15 @@ public class UserManagePage extends PageCommon {
     /**
      * edit admin user
      */
-    public boolean editAdminlUser() throws InterruptedException {
+    public boolean editAdminUser() throws InterruptedException {
         //edit admin user
         // click  user manage
         System.out.println("start edit admin user");
-        Thread.sleep(500);
         clickElement(UserManageLocator.CLICK_USER_MANAGE);
 
+        //determine whether the general user edit success
+        ifTextExists(UserManageLocator.USER_NAME,UserManageData.EDIT_USERNAME);
+
         // click  edit user button
         clickButton(UserManageLocator.EDIT_ADMIN_USER_BUTTON );
 
@@ -115,7 +122,6 @@ public class UserManagePage extends PageCommon {
         // click  button
         clickButton(UserManageLocator.SUBMIT);
         System.out.println("end edit admin user");
-        Thread.sleep(500);
         // Whether to enter the specified page after submit
         return ifTitleContains(UserManageData.USER_MANAGE);
     }
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestTokenManage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestTokenManage.java
index e46cf0d..816ae64 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestTokenManage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestTokenManage.java
@@ -24,7 +24,7 @@ public class TestTokenManage extends BaseTest {
     private TokenManagePage tokenManagePage;
 
     @Test(groups={"functionTests","token"},dependsOnGroups = { "login" 
},description = "TestTokenManage")
-    public void testUserManage() throws InterruptedException {
+    public void testTokenManage() throws InterruptedException {
         tokenManagePage = new TokenManagePage(driver);
         //generate token
         System.out.println("start create token");
diff --git 
a/e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestUserManage.java
 
b/e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestUserManage.java
index e464d7c..2adc4e7 100644
--- 
a/e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestUserManage.java
+++ 
b/e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestUserManage.java
@@ -39,7 +39,7 @@ public class TestUserManage extends BaseTest {
         //edit user
         System.out.println("start edit  user");
         assert userManagePage.editGeneralUser();
-        assert userManagePage.editAdminlUser();
+        assert userManagePage.editAdminUser();
 
         System.out.println("end edit user");
         System.out.println("===================================");
diff --git a/e2e/testng.xml b/e2e/testng.xml
index 7e5dc52..e08c4da 100644
--- a/e2e/testng.xml
+++ b/e2e/testng.xml
@@ -53,20 +53,20 @@
 
             <class 
name="org.apache.dolphinscheduler.testcase.testProject.TestRunWorkflow"></class>
 
-            <!-- <class 
name="org.apache.dolphinscheduler.testcase.testProject.TestTiming">
-                <methods>
-                    <include name="testCreateTiming" />
-                    <include name="testEditTiming" />
-                    <include name="testOnlineTiming" />
-                    <include name="testOfflineTiming" />
-                    <include name="testDeleteTiming" />
-                </methods>
-            </class> -->
-            <class 
name="org.apache.dolphinscheduler.testcase.testProject.TestProcessInstance">
-                <methods>
-                    <include name="testRerun" />
-                </methods>
-            </class>
+            <!--<class 
name="org.apache.dolphinscheduler.testcase.testProject.TestTiming">-->
+                <!--<methods>-->
+                    <!--<include name="testCreateTiming" />-->
+                    <!--<include name="testOnlineTiming" />-->
+                    <!--<include name="testOfflineTiming" />-->
+                    <!--<include name="testEditTiming" />-->
+                    <!--<include name="testDeleteTiming" />-->
+                <!--</methods>-->
+            <!--</class>-->
+            <!--<class 
name="org.apache.dolphinscheduler.testcase.testProject.TestProcessInstance">-->
+                <!--<methods>-->
+                    <!--<include name="testRerun" />-->
+                <!--</methods>-->
+            <!--</class>-->
 
             <class 
name="org.apache.dolphinscheduler.testcase.testDeleteData.TestDeleteWorkflow">
                 <methods>
@@ -78,7 +78,7 @@
             <class 
name="org.apache.dolphinscheduler.testcase.testDeleteData.TestDeleteProject"></class>
             <class 
name="org.apache.dolphinscheduler.testcase.testDeleteData.TestDeleteAlert"></class>
             <class 
name="org.apache.dolphinscheduler.testcase.testDeleteData.TestDeleteToken"></class>
-<!--            <class 
name="org.apache.dolphinscheduler.testcase.testDeleteData.TestDeleteUser"></class>-->
+            <class 
name="org.apache.dolphinscheduler.testcase.testDeleteData.TestDeleteUser"></class>
             <class 
name="org.apache.dolphinscheduler.testcase.testDeleteData.TestDeleteTenant"></class>
         </classes>
     </test>

Reply via email to