Browse Source
* add LoginTest license * Delete useless packages * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * e2e add project and workflow case * Update worker_group_id to worker_group in init.sql * Update worker_group_id to worker_group in init.sql * Update worker_group_id to worker_group * Increase dataX environment variable, sslTrust default value * modify dataX environment variable * update e2e chrome version * add alert manage testcase and Optimize test case execution order * add e2e to create and to edit queue * update e2e chrome version * add e2e token testcase * add e2e token testcase * add e2e to run workflow testcase * add e2e timing testcase * add e2e timing testcase * add e2e timing testcase * add e2e timing testcase * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * Merge remote-tracking branch 'upstream/dev' into dev # Conflicts: # e2e/src/test/java/org/apache/dolphinscheduler/page/security/AlertManagePage.java # e2e/src/test/java/org/apache/dolphinscheduler/page/security/QueueManagePage.java * edit user * edit user * edit user * edit user * edit user * Update TimingLocator.java * modify ci log * Update ci_e2e.yml modify ci logs * Update ci_e2e.yml modify ci logs * Update ci_e2e.yml modify ci logs * Update ci_e2e.yml * Update ci_e2e.yml modify ci logs * Update ci_e2e.yml modify ci logs * Update ci_e2e.yml modify ci logs * Update ci_e2e.yml modify ci logs * Update ci_e2e.yml modify artifact version * Update ci_e2e.yml * Update ci_e2e.yml modify /var/lib/docker/volumes permissions * Update ci_e2e.yml modify ci logs * Update ci_e2e.yml Modify log file permissions * Update ci_e2e.yml modify logs * Update ci_e2e.yml modify logs * Update ci_e2e.yml modify logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * Update ci_e2e.yml modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * Update ci_e2e.yml modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify ci logs * modify tenant * modify alert wait time * modify queue wait time * modify alert wait time * modify alert wait time * modify alert wait time * modify alert wait time * modify alert wait time * modify alert wait time * modify button xpath * modify queue xpath * Ignore edit user * modify alert wait time * print delete user log * modify the xpath of delete user button * modify timing wait time Co-authored-by: chenxingchun <438044805@qq.com> Co-authored-by: dailidong <dailidong66@gmail.com>pull/3/MERGE
xingchun-chen
4 years ago
committed by
GitHub
24 changed files with 706 additions and 36 deletions
@ -0,0 +1,32 @@ |
|||||||
|
/* |
||||||
|
* 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 RunWorkflowData { |
||||||
|
/** |
||||||
|
* run workflow data |
||||||
|
*/ |
||||||
|
//input shell task name
|
||||||
|
public static final String RECIPIENT = "123456789@qq.com"; |
||||||
|
|
||||||
|
//input shell task description
|
||||||
|
public static final String Cc = "qwe12312sds@qq.com"; |
||||||
|
|
||||||
|
public static final String RUN_WORKFLOW_TITLE = "工作流定义 - DolphinScheduler"; |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
/* |
||||||
|
* 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 TimingData { |
||||||
|
/** |
||||||
|
* timing data |
||||||
|
*/ |
||||||
|
//input shell task name
|
||||||
|
public static final String RECIPIENT = "test123456@qq.com"; |
||||||
|
|
||||||
|
//input shell task description
|
||||||
|
public static final String Cc = "test.123qwe@qq.com"; |
||||||
|
|
||||||
|
public static final String EDIT_RECIPIENT = "test.edit123456@qq.com"; |
||||||
|
|
||||||
|
public static final String EDIT_Cc = "test.edit123qwe@qq.com"; |
||||||
|
|
||||||
|
public static final String WORKFLOW_TITLE = "工作流定义 - DolphinScheduler"; |
||||||
|
public static final String TIMING_TITLE = "定时任务列表 - DolphinScheduler"; |
||||||
|
} |
@ -0,0 +1,48 @@ |
|||||||
|
/* |
||||||
|
* 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 RunWorkflowLocator { |
||||||
|
/** |
||||||
|
* run workflow |
||||||
|
*/ |
||||||
|
// click run workflow button
|
||||||
|
public static final By CLICK_RUN_WORKFLOW_BUTTON = By.xpath("//div[1]/div/table/tr[2]/td[10]/button[2]"); |
||||||
|
|
||||||
|
//set running parameters
|
||||||
|
public static final By SELECT_FAILURE_STRATEGY_END = By.xpath("//div[5]/div/div[2]/div/div[3]/div[2]/div/label[2]/span[1]/input"); |
||||||
|
public static final By SELECT_FAILURE_STRATEGY_CONTINUE = By.xpath("//div[3]/div[2]/div/label[1]/span[1]/input"); |
||||||
|
|
||||||
|
public static final By CLICK_NOTICE_STRATEGY = By.xpath("//div[4]/div[2]/div/div[1]/div/input"); |
||||||
|
public static final By SELECT_NOTICE_STRATEGY = By.xpath("//div/ul/li[4]/span"); |
||||||
|
|
||||||
|
public static final By CLICK_PROCESS_PRIORITY = By.xpath("//div/div/div/div/div/span[2]"); |
||||||
|
public static final By SELECT_PROCESS_PRIORITY_HIGHEST = By.xpath("//li[1]/li/span"); |
||||||
|
|
||||||
|
public static final By CLICK_WORKER_GROUP = By.xpath("//div[6]/div[2]/div/div[1]/div/input"); |
||||||
|
public static final By SELECT_WORKER_GROUP = By.xpath("//div[5]/div/div[2]/div/div[6]/div[2]/div/div[2]/div/div/div/ul/li/span"); |
||||||
|
|
||||||
|
public static final By CLICK_NOTICE_GROUP = By.xpath("//div[7]/div[2]/div/div[1]/div/input"); |
||||||
|
public static final By SELECT_NOTICE_GROUP = By.xpath("//div[5]/div/div[2]/div/div[7]/div[2]/div/div[2]/div/div/div/ul/li/span"); |
||||||
|
|
||||||
|
public static final By INPUT_RECIPIENT = By.xpath("//div[8]/div[2]/div/div/span/span/input"); |
||||||
|
public static final By INPUT_Cc = By.xpath("//div[9]/div[2]/div/div/span/span/input"); |
||||||
|
|
||||||
|
public static final By CLICK_RUNNING_BUTTON = By.xpath("//div[11]/button[2]"); |
||||||
|
} |
@ -0,0 +1,61 @@ |
|||||||
|
/* |
||||||
|
* 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 TimingLocator { |
||||||
|
// create timing button
|
||||||
|
public static final By CLICK_TIMING_BUTTON = By.xpath("//button[3]"); |
||||||
|
|
||||||
|
public static final By CLICK_EXECUTION_TIMING_BUTTON = By.xpath("//div[3]/button/span"); |
||||||
|
|
||||||
|
public static final By SELECT_FAILURE_STRATEGY_END = By.xpath("//label[2]/span/input"); |
||||||
|
public static final By SELECT_FAILURE_STRATEGY_CONTINUE = By.xpath("//div[2]/div/label/span[2]"); |
||||||
|
|
||||||
|
public static final By CLICK_NOTICE_STRATEGY = By.xpath("//div[6]/div[2]/div/div/div/input"); |
||||||
|
public static final By SELECT_NOTICE_STRATEGY = By.xpath("//div[2]/div/div/div/ul/li[4]/span"); |
||||||
|
|
||||||
|
public static final By CLICK_PROCESS_PRIORITY = By.xpath("//div[7]/div[2]/div/div/div/div/div/span[2]"); |
||||||
|
public static final By SELECT_PROCESS_PRIORITY = By.xpath("//li/li/span"); |
||||||
|
|
||||||
|
public static final By CLICK_WORKER_GROUP = By.xpath("//div[8]/div[2]/div/div/div/input"); |
||||||
|
public static final By SELECT_WORKER_GROUP = By.xpath("//div[8]/div[2]/div/div[2]/div/div/div/ul/li/span"); |
||||||
|
|
||||||
|
public static final By CLICK_NOTICE_GROUP = By.xpath("//div[9]/div[2]/div/div/div/input"); |
||||||
|
public static final By SELECT_NOTICE_GROUP = By.xpath("//div[9]/div[2]/div/div[2]/div/div/div/ul/li/span"); |
||||||
|
|
||||||
|
public static final By INPUT_RECIPIENT = By.xpath("//div[10]/div[2]/div/div/span/span/input"); |
||||||
|
public static final By INPUT_Cc = By.xpath("//div[11]/div[2]/div/div/span/span/input"); |
||||||
|
|
||||||
|
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_EDIT_TIMING_BUTTON = By.xpath("//div[2]/div[3]/div/div[2]/div[1]/table/tr[2]/td[10]/button[1]"); |
||||||
|
|
||||||
|
//online timing
|
||||||
|
public static final By CLICK_ONLINE_TIMING_BUTTON = By.xpath("//td[10]/button[2]"); |
||||||
|
|
||||||
|
//offline timing
|
||||||
|
public static final By CLICK_OFFLINE_TIMING_BUTTON = By.xpath("//div[2]/div[3]/div/div[2]/div[1]/table/tr[2]/td[10]/button[2]"); |
||||||
|
|
||||||
|
//delete timing
|
||||||
|
public static final By CLICK_DELETE_TIMING_BUTTON = By.xpath("//div[2]/div[3]/div/div[2]/div[1]/table/tr[2]/td[10]/span/button"); |
||||||
|
public static final By CLICK_CONFIRM_DELETE_TIMING_BUTTON = By.xpath("//div[2]/div/button[2]/span"); |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
/* |
||||||
|
* 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.data.project.RunWorkflowData; |
||||||
|
import org.apache.dolphinscheduler.locator.project.RunWorkflowLocator; |
||||||
|
import org.openqa.selenium.WebDriver; |
||||||
|
|
||||||
|
public class RunWorkflowPage extends PageCommon { |
||||||
|
public RunWorkflowPage(WebDriver driver) { |
||||||
|
super(driver); |
||||||
|
} |
||||||
|
|
||||||
|
public boolean runWorkflow() throws InterruptedException { |
||||||
|
// 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); |
||||||
|
clickElement(RunWorkflowLocator.SELECT_WORKER_GROUP); |
||||||
|
clickElement(RunWorkflowLocator.CLICK_NOTICE_GROUP); |
||||||
|
clickElement(RunWorkflowLocator.SELECT_NOTICE_GROUP); |
||||||
|
sendInput(RunWorkflowLocator.INPUT_RECIPIENT, RunWorkflowData.RECIPIENT); |
||||||
|
sendInput(RunWorkflowLocator.INPUT_Cc,RunWorkflowData.Cc); |
||||||
|
clickButton(RunWorkflowLocator.CLICK_RUNNING_BUTTON); |
||||||
|
|
||||||
|
return ifTitleContains(RunWorkflowData.RUN_WORKFLOW_TITLE); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,134 @@ |
|||||||
|
/* |
||||||
|
* 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.data.project.TimingData; |
||||||
|
import org.apache.dolphinscheduler.locator.project.RunWorkflowLocator; |
||||||
|
import org.apache.dolphinscheduler.locator.project.TimingLocator; |
||||||
|
import org.openqa.selenium.WebDriver; |
||||||
|
|
||||||
|
public class TimingPage extends PageCommon { |
||||||
|
public TimingPage(WebDriver driver) { |
||||||
|
super(driver); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* create timing |
||||||
|
*/ |
||||||
|
public boolean createTiming() throws InterruptedException { |
||||||
|
// click timing button
|
||||||
|
System.out.println("Click timing button"); |
||||||
|
Thread.sleep(1000); |
||||||
|
clickButton(TimingLocator.CLICK_TIMING_BUTTON); |
||||||
|
System.out.println("Click execution timing button"); |
||||||
|
clickButton(TimingLocator.CLICK_EXECUTION_TIMING_BUTTON); |
||||||
|
Thread.sleep(1000); |
||||||
|
|
||||||
|
clickElement(TimingLocator.SELECT_FAILURE_STRATEGY_END); |
||||||
|
clickElement(TimingLocator.SELECT_FAILURE_STRATEGY_CONTINUE); |
||||||
|
clickElement(TimingLocator.CLICK_NOTICE_STRATEGY); |
||||||
|
clickElement(TimingLocator.SELECT_NOTICE_STRATEGY); |
||||||
|
Thread.sleep(500); |
||||||
|
clickElement(TimingLocator.CLICK_PROCESS_PRIORITY); |
||||||
|
clickElement(TimingLocator.SELECT_PROCESS_PRIORITY); |
||||||
|
clickElement(TimingLocator.CLICK_WORKER_GROUP); |
||||||
|
clickElement(TimingLocator.SELECT_WORKER_GROUP); |
||||||
|
clickElement(TimingLocator.CLICK_NOTICE_GROUP); |
||||||
|
clickElement(TimingLocator.SELECT_NOTICE_GROUP); |
||||||
|
sendInput(TimingLocator.INPUT_RECIPIENT, TimingData.RECIPIENT); |
||||||
|
sendInput(TimingLocator.INPUT_Cc,TimingData.Cc); |
||||||
|
clickButton(TimingLocator.CLICK_CREATE_BUTTON); |
||||||
|
|
||||||
|
return ifTitleContains(TimingData.WORKFLOW_TITLE); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* edit timing |
||||||
|
*/ |
||||||
|
public boolean editTiming() throws InterruptedException { |
||||||
|
// click timing button
|
||||||
|
System.out.println("Click timing management button"); |
||||||
|
clickButton(TimingLocator.CLICK_TIMING_MANAGEMENT_BUTTON); |
||||||
|
Thread.sleep(500); |
||||||
|
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); |
||||||
|
|
||||||
|
clickElement(TimingLocator.SELECT_FAILURE_STRATEGY_END); |
||||||
|
clickElement(TimingLocator.SELECT_FAILURE_STRATEGY_CONTINUE); |
||||||
|
clickElement(TimingLocator.CLICK_NOTICE_STRATEGY); |
||||||
|
clickElement(TimingLocator.SELECT_NOTICE_STRATEGY); |
||||||
|
Thread.sleep(500); |
||||||
|
clickElement(TimingLocator.CLICK_PROCESS_PRIORITY); |
||||||
|
clickElement(TimingLocator.SELECT_PROCESS_PRIORITY); |
||||||
|
clickElement(TimingLocator.CLICK_WORKER_GROUP); |
||||||
|
clickElement(TimingLocator.SELECT_WORKER_GROUP); |
||||||
|
clickElement(TimingLocator.CLICK_NOTICE_GROUP); |
||||||
|
clickElement(TimingLocator.SELECT_NOTICE_GROUP); |
||||||
|
sendInput(TimingLocator.INPUT_RECIPIENT, TimingData.EDIT_RECIPIENT); |
||||||
|
sendInput(TimingLocator.INPUT_Cc,TimingData.EDIT_Cc); |
||||||
|
clickButton(TimingLocator.CLICK_CREATE_BUTTON); |
||||||
|
|
||||||
|
return ifTitleContains(TimingData.TIMING_TITLE ); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* online timing |
||||||
|
*/ |
||||||
|
public boolean onlineTiming() throws InterruptedException { |
||||||
|
// click online timing button
|
||||||
|
System.out.println("Click online timing button"); |
||||||
|
Thread.sleep(500); |
||||||
|
clickButton(TimingLocator.CLICK_ONLINE_TIMING_BUTTON); |
||||||
|
|
||||||
|
return ifTitleContains(TimingData.TIMING_TITLE ); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* offline timing |
||||||
|
*/ |
||||||
|
public boolean offlineTiming() throws InterruptedException { |
||||||
|
// click offline timing button
|
||||||
|
System.out.println("Click offline timing button"); |
||||||
|
Thread.sleep(500); |
||||||
|
clickButton(TimingLocator.CLICK_OFFLINE_TIMING_BUTTON); |
||||||
|
|
||||||
|
return ifTitleContains(TimingData.TIMING_TITLE ); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* delete timing |
||||||
|
*/ |
||||||
|
public boolean deleteTiming() throws InterruptedException { |
||||||
|
// click offline timing button
|
||||||
|
System.out.println("Click delete timing button"); |
||||||
|
Thread.sleep(500); |
||||||
|
clickButton(TimingLocator.CLICK_DELETE_TIMING_BUTTON); |
||||||
|
clickButton(TimingLocator.CLICK_CONFIRM_DELETE_TIMING_BUTTON); |
||||||
|
|
||||||
|
return ifTitleContains(TimingData.WORKFLOW_TITLE ); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,41 @@ |
|||||||
|
/* |
||||||
|
* 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.CreateProjectPage; |
||||||
|
import org.apache.dolphinscheduler.page.project.CreateWorkflowPage; |
||||||
|
import org.apache.dolphinscheduler.page.project.RunWorkflowPage; |
||||||
|
import org.testng.annotations.Test; |
||||||
|
|
||||||
|
public class TestRunWorkflow extends BaseTest { |
||||||
|
private CreateWorkflowPage createWorkflowPage; |
||||||
|
private CreateProjectPage createProjectPage; |
||||||
|
private RunWorkflowPage runWorkflowPage; |
||||||
|
|
||||||
|
|
||||||
|
@Test(groups={"functionTests","runWorkflow"},dependsOnGroups = { "login","workflow" },description = "TestRunWorkflow") |
||||||
|
public void testRunWorkflow() throws InterruptedException { |
||||||
|
runWorkflowPage = new RunWorkflowPage(driver); |
||||||
|
|
||||||
|
createProjectPage = new CreateProjectPage(driver); |
||||||
|
System.out.println("start run workflow"); |
||||||
|
assert runWorkflowPage.runWorkflow(); |
||||||
|
System.out.println("end run workflow"); |
||||||
|
System.out.println("==================================="); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,75 @@ |
|||||||
|
/* |
||||||
|
* 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.TimingPage; |
||||||
|
import org.testng.annotations.Test; |
||||||
|
|
||||||
|
public class TestTiming extends BaseTest { |
||||||
|
private TimingPage timingPage; |
||||||
|
|
||||||
|
@Test(groups={"functionTests","createTiming"},dependsOnGroups = { "login","workflow"},description = "TestCreateTiming") |
||||||
|
public void testCreateTiming() throws InterruptedException { |
||||||
|
timingPage = new TimingPage(driver); |
||||||
|
|
||||||
|
System.out.println("start create timing"); |
||||||
|
assert timingPage.createTiming(); |
||||||
|
System.out.println("end create timing"); |
||||||
|
System.out.println("==================================="); |
||||||
|
|
||||||
|
} |
||||||
|
@Test(groups={"functionTests","timing"},dependsOnGroups = { "login","workflow"},description = "TestEditTiming") |
||||||
|
public void testEditTiming() throws InterruptedException { |
||||||
|
timingPage = new TimingPage(driver); |
||||||
|
|
||||||
|
System.out.println("start edit timing"); |
||||||
|
assert timingPage.editTiming(); |
||||||
|
System.out.println("end edit timing"); |
||||||
|
System.out.println("==================================="); |
||||||
|
} |
||||||
|
|
||||||
|
@Test(groups={"functionTests","timing"},dependsOnGroups = { "login","workflow" },description = "TestOnlineTiming") |
||||||
|
public void testOnlineTiming() throws InterruptedException { |
||||||
|
timingPage = new TimingPage(driver); |
||||||
|
|
||||||
|
System.out.println("start online timing"); |
||||||
|
assert timingPage.onlineTiming(); |
||||||
|
System.out.println("end online timing"); |
||||||
|
System.out.println("==================================="); |
||||||
|
} |
||||||
|
|
||||||
|
@Test(groups={"functionTests","timing"},dependsOnGroups = { "login","workflow"},description = "TestOfflineTiming") |
||||||
|
public void testOfflineTiming() throws InterruptedException { |
||||||
|
timingPage = new TimingPage(driver); |
||||||
|
|
||||||
|
System.out.println("start offline timing"); |
||||||
|
assert timingPage.offlineTiming(); |
||||||
|
System.out.println("end offline timing"); |
||||||
|
System.out.println("==================================="); |
||||||
|
} |
||||||
|
|
||||||
|
@Test(groups={"functionTests","timing"},dependsOnGroups = { "login","workflow"},description = "TestDeleteTiming") |
||||||
|
public void testDeleteTiming() throws InterruptedException { |
||||||
|
timingPage = new TimingPage(driver); |
||||||
|
|
||||||
|
System.out.println("start delete timing"); |
||||||
|
assert timingPage.deleteTiming(); |
||||||
|
System.out.println("end delete timing"); |
||||||
|
System.out.println("==================================="); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue