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 fce247aa4d1ba322b3fedd24e4f8a7511cb4a35f..036a6771bd2a9d845478cbe5dc033c3f8e77cd02 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 0b3645f3292181106bfa2f4394b23c173babcb32..c9eb32e9483f18d3295f9ec117088eafe72f7e26 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 aa470169fcab9e140da894f69aaa067c86f19a09..ae996a209ddc53869d9985203851cfe13993a4a3 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 9fa9568a35e120e16f7a80e089cd7adb60318178..46f0d834d1d46a21f28205cca610951a2a9121d4 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 6b6370f5507255a8d5269a04f2ee5e88c2ee6926..9dd625ec2593230bf99602e62b9496af2b7da72a 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 10dcd45af7dbd54b7a3377ad2a91b570d6219585..ee7fc60bc4f7fb60d236e85ebc2048d5baf568d0 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 445ea3ee78adf788482690a751a67cb5e2af2d99..c881c276b6cba35352fd1704bfba64a7745a5662 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 8b26e673a66e4bc6b799f913d826c56f82cca73b..94af3ac54609126660c08778b1625144b5ed3c71 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 a70b22eacf7a8d6e3037f375ef47d64d98aa841a..01fdb39e4aaf2ac816bb691c40e9846580eb943f 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 e4dbe731df2e5438dc8dab9292fb15743455f083..82ac473e5b8bab820adc974281aaa5293e4d164c 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 ee7d3992b5e265c9583761c597af930940d8f2c8..dd42a91db0d490d044d979e1a3820d9a6f5a223a 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 7db883615cc1fa35fd3dd7187152701236ed0213..2f7a5f9ca31117e717fd74ceeadf2031253edf52 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 0626ed8031f47e1f659627baac9c70288a1b92a2..d935dd54a077aba056a8880772bae2789b12a56d 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 ef2ec9095c25a8f338a2116636619a912d7bb68c..ecfd285d6019b79d3e503abd34253b4aa9ce49c2 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 4d1a1c253007e0891207bdd7b3e1c35e05e9f1e2..8c251afc84914910201aa2f1f1b951547135e442 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 5c591d0b5d0154d822d89ed13d93cde0616f97ed..6a93094340ebdcafc304a0e00d418e698cbf076c 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 9f14dde8fa93d9eb0b915ef583cf4f413d87632e..921e593e4426f9e81b2347dfeb0c354ce0e7ba5e 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 83442562ca45a8e64a83063461970878bd28c46d..8826222189d220fcfbcb6a0ee9cffe71dcd22530 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 4ea64dfc4c02a525db4335d97faf1f558f4173d6..541251e0dbacf21e5f5fbbad0540202254f20032 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 95165aec1d74c75e90d6d966d598513d66f5fc3a..368202e9213baab5aa5d62860679987da0d96862 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 085bfa93a3a6fed3ea9aba0848a67c3aae9db800..40d964fa33ab66813b401b6a55ce24307ec2dde3 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 2f8204ac470212271c5b3a08708eca2b4c43c44c..61fb93c570b6bc07554b79b1c372e5cecd47a06b 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 31f0445cd8faffae74c29b82e41575b4ea016e1c..367896a3cff404f1a1229f4e59482e26e190ea37 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 e46cf0d997d1842cc795334853a189d626604f77..816ae64c296151a2fc7126a9a591468740ddf075 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 e464d7c57e8c1e8d3e34ad2fc02d4d1486bb94ff..2adc4e77697505d11f78c5f8da84ab87d0d4441f 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 7e5dc5228b4ea830b00f543ed43d55d99b580ca1..e08c4da91765159b2b9802ce236287497ffe789d 100644 --- a/e2e/testng.xml +++ b/e2e/testng.xml @@ -53,20 +53,20 @@ - - - - - - + + + + + + + + + + + + + + @@ -78,7 +78,7 @@ - +