Browse Source

[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 <438044805@qq.com>
pull/3/MERGE
xingchun-chen 4 years ago committed by GitHub
parent
commit
eade9db22f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProjectData.java
  2. 12
      e2e/src/test/java/org/apache/dolphinscheduler/data/project/WorkflowDefineData.java
  3. 14
      e2e/src/test/java/org/apache/dolphinscheduler/data/security/AlertManageData.java
  4. 6
      e2e/src/test/java/org/apache/dolphinscheduler/data/security/QueueManageData.java
  5. 4
      e2e/src/test/java/org/apache/dolphinscheduler/data/security/TokenManageData.java
  6. 3
      e2e/src/test/java/org/apache/dolphinscheduler/data/security/UserManageData.java
  7. 3
      e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProcessInstanceLocator.java
  8. 3
      e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProjectLocator.java
  9. 15
      e2e/src/test/java/org/apache/dolphinscheduler/locator/project/WorkflowDefineLocator.java
  10. 3
      e2e/src/test/java/org/apache/dolphinscheduler/locator/security/AlertManageLocator.java
  11. 2
      e2e/src/test/java/org/apache/dolphinscheduler/locator/security/QueueManageLocator.java
  12. 2
      e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
  13. 4
      e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TokenManageLocator.java
  14. 6
      e2e/src/test/java/org/apache/dolphinscheduler/locator/security/UserManageLocator.java
  15. 1
      e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProcessInstancePage.java
  16. 5
      e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProjectPage.java
  17. 8
      e2e/src/test/java/org/apache/dolphinscheduler/page/project/RunWorkflowPage.java
  18. 21
      e2e/src/test/java/org/apache/dolphinscheduler/page/project/WorkflowDefinePage.java
  19. 17
      e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java
  20. 23
      e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java
  21. 6
      e2e/src/test/java/org/apache/dolphinscheduler/page/security/TenantManagePage.java
  22. 35
      e2e/src/test/java/org/apache/dolphinscheduler/page/security/TokenManagePage.java
  23. 16
      e2e/src/test/java/org/apache/dolphinscheduler/page/security/UserManagePage.java
  24. 2
      e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestTokenManage.java
  25. 2
      e2e/src/test/java/org/apache/dolphinscheduler/testcase/testSecurity/TestUserManage.java
  26. 30
      e2e/testng.xml

3
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

12
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 = "下线";
}

14
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";

6
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";

4
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";
}

3
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
*/

3
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]");

3
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");

15
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");
}

3
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");
}

2
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");
}

2
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");
}

4
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

6
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");
}

1
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);
}

5
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);
}
/**

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

21
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

17
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

23
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);
}
}

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

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

16
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);
}

2
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");

2
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("===================================");

30
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>

Loading…
Cancel
Save