Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_44739061
DolphinScheduler
提交
353379d4
DolphinScheduler
项目概览
weixin_44739061
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
353379d4
编写于
7月 17, 2020
作者:
B
break60
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev' of
https://github.com/apache/incubator-dolphinscheduler
into dev
上级
e654a59d
1b54c76e
变更
20
显示空白变更内容
内联
并排
Showing
20 changed file
with
467 addition
and
80 deletion
+467
-80
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java
...cheduler/server/master/runner/MasterSchedulerService.java
+4
-4
dolphinscheduler-server/src/main/resources/config/install_config.conf
...uler-server/src/main/resources/config/install_config.conf
+6
-5
e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProcessInstanceData.java
...he/dolphinscheduler/data/project/ProcessInstanceData.java
+25
-0
e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProjectData.java
...org/apache/dolphinscheduler/data/project/ProjectData.java
+1
-1
e2e/src/test/java/org/apache/dolphinscheduler/data/project/WorkflowDefineData.java
...che/dolphinscheduler/data/project/WorkflowDefineData.java
+1
-1
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProcessInstanceLocator.java
...phinscheduler/locator/project/ProcessInstanceLocator.java
+31
-0
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProjectLocator.java
...ache/dolphinscheduler/locator/project/ProjectLocator.java
+2
-7
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/TimingLocator.java
...pache/dolphinscheduler/locator/project/TimingLocator.java
+2
-2
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/WorkflowDefineLocator.java
...lphinscheduler/locator/project/WorkflowDefineLocator.java
+1
-1
e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProcessInstancePage.java
...he/dolphinscheduler/page/project/ProcessInstancePage.java
+40
-0
e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProjectPage.java
...org/apache/dolphinscheduler/page/project/ProjectPage.java
+15
-14
e2e/src/test/java/org/apache/dolphinscheduler/page/project/TimingPage.java
.../org/apache/dolphinscheduler/page/project/TimingPage.java
+2
-2
e2e/src/test/java/org/apache/dolphinscheduler/page/project/WorkflowDefinePage.java
...che/dolphinscheduler/page/project/WorkflowDefinePage.java
+226
-0
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testDeleteData/TestDeleteProject.java
...nscheduler/testcase/testDeleteData/TestDeleteProject.java
+3
-3
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testDeleteData/TestDeleteWorkflow.java
...scheduler/testcase/testDeleteData/TestDeleteWorkflow.java
+14
-12
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/TestProcessInstance.java
...inscheduler/testcase/testProject/TestProcessInstance.java
+35
-0
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/TestProject.java
...he/dolphinscheduler/testcase/testProject/TestProject.java
+6
-6
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/TestRunWorkflow.java
...olphinscheduler/testcase/testProject/TestRunWorkflow.java
+5
-5
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/TestWorkflowDefine.java
...hinscheduler/testcase/testProject/TestWorkflowDefine.java
+22
-14
e2e/testng.xml
e2e/testng.xml
+26
-3
未找到文件。
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java
浏览文件 @
353379d4
...
...
@@ -46,7 +46,7 @@ import java.util.concurrent.TimeUnit;
public
class
MasterSchedulerService
extends
Thread
{
/**
* logger of MasterScheduler
Thread
* logger of MasterScheduler
Service
*/
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MasterSchedulerService
.
class
);
...
...
@@ -80,7 +80,7 @@ public class MasterSchedulerService extends Thread {
/**
* constructor of MasterScheduler
Thread
* constructor of MasterScheduler
Service
*/
@PostConstruct
public
void
init
(){
...
...
@@ -91,7 +91,7 @@ public class MasterSchedulerService extends Thread {
@Override
public
void
start
(){
super
.
setName
(
"MasterScheduler
Thread
"
);
super
.
setName
(
"MasterScheduler
Service
"
);
super
.
start
();
}
...
...
@@ -109,7 +109,7 @@ public class MasterSchedulerService extends Thread {
}
/**
* run of MasterScheduler
Thread
* run of MasterScheduler
Service
*/
@Override
public
void
run
()
{
...
...
dolphinscheduler-server/src/main/resources/config/install_config.conf
浏览文件 @
353379d4
...
...
@@ -16,7 +16,7 @@
#
# NOTICE
:
If the following config has special characters in the variable `.*[]^${}\+?|()@#&`, Please escape, for example, `[` escape to `\[`
# NOTICE
:
If the following config has special characters in the variable `.*[]^${}\+?|()@#&`, Please escape, for example, `[` escape to `\[`
# postgresql or mysql
dbtype
=
"mysql"
...
...
@@ -27,12 +27,13 @@ dbhost="192.168.xx.xx:3306"
# db username
username
=
"xx"
# db password
# NOTICE: if there are special characters, please use the \ to escape, for example, `[` escape to `\[`
password
=
"xx"
# database name
dbname
=
"dolphinscheduler"
# db passwprd
# NOTICE: if there are special characters, please use the \ to escape, for example, `[` escape to `\[`
password
=
"xx"
# zk cluster
zkQuorum
=
"192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181"
...
...
e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProcessInstanceData.java
0 → 100644
浏览文件 @
353379d4
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.apache.dolphinscheduler.data.project
;
public
class
ProcessInstanceData
{
//Process Instance page title
public
static
final
String
PROCESS_INSTANCE_TITLE
=
"工作流实例 - DolphinScheduler"
;
public
static
final
String
RERUN_TYPE
=
"重跑"
;
}
e2e/src/test/java/org/apache/dolphinscheduler/data/project/
Create
ProjectData.java
→
e2e/src/test/java/org/apache/dolphinscheduler/data/project/ProjectData.java
浏览文件 @
353379d4
...
...
@@ -16,7 +16,7 @@
*/
package
org.apache.dolphinscheduler.data.project
;
public
class
Create
ProjectData
{
public
class
ProjectData
{
// create project name
public
static
final
String
PROJECT_NAME
=
"selenium_project_1"
;
// create project description
...
...
e2e/src/test/java/org/apache/dolphinscheduler/data/project/
CreateWorkflow
Data.java
→
e2e/src/test/java/org/apache/dolphinscheduler/data/project/
WorkflowDefine
Data.java
浏览文件 @
353379d4
...
...
@@ -16,7 +16,7 @@
*/
package
org.apache.dolphinscheduler.data.project
;
public
class
CreateWorkflow
Data
{
public
class
WorkflowDefine
Data
{
/**
* create workflow data
*/
...
...
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProcessInstanceLocator.java
0 → 100644
浏览文件 @
353379d4
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.apache.dolphinscheduler.locator.project
;
import
org.openqa.selenium.By
;
public
class
ProcessInstanceLocator
{
// jump Process Instance page
//click Process Instance name
public
static
final
By
CLICK_PROCESS_INSTANCE_NAME
=
By
.
xpath
(
"//div[3]/div/ul/li[2]"
);
// click rerun button
public
static
final
By
CLICK_RERUN_BUTTON
=
By
.
xpath
(
"//tr[2]/td[14]/div[1]/button[2]"
);
//assert rerun type
public
static
final
By
RUNNING_TYPE
=
By
.
xpath
(
"//tr[2]/td[5]/span"
);
}
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/
Create
ProjectLocator.java
→
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/ProjectLocator.java
浏览文件 @
353379d4
...
...
@@ -18,17 +18,12 @@ package org.apache.dolphinscheduler.locator.project;
import
org.openqa.selenium.By
;
public
class
Create
ProjectLocator
{
public
class
ProjectLocator
{
//click project manage
// public static final By PROJECT_MANAGE = By.xpath("//div[@class='clearfix list'][2]");
public
static
final
By
PROJECT_MANAGE
=
By
.
xpath
(
"//div[2]/div[2]/div/a/span"
);
// public static final By SECURITY_MANAGE = By.xpath("//div[@class='m-top']/div/div[2]/dev[@class='clearfix list'][6]");
public
static
final
By
SECURITY_MANAGE
=
By
.
xpath
(
"//div[2]/div[6]/div/a/span"
);
//click create project button
public
static
final
By
CREATE_PROJECT_BUTTON
=
By
.
xpath
(
"//
div[2]/div/div[1]/
button/span"
);
public
static
final
By
CREATE_PROJECT_BUTTON
=
By
.
xpath
(
"//button/span"
);
//input project name
public
static
final
By
PROJECT_NAME
=
By
.
xpath
(
"//div[2]/div/div/div[2]/div/input"
);
...
...
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/TimingLocator.java
浏览文件 @
353379d4
...
...
@@ -45,9 +45,9 @@ public class TimingLocator {
public
static
final
By
CLICK_CREATE_BUTTON
=
By
.
xpath
(
"//div[12]/button[2]/span"
);
//edit timing
public
static
final
By
CLICK_TIMING_MANAGEMENT_BUTTON
=
By
.
xpath
(
"//
div[2]/div/div[3]/div[1]/div/table/
tr[2]/td[10]/button[6]"
);
public
static
final
By
CLICK_TIMING_MANAGEMENT_BUTTON
=
By
.
xpath
(
"//tr[2]/td[10]/button[6]"
);
public
static
final
By
CLICK_EDIT_TIMING_BUTTON
=
By
.
xpath
(
"//
div[2]/div[3]/div/div[2]/div[1]/table/tr[2]/td[10]/button[1]
"
);
public
static
final
By
CLICK_EDIT_TIMING_BUTTON
=
By
.
xpath
(
"//
tr[2]/td[10]/button[1]/i
"
);
//online timing
public
static
final
By
CLICK_ONLINE_TIMING_BUTTON
=
By
.
xpath
(
"//td[10]/button[2]"
);
...
...
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/
CreateWorkflow
Locator.java
→
e2e/src/test/java/org/apache/dolphinscheduler/locator/project/
WorkflowDefine
Locator.java
浏览文件 @
353379d4
...
...
@@ -19,7 +19,7 @@ package org.apache.dolphinscheduler.locator.project;
import
org.openqa.selenium.By
;
public
class
CreateWorkflow
Locator
{
public
class
WorkflowDefine
Locator
{
/**
* jump workflow define page
...
...
e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProcessInstancePage.java
0 → 100644
浏览文件 @
353379d4
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.apache.dolphinscheduler.page.project
;
import
org.apache.dolphinscheduler.common.PageCommon
;
import
org.apache.dolphinscheduler.locator.project.ProcessInstanceLocator
;
import
org.openqa.selenium.WebDriver
;
import
org.apache.dolphinscheduler.data.project.ProcessInstanceData
;
public
class
ProcessInstancePage
extends
PageCommon
{
public
ProcessInstancePage
(
WebDriver
driver
)
{
super
(
driver
);
}
/**
* rerun workflow page
*/
public
boolean
rerunWorkflowPage
()
throws
InterruptedException
{
clickTopElement
(
ProcessInstanceLocator
.
CLICK_PROCESS_INSTANCE_NAME
);
clickTopElement
(
ProcessInstanceLocator
.
CLICK_RERUN_BUTTON
);
return
ifTitleContains
(
ProcessInstanceData
.
PROCESS_INSTANCE_TITLE
);
}
}
e2e/src/test/java/org/apache/dolphinscheduler/page/project/
Create
ProjectPage.java
→
e2e/src/test/java/org/apache/dolphinscheduler/page/project/ProjectPage.java
浏览文件 @
353379d4
...
...
@@ -18,12 +18,12 @@ package org.apache.dolphinscheduler.page.project;
import
org.apache.dolphinscheduler.common.PageCommon
;
import
org.apache.dolphinscheduler.constant.TestConstant
;
import
org.apache.dolphinscheduler.data.project.
Create
ProjectData
;
import
org.apache.dolphinscheduler.locator.project.
Create
ProjectLocator
;
import
org.apache.dolphinscheduler.data.project.ProjectData
;
import
org.apache.dolphinscheduler.locator.project.ProjectLocator
;
import
org.openqa.selenium.WebDriver
;
public
class
Create
ProjectPage
extends
PageCommon
{
public
Create
ProjectPage
(
WebDriver
driver
)
{
public
class
ProjectPage
extends
PageCommon
{
public
ProjectPage
(
WebDriver
driver
)
{
super
(
driver
);
}
...
...
@@ -31,9 +31,9 @@ public class CreateProjectPage extends PageCommon {
* jump to ProjectManagePage
*/
public
boolean
jumpProjectManagePage
()
throws
InterruptedException
{
clickTopElement
(
Create
ProjectLocator
.
PROJECT_MANAGE
);
clickTopElement
(
ProjectLocator
.
PROJECT_MANAGE
);
Thread
.
sleep
(
TestConstant
.
ONE_THOUSAND
);
return
ifTitleContains
(
Create
ProjectData
.
PROJECT_TITLE
);
return
ifTitleContains
(
ProjectData
.
PROJECT_TITLE
);
}
/**
...
...
@@ -42,17 +42,18 @@ public class CreateProjectPage extends PageCommon {
* @return Whether to enter the specified page after create project
*/
public
boolean
createProject
()
throws
InterruptedException
{
clickElement
(
CreateProjectLocator
.
CREATE_PROJECT_BUTTON
);
Thread
.
sleep
(
500
);
clickElement
(
ProjectLocator
.
CREATE_PROJECT_BUTTON
);
// input create project data
sendInput
(
CreateProjectLocator
.
PROJECT_NAME
,
Create
ProjectData
.
PROJECT_NAME
);
sendInput
(
CreateProjectLocator
.
PROJECT_DESCRIPTION
,
Create
ProjectData
.
DESCRIPTION
);
sendInput
(
ProjectLocator
.
PROJECT_NAME
,
ProjectData
.
PROJECT_NAME
);
sendInput
(
ProjectLocator
.
PROJECT_DESCRIPTION
,
ProjectData
.
DESCRIPTION
);
// click submit button
clickButton
(
Create
ProjectLocator
.
SUBMIT_BUTTON
);
clickButton
(
ProjectLocator
.
SUBMIT_BUTTON
);
// Whether to enter the specified page after submit
return
ifTitleContains
(
Create
ProjectData
.
PROJECT_TITLE
);
return
ifTitleContains
(
ProjectData
.
PROJECT_TITLE
);
}
/**
...
...
@@ -62,12 +63,12 @@ public class CreateProjectPage extends PageCommon {
*/
public
boolean
deleteProject
()
throws
InterruptedException
{
//click delete project
clickElement
(
Create
ProjectLocator
.
DELETE_PROJECT_BUTTON
);
clickElement
(
ProjectLocator
.
DELETE_PROJECT_BUTTON
);
//click confirm delete project
clickElement
(
Create
ProjectLocator
.
CONFIRM_DELETE_PROJECT_BUTTON
);
clickElement
(
ProjectLocator
.
CONFIRM_DELETE_PROJECT_BUTTON
);
// Whether to enter the specified page after submit
return
ifTitleContains
(
Create
ProjectData
.
PROJECT_TITLE
);
return
ifTitleContains
(
ProjectData
.
PROJECT_TITLE
);
}
}
e2e/src/test/java/org/apache/dolphinscheduler/page/project/TimingPage.java
浏览文件 @
353379d4
...
...
@@ -64,11 +64,11 @@ public class TimingPage extends PageCommon {
public
boolean
editTiming
()
throws
InterruptedException
{
// click timing button
System
.
out
.
println
(
"Click timing management button"
);
Thread
.
sleep
(
1000
);
clickButton
(
TimingLocator
.
CLICK_TIMING_MANAGEMENT_BUTTON
);
Thread
.
sleep
(
5
00
);
Thread
.
sleep
(
10
00
);
System
.
out
.
println
(
"Click edit timing button"
);
clickButton
(
TimingLocator
.
CLICK_EDIT_TIMING_BUTTON
);
Thread
.
sleep
(
500
);
System
.
out
.
println
(
"Click execution timing button"
);
clickButton
(
TimingLocator
.
CLICK_EXECUTION_TIMING_BUTTON
);
Thread
.
sleep
(
1000
);
...
...
e2e/src/test/java/org/apache/dolphinscheduler/page/project/
CreateWorkflow
Page.java
→
e2e/src/test/java/org/apache/dolphinscheduler/page/project/
WorkflowDefine
Page.java
浏览文件 @
353379d4
...
...
@@ -18,13 +18,12 @@ package org.apache.dolphinscheduler.page.project;
import
org.apache.dolphinscheduler.common.PageCommon
;
import
org.apache.dolphinscheduler.constant.TestConstant
;
import
org.apache.dolphinscheduler.data.project.CreateWorkflowData
;
import
org.apache.dolphinscheduler.locator.project.CreateWorkflowLocator
;
import
org.apache.dolphinscheduler.locator.project.RunWorkflowLocator
;
import
org.apache.dolphinscheduler.data.project.WorkflowDefineData
;
import
org.apache.dolphinscheduler.locator.project.WorkflowDefineLocator
;
import
org.openqa.selenium.WebDriver
;
public
class
CreateWorkflow
Page
extends
PageCommon
{
public
CreateWorkflow
Page
(
WebDriver
driver
)
{
public
class
WorkflowDefine
Page
extends
PageCommon
{
public
WorkflowDefine
Page
(
WebDriver
driver
)
{
super
(
driver
);
}
...
...
@@ -34,105 +33,105 @@ public class CreateWorkflowPage extends PageCommon {
public
boolean
jumpWorkflowPage
()
throws
InterruptedException
{
// click project name
clickElement
(
CreateWorkflow
Locator
.
CLICK_PROJECT_NAME
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_PROJECT_NAME
);
Thread
.
sleep
(
TestConstant
.
ONE_THOUSAND
);
System
.
out
.
println
(
"Click on workflow define to jump to workflow define page"
);
// click workflow define
clickElement
(
CreateWorkflow
Locator
.
CLICK_WORKFLOW_DEFINE
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_WORKFLOW_DEFINE
);
return
ifTitleContains
(
CreateWorkflow
Data
.
WORKFLOW_TITLE
);
return
ifTitleContains
(
WorkflowDefine
Data
.
WORKFLOW_TITLE
);
}
public
boolean
createWorkflow
()
throws
InterruptedException
{
System
.
out
.
println
(
"Click create workflow button"
);
// click create workflow button
clickElement
(
CreateWorkflow
Locator
.
CLICK_CREATE_WORKFLOW_BUTTON
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_CREATE_WORKFLOW_BUTTON
);
System
.
out
.
println
(
"drag shell task"
);
//drag shell_task
dragAndDrop
(
CreateWorkflowLocator
.
MOUSE_DOWN_AT_SHELL
,
CreateWorkflow
Locator
.
MOUSE_MOVE_SHELL_AT_DAG
);
dragAndDrop
(
WorkflowDefineLocator
.
MOUSE_DOWN_AT_SHELL
,
WorkflowDefine
Locator
.
MOUSE_MOVE_SHELL_AT_DAG
);
//input shell task _name
sendInput
(
CreateWorkflowLocator
.
INPUT_SHELL_TASK_NAME
,
CreateWorkflow
Data
.
SHELL_TASK_NAME
);
sendInput
(
WorkflowDefineLocator
.
INPUT_SHELL_TASK_NAME
,
WorkflowDefine
Data
.
SHELL_TASK_NAME
);
//click stop run type
clickElement
(
CreateWorkflow
Locator
.
CLICK_STOP_RUN_TYPE
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_STOP_RUN_TYPE
);
//click normal run type
clickElement
(
CreateWorkflow
Locator
.
CLICK_NORMAL_RUN_TYPE
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_NORMAL_RUN_TYPE
);
//input shell task description
sendInput
(
CreateWorkflowLocator
.
INPUT_SHELL_TASK_DESCRIPTION
,
CreateWorkflow
Data
.
SHELL_TASK_DESCRIPTION
);
sendInput
(
WorkflowDefineLocator
.
INPUT_SHELL_TASK_DESCRIPTION
,
WorkflowDefine
Data
.
SHELL_TASK_DESCRIPTION
);
//select task priority
clickElement
(
CreateWorkflow
Locator
.
CLICK_TASK_PRIORITY
);
clickElement
(
CreateWorkflow
Locator
.
SELECT_TASK_PRIORITY
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_TASK_PRIORITY
);
clickElement
(
WorkflowDefine
Locator
.
SELECT_TASK_PRIORITY
);
//select work group
clickElement
(
CreateWorkflow
Locator
.
CLICK_WORK_GROUP
);
clickElement
(
CreateWorkflow
Locator
.
SELECT_WORK_GROUP
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_WORK_GROUP
);
clickElement
(
WorkflowDefine
Locator
.
SELECT_WORK_GROUP
);
//select number of failed retries
clickElement
(
CreateWorkflow
Locator
.
SELECT_FAIL_RETRIES_NUMBER
);
clickElement
(
WorkflowDefine
Locator
.
SELECT_FAIL_RETRIES_NUMBER
);
//select failed retry interval
clickElement
(
CreateWorkflow
Locator
.
SELECT_FAIL_RETRIES_INTERVAL
);
clickElement
(
WorkflowDefine
Locator
.
SELECT_FAIL_RETRIES_INTERVAL
);
//click timeout alarm
clickElement
(
CreateWorkflow
Locator
.
CLICK_TIMEOUT_ALARM
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_TIMEOUT_ALARM
);
//select timeout fail
clickElement
(
CreateWorkflow
Locator
.
SELECT_TIMEOUT_FAIL
);
clickElement
(
WorkflowDefine
Locator
.
SELECT_TIMEOUT_FAIL
);
//cancel timeout alarm
clickElement
(
CreateWorkflow
Locator
.
CANCEL_TIMEOUT_ALARM
);
clickElement
(
WorkflowDefine
Locator
.
CANCEL_TIMEOUT_ALARM
);
//select timeout alarm
clickElement
(
CreateWorkflow
Locator
.
SELECT_TIMEOUT_ALARM
);
clickElement
(
WorkflowDefine
Locator
.
SELECT_TIMEOUT_ALARM
);
//clear timeout
clearInput
(
CreateWorkflow
Locator
.
SELECT_TIMEOUT
);
clearInput
(
CreateWorkflow
Locator
.
SELECT_TIMEOUT
);
clearInput
(
WorkflowDefine
Locator
.
SELECT_TIMEOUT
);
clearInput
(
WorkflowDefine
Locator
.
SELECT_TIMEOUT
);
//input timeout
sendInput
(
CreateWorkflowLocator
.
SELECT_TIMEOUT
,
CreateWorkflow
Data
.
INPUT_TIMEOUT
);
sendInput
(
WorkflowDefineLocator
.
SELECT_TIMEOUT
,
WorkflowDefine
Data
.
INPUT_TIMEOUT
);
//click codeMirror and input script
inputCodeMirror
(
CreateWorkflowLocator
.
CLICK_CODE_MIRROR
,
CreateWorkflowLocator
.
INPUT_SCRIPT
,
CreateWorkflow
Data
.
SHELL_SCRIPT
);
scrollToElementBottom
(
CreateWorkflow
Locator
.
SCROLL_BOTTOM
);
inputCodeMirror
(
WorkflowDefineLocator
.
CLICK_CODE_MIRROR
,
WorkflowDefineLocator
.
INPUT_SCRIPT
,
WorkflowDefine
Data
.
SHELL_SCRIPT
);
scrollToElementBottom
(
WorkflowDefine
Locator
.
SCROLL_BOTTOM
);
//click custom parameters
clickElement
(
CreateWorkflow
Locator
.
CLICK_CUSTOM_PARAMETERS
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_CUSTOM_PARAMETERS
);
//input custom parameters
sendInput
(
CreateWorkflowLocator
.
INPUT_CUSTOM_PARAMETERS
,
CreateWorkflow
Data
.
INPUT_CUSTOM_PARAMETERS
);
sendInput
(
WorkflowDefineLocator
.
INPUT_CUSTOM_PARAMETERS
,
WorkflowDefine
Data
.
INPUT_CUSTOM_PARAMETERS
);
//input custom parameters value
sendInput
(
CreateWorkflowLocator
.
INPUT_CUSTOM_PARAMETERS_VALUE
,
CreateWorkflow
Data
.
INPUT_CUSTOM_PARAMETERS_VALUE
);
sendInput
(
WorkflowDefineLocator
.
INPUT_CUSTOM_PARAMETERS_VALUE
,
WorkflowDefine
Data
.
INPUT_CUSTOM_PARAMETERS_VALUE
);
//click add custom parameters
clickElement
(
CreateWorkflow
Locator
.
CLICK_ADD_CUSTOM_PARAMETERS
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_ADD_CUSTOM_PARAMETERS
);
scrollToElementBottom
(
CreateWorkflow
Locator
.
SCROLL_BOTTOM
);
scrollToElementBottom
(
WorkflowDefine
Locator
.
SCROLL_BOTTOM
);
//input add custom parameters
sendInput
(
CreateWorkflowLocator
.
INPUT_ADD_CUSTOM_PARAMETERS
,
CreateWorkflow
Data
.
INPUT_ADD_CUSTOM_PARAMETERS
);
sendInput
(
WorkflowDefineLocator
.
INPUT_ADD_CUSTOM_PARAMETERS
,
WorkflowDefine
Data
.
INPUT_ADD_CUSTOM_PARAMETERS
);
//input add custom parameters value
sendInput
(
CreateWorkflowLocator
.
INPUT_ADD_CUSTOM_PARAMETERS_VALUE
,
CreateWorkflow
Data
.
INPUT_ADD_CUSTOM_PARAMETERS_VALUE
);
sendInput
(
WorkflowDefineLocator
.
INPUT_ADD_CUSTOM_PARAMETERS_VALUE
,
WorkflowDefine
Data
.
INPUT_ADD_CUSTOM_PARAMETERS_VALUE
);
//click delete custom parameters
clickElement
(
CreateWorkflow
Locator
.
CLICK_DELETE_CUSTOM_PARAMETERS
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_DELETE_CUSTOM_PARAMETERS
);
//click submit button
clickElement
(
CreateWorkflow
Locator
.
CLICK_SUBMIT_BUTTON
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_SUBMIT_BUTTON
);
Thread
.
sleep
(
TestConstant
.
ONE_THOUSAND
);
System
.
out
.
println
(
"Task node set up successfully"
);
System
.
out
.
println
(
"move to Dag Element "
);
moveToDragElement
(
CreateWorkflow
Locator
.
MOUSE_MOVE_SHELL_AT_DAG
,-
300
,-
100
);
moveToDragElement
(
WorkflowDefine
Locator
.
MOUSE_MOVE_SHELL_AT_DAG
,-
300
,-
100
);
return
ifTitleContains
(
CreateWorkflow
Data
.
CREATE_WORKFLOW_TITLE
);
return
ifTitleContains
(
WorkflowDefine
Data
.
CREATE_WORKFLOW_TITLE
);
}
/**
...
...
@@ -142,85 +141,86 @@ public class CreateWorkflowPage extends PageCommon {
System
.
out
.
println
(
"start to save workflow "
);
//click save workflow button
clickElement
(
CreateWorkflow
Locator
.
CLICK_SAVE_WORKFLOW_BUTTON
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_SAVE_WORKFLOW_BUTTON
);
//input workflow name
sendInput
(
CreateWorkflowLocator
.
INPUT_WORKFLOW_NAME
,
CreateWorkflow
Data
.
INPUT_WORKFLOW_NAME
);
sendInput
(
WorkflowDefineLocator
.
INPUT_WORKFLOW_NAME
,
WorkflowDefine
Data
.
INPUT_WORKFLOW_NAME
);
//input workflow description
sendInput
(
CreateWorkflowLocator
.
INPUT_WORKFLOW_DESCRIPTION
,
CreateWorkflow
Data
.
INPUT_WORKFLOW_DESCRIPTION
);
sendInput
(
WorkflowDefineLocator
.
INPUT_WORKFLOW_DESCRIPTION
,
WorkflowDefine
Data
.
INPUT_WORKFLOW_DESCRIPTION
);
//select tenant
clickElement
(
CreateWorkflow
Locator
.
CLICK_TENANT
);
clickElement
(
CreateWorkflow
Locator
.
SELECT_TENANT
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_TENANT
);
clickElement
(
WorkflowDefine
Locator
.
SELECT_TENANT
);
//click workflow timeout alarm
clickElement
(
CreateWorkflow
Locator
.
CLICK_WORKFLOW_TIMEOUT_ALARM
);
clearInput
(
CreateWorkflow
Locator
.
INPUT_WORKFLOW_TIMEOUT
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_WORKFLOW_TIMEOUT_ALARM
);
clearInput
(
WorkflowDefine
Locator
.
INPUT_WORKFLOW_TIMEOUT
);
//input workflow timeout
sendInput
(
CreateWorkflowLocator
.
INPUT_WORKFLOW_TIMEOUT
,
CreateWorkflow
Data
.
INPUT_WORKFLOW_TIMEOUT
);
sendInput
(
WorkflowDefineLocator
.
INPUT_WORKFLOW_TIMEOUT
,
WorkflowDefine
Data
.
INPUT_WORKFLOW_TIMEOUT
);
//click workflow global parameters
clickElement
(
CreateWorkflow
Locator
.
CLICK_WORKFLOW_GLOBAL_PARAMETERS
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_WORKFLOW_GLOBAL_PARAMETERS
);
//input workflow global parameters
sendInput
(
CreateWorkflowLocator
.
INPUT_WORKFLOW_GLOBAL_PARAMETERS
,
CreateWorkflow
Data
.
INPUT_WORKFLOW_GLOBAL_PARAMETERS
);
sendInput
(
WorkflowDefineLocator
.
INPUT_WORKFLOW_GLOBAL_PARAMETERS
,
WorkflowDefine
Data
.
INPUT_WORKFLOW_GLOBAL_PARAMETERS
);
//input workflow global parameters value
sendInput
(
CreateWorkflowLocator
.
INPUT_WORKFLOW_GLOBAL_PARAMETERS_VALUES
,
CreateWorkflow
Data
.
INPUT_WORKFLOW_GLOBAL_PARAMETERS_VALUES
);
sendInput
(
WorkflowDefineLocator
.
INPUT_WORKFLOW_GLOBAL_PARAMETERS_VALUES
,
WorkflowDefine
Data
.
INPUT_WORKFLOW_GLOBAL_PARAMETERS_VALUES
);
//click to add workflow global parameters
clickElement
(
CreateWorkflow
Locator
.
CLICK_ADD_WORKFLOW_GLOBAL_PARAMETERS
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_ADD_WORKFLOW_GLOBAL_PARAMETERS
);
//input to add workflow global parameters
sendInput
(
CreateWorkflowLocator
.
INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS
,
CreateWorkflow
Data
.
INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS
);
sendInput
(
WorkflowDefineLocator
.
INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS
,
WorkflowDefine
Data
.
INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS
);
//input to add workflow global parameters value
sendInput
(
CreateWorkflowLocator
.
INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS_VALUES
,
CreateWorkflow
Data
.
INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS_VALUES
);
sendInput
(
WorkflowDefineLocator
.
INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS_VALUES
,
WorkflowDefine
Data
.
INPUT_ADD_WORKFLOW_GLOBAL_PARAMETERS_VALUES
);
//delete workflow global parameters value
clickElement
(
CreateWorkflow
Locator
.
CLICK_DELETE_WORKFLOW_GLOBAL_PARAMETERS
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_DELETE_WORKFLOW_GLOBAL_PARAMETERS
);
Thread
.
sleep
(
TestConstant
.
ONE_THOUSAND
);
//click add button
System
.
out
.
println
(
"submit workflow"
);
clickButton
(
CreateWorkflow
Locator
.
CLICK_ADD_BUTTON
);
clickButton
(
WorkflowDefine
Locator
.
CLICK_ADD_BUTTON
);
return
ifTitleContains
(
CreateWorkflow
Data
.
CREATE_WORKFLOW_TITLE
);
return
ifTitleContains
(
WorkflowDefine
Data
.
CREATE_WORKFLOW_TITLE
);
}
public
boolean
onlineWorkflow
()
throws
InterruptedException
{
clickElement
(
CreateWorkflow
Locator
.
CLICK_WORKFLOW_DEFINE
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_WORKFLOW_DEFINE
);
// click online button
System
.
out
.
println
(
"Click online workflow button"
);
clickButton
(
CreateWorkflow
Locator
.
CLICK_ONLINE_WORKFLOW_BUTTON
);
clickButton
(
WorkflowDefine
Locator
.
CLICK_ONLINE_WORKFLOW_BUTTON
);
return
ifTitleContains
(
CreateWorkflow
Data
.
WORKFLOW_TITLE
);
return
ifTitleContains
(
WorkflowDefine
Data
.
WORKFLOW_TITLE
);
}
public
boolean
offlineWorkflow
()
throws
InterruptedException
{
clickElement
(
CreateWorkflow
Locator
.
CLICK_WORKFLOW_DEFINE
);
clickElement
(
WorkflowDefine
Locator
.
CLICK_WORKFLOW_DEFINE
);
// click offline button
System
.
out
.
println
(
"offline workflow"
);
Thread
.
sleep
(
500
);
clickButton
(
CreateWorkflow
Locator
.
CLICK_OFFLINE_WORKFLOW_BUTTON
);
clickButton
(
WorkflowDefine
Locator
.
CLICK_OFFLINE_WORKFLOW_BUTTON
);
return
ifTitleContains
(
CreateWorkflow
Data
.
WORKFLOW_TITLE
);
return
ifTitleContains
(
WorkflowDefine
Data
.
WORKFLOW_TITLE
);
}
public
boolean
deleteWorkflow
()
throws
InterruptedException
{
//click delete workflow
Thread
.
sleep
(
500
);
clickButton
(
CreateWorkflowLocator
.
DELETE_WORKFLOW_BOTTOM
);
clickElement
(
WorkflowDefineLocator
.
CLICK_WORKFLOW_DEFINE
);
clickButton
(
WorkflowDefineLocator
.
DELETE_WORKFLOW_BOTTOM
);
//click confirm delete project
clickButton
(
CreateWorkflow
Locator
.
CONFIRM_DELETE_WORKFLOW_BOTTOM
);
clickButton
(
WorkflowDefine
Locator
.
CONFIRM_DELETE_WORKFLOW_BOTTOM
);
// Whether to enter the specified page after submit
return
ifTitleContains
(
CreateWorkflow
Data
.
WORKFLOW_TITLE
);
return
ifTitleContains
(
WorkflowDefine
Data
.
WORKFLOW_TITLE
);
}
}
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testDeleteData/TestDeleteProject.java
浏览文件 @
353379d4
...
...
@@ -17,15 +17,15 @@
package
org.apache.dolphinscheduler.testcase.testDeleteData
;
import
org.apache.dolphinscheduler.base.BaseTest
;
import
org.apache.dolphinscheduler.page.project.
Create
ProjectPage
;
import
org.apache.dolphinscheduler.page.project.ProjectPage
;
import
org.testng.annotations.Test
;
public
class
TestDeleteProject
extends
BaseTest
{
private
Create
ProjectPage
createProjectPage
;
private
ProjectPage
createProjectPage
;
@Test
(
groups
={
"functionTests"
},
dependsOnGroups
=
{
"login"
,
"project"
},
description
=
"TestDeleteProject"
)
public
void
testDeleteProject
()
throws
InterruptedException
{
createProjectPage
=
new
Create
ProjectPage
(
driver
);
createProjectPage
=
new
ProjectPage
(
driver
);
//jump to project manage page
System
.
out
.
println
(
"jump to the project manage page to delete project"
);
createProjectPage
.
jumpProjectManagePage
();
...
...
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testDeleteData/TestDeleteWorkflow.java
浏览文件 @
353379d4
...
...
@@ -17,27 +17,29 @@
package
org.apache.dolphinscheduler.testcase.testDeleteData
;
import
org.apache.dolphinscheduler.base.BaseTest
;
import
org.apache.dolphinscheduler.page.project.
Create
ProjectPage
;
import
org.apache.dolphinscheduler.page.project.
CreateWorkflow
Page
;
import
org.apache.dolphinscheduler.page.project.ProjectPage
;
import
org.apache.dolphinscheduler.page.project.
WorkflowDefine
Page
;
import
org.testng.annotations.Test
;
public
class
TestDeleteWorkflow
extends
BaseTest
{
private
CreateWorkflow
Page
createWorkflowPage
;
private
Create
ProjectPage
createProjectPage
;
private
WorkflowDefine
Page
createWorkflowPage
;
private
ProjectPage
createProjectPage
;
/**
* offline workflow
* @throws InterruptedException
*/
@Test
(
groups
={
"functionTests"
},
dependsOnGroups
=
{
"login"
,
"workflow"
},
description
=
"TestDeleteWorkflow"
)
public
void
testDeleteWorkflow
()
throws
InterruptedException
{
createProjectPage
=
new
CreateProjectPage
(
driver
);
//jump to project manage page
// System.out.println("jump to the project manage page to delete workflow");
// createProjectPage.jumpProjectManagePage();
createWorkflowPage
=
new
CreateWorkflowPage
(
driver
);
// createWorkflowPage.jumpWorkflowPage();
public
void
testOfflineWorkflow
()
throws
InterruptedException
{
createWorkflowPage
=
new
WorkflowDefinePage
(
driver
);
System
.
out
.
println
(
"start offline workflow"
);
assert
createWorkflowPage
.
offlineWorkflow
();
System
.
out
.
println
(
"end offline workflow"
);
System
.
out
.
println
(
"==================================="
);
}
@Test
(
groups
={
"functionTests"
},
dependsOnGroups
=
{
"login"
,
"workflow"
},
description
=
"TestDeleteWorkflow"
)
public
void
testDeleteWorkflow
()
throws
InterruptedException
{
System
.
out
.
println
(
"start delete workflow"
);
assert
createWorkflowPage
.
deleteWorkflow
();
System
.
out
.
println
(
"end delete workflow"
);
...
...
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/TestProcessInstance.java
0 → 100644
浏览文件 @
353379d4
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.apache.dolphinscheduler.testcase.testProject
;
import
org.apache.dolphinscheduler.base.BaseTest
;
import
org.apache.dolphinscheduler.page.project.ProcessInstancePage
;
import
org.testng.annotations.Test
;
public
class
TestProcessInstance
extends
BaseTest
{
private
ProcessInstancePage
processInstancePage
;
@Test
(
groups
={
"functionTests"
,
"processInstance"
},
dependsOnGroups
=
{
"login"
,
"workflow"
},
description
=
"testRerun"
)
public
void
testRerun
()
throws
InterruptedException
{
processInstancePage
=
new
ProcessInstancePage
(
driver
);
//rerun workflow
System
.
out
.
println
(
"start rerun workflow"
);
processInstancePage
.
rerunWorkflowPage
();
System
.
out
.
println
(
"end rerun workflow"
);
System
.
out
.
println
(
"==================================="
);
}
}
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/Test
Create
Project.java
→
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/TestProject.java
浏览文件 @
353379d4
...
...
@@ -17,21 +17,21 @@
package
org.apache.dolphinscheduler.testcase.testProject
;
import
org.apache.dolphinscheduler.base.BaseTest
;
import
org.apache.dolphinscheduler.page.project.
Create
ProjectPage
;
import
org.apache.dolphinscheduler.page.project.ProjectPage
;
import
org.testng.annotations.Test
;
public
class
Test
Create
Project
extends
BaseTest
{
private
CreateProjectPage
createP
rojectPage
;
public
class
TestProject
extends
BaseTest
{
private
ProjectPage
p
rojectPage
;
@Test
(
groups
={
"functionTests"
,
"project"
},
dependsOnGroups
=
{
"login"
},
description
=
"CreateProjectTest"
)
public
void
testCreateProject
()
throws
InterruptedException
{
createProjectPage
=
new
Create
ProjectPage
(
driver
);
projectPage
=
new
ProjectPage
(
driver
);
// enter user manage page
System
.
out
.
println
(
"jump to the projectManage page to create project "
);
createP
rojectPage
.
jumpProjectManagePage
();
p
rojectPage
.
jumpProjectManagePage
();
//assert user manage page
System
.
out
.
println
(
"start create project"
);
assert
createP
rojectPage
.
createProject
();
assert
p
rojectPage
.
createProject
();
System
.
out
.
println
(
"end create project"
);
System
.
out
.
println
(
"==================================="
);
}
...
...
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/TestRunWorkflow.java
浏览文件 @
353379d4
...
...
@@ -17,14 +17,14 @@
package
org.apache.dolphinscheduler.testcase.testProject
;
import
org.apache.dolphinscheduler.base.BaseTest
;
import
org.apache.dolphinscheduler.page.project.
Create
ProjectPage
;
import
org.apache.dolphinscheduler.page.project.
CreateWorkflow
Page
;
import
org.apache.dolphinscheduler.page.project.ProjectPage
;
import
org.apache.dolphinscheduler.page.project.
WorkflowDefine
Page
;
import
org.apache.dolphinscheduler.page.project.RunWorkflowPage
;
import
org.testng.annotations.Test
;
public
class
TestRunWorkflow
extends
BaseTest
{
private
CreateWorkflow
Page
createWorkflowPage
;
private
CreateProjectPage
createP
rojectPage
;
private
WorkflowDefine
Page
createWorkflowPage
;
private
ProjectPage
p
rojectPage
;
private
RunWorkflowPage
runWorkflowPage
;
...
...
@@ -32,7 +32,7 @@ public class TestRunWorkflow extends BaseTest {
public
void
testRunWorkflow
()
throws
InterruptedException
{
runWorkflowPage
=
new
RunWorkflowPage
(
driver
);
createProjectPage
=
new
Create
ProjectPage
(
driver
);
projectPage
=
new
ProjectPage
(
driver
);
System
.
out
.
println
(
"start run workflow"
);
assert
runWorkflowPage
.
runWorkflow
();
System
.
out
.
println
(
"end run workflow"
);
...
...
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/Test
CreateWorkflow
.java
→
e2e/src/test/java/org/apache/dolphinscheduler/testcase/testProject/Test
WorkflowDefine
.java
浏览文件 @
353379d4
...
...
@@ -17,32 +17,40 @@
package
org.apache.dolphinscheduler.testcase.testProject
;
import
org.apache.dolphinscheduler.base.BaseTest
;
import
org.apache.dolphinscheduler.page.project.
Create
ProjectPage
;
import
org.apache.dolphinscheduler.page.project.
CreateWorkflow
Page
;
import
org.apache.dolphinscheduler.page.project.ProjectPage
;
import
org.apache.dolphinscheduler.page.project.
WorkflowDefine
Page
;
import
org.testng.annotations.Test
;
public
class
Test
CreateWorkflow
extends
BaseTest
{
private
CreateWorkflowPage
createWorkflow
Page
;
private
CreateProjectPage
createP
rojectPage
;
public
class
Test
WorkflowDefine
extends
BaseTest
{
private
WorkflowDefinePage
workflowDefine
Page
;
private
ProjectPage
p
rojectPage
;
@Test
(
groups
={
"functionTests"
,
"workflow"
},
dependsOnGroups
=
{
"login"
},
description
=
"TestCreateWorkflow"
)
/**
* test Create WorkflowDefine
* @throws InterruptedException
*/
@Test
(
groups
={
"functionTests"
,
"workflow"
},
dependsOnGroups
=
{
"login"
},
description
=
"TestWorkflowDefine"
)
public
void
testCreateWorkflow
()
throws
InterruptedException
{
createProjectPage
=
new
Create
ProjectPage
(
driver
);
projectPage
=
new
ProjectPage
(
driver
);
System
.
out
.
println
(
"jump to the projectManage page to create workflow"
);
createP
rojectPage
.
jumpProjectManagePage
();
p
rojectPage
.
jumpProjectManagePage
();
createWorkflowPage
=
new
CreateWorkflow
Page
(
driver
);
workflowDefinePage
=
new
WorkflowDefine
Page
(
driver
);
System
.
out
.
println
(
"Click on the project name to jump to the project homepage"
);
createWorkflow
Page
.
jumpWorkflowPage
();
workflowDefine
Page
.
jumpWorkflowPage
();
System
.
out
.
println
(
"start create workflow"
);
assert
createWorkflow
Page
.
createWorkflow
();
assert
createWorkflow
Page
.
saveWorkflow
();
assert
workflowDefine
Page
.
createWorkflow
();
assert
workflowDefine
Page
.
saveWorkflow
();
System
.
out
.
println
(
"end create workflow"
);
System
.
out
.
println
(
"==================================="
);
}
@Test
(
groups
={
"functionTests"
,
"workflow"
},
dependsOnGroups
=
{
"login"
},
description
=
"TestOnlineWorkflow"
)
public
void
testOnlineWorkflow
()
throws
InterruptedException
{
workflowDefinePage
=
new
WorkflowDefinePage
(
driver
);
System
.
out
.
println
(
"start online workflow"
);
assert
createWorkflow
Page
.
onlineWorkflow
();
assert
workflowDefine
Page
.
onlineWorkflow
();
System
.
out
.
println
(
"end online workflow"
);
System
.
out
.
println
(
"==================================="
);
}
...
...
e2e/testng.xml
浏览文件 @
353379d4
...
...
@@ -26,6 +26,7 @@
<classes>
<class
name=
"org.apache.dolphinscheduler.testcase.TestLogin"
></class>
<class
name=
"org.apache.dolphinscheduler.testcase.testSecurity.TestTenantManage"
></class>
<class
name=
"org.apache.dolphinscheduler.testcase.testSecurity.TestAlertManage"
></class>
<class
name=
"org.apache.dolphinscheduler.testcase.testSecurity.TestQueueManage"
></class>
<class
name=
"org.apache.dolphinscheduler.testcase.testSecurity.TestTokenManage"
></class>
...
...
@@ -37,8 +38,19 @@
</methods>
</class>
<class
name=
"org.apache.dolphinscheduler.testcase.testProject.TestCreateProject"
></class>
<class
name=
"org.apache.dolphinscheduler.testcase.testProject.TestCreateWorkflow"
></class>
<class
name=
"org.apache.dolphinscheduler.testcase.testProject.TestProject"
>
<methods>
<include
name=
"createProject"
/>
</methods>
</class>
<class
name=
"org.apache.dolphinscheduler.testcase.testProject.TestWorkflowDefine"
>
<methods>
<include
name=
"testCreateWorkflow"
/>
<include
name=
"testOnlineWorkflow"
/>
</methods>
</class>
<class
name=
"org.apache.dolphinscheduler.testcase.testProject.TestRunWorkflow"
></class>
<class
name=
"org.apache.dolphinscheduler.testcase.testProject.TestTiming"
>
...
...
@@ -50,8 +62,19 @@
<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>
<include
name=
"testOfflineWorkflow"
/>
<include
name=
"testDeleteWorkflow"
/>
</methods>
</class>
<class
name=
"org.apache.dolphinscheduler.testcase.testDeleteData.TestDeleteWorkflow"
></class>
<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>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录