• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 package ohos.devtools.fixture;
17 
18 import ohos.devtools.datasources.databases.databaseapi.DataBaseApi;
19 import ohos.devtools.datasources.utils.device.service.MultiDeviceManager;
20 import ohos.devtools.datasources.utils.plugin.IPluginConfig;
21 import ohos.devtools.datasources.utils.plugin.service.PlugManager;
22 import ohos.devtools.datasources.utils.process.service.ProcessManager;
23 import ohos.devtools.datasources.utils.profilerlog.ProfilerLogManager;
24 import ohos.devtools.datasources.utils.session.service.SessionManager;
25 import ohos.devtools.pluginconfig.AgentConfig;
26 import ohos.devtools.pluginconfig.BytraceConfig;
27 import ohos.devtools.pluginconfig.CpuConfig;
28 import ohos.devtools.pluginconfig.DiskIoConfig;
29 import ohos.devtools.pluginconfig.FtraceConfig;
30 import ohos.devtools.pluginconfig.HilogConfig;
31 import ohos.devtools.pluginconfig.MemoryConfig;
32 import ohos.devtools.pluginconfig.ProcessConfig;
33 import ohos.devtools.pluginconfig.UserConfig;
34 import ohos.devtools.views.common.UtConstant;
35 import ohos.devtools.views.layout.HomePanel;
36 import ohos.devtools.views.user.UserManager;
37 import org.apache.logging.log4j.Level;
38 import org.assertj.swing.fixture.FrameFixture;
39 import org.junit.After;
40 import org.junit.Before;
41 import org.junit.Test;
42 
43 import javax.swing.JFrame;
44 import java.awt.AWTException;
45 import java.util.ArrayList;
46 import java.util.List;
47 import java.util.Objects;
48 import java.util.concurrent.TimeUnit;
49 
50 /**
51  * Metrics Button Fixture Test
52  *
53  * @since 2021/2/1 9:31
54  */
55 public class MetricsButtonFixtureTest {
56     private FrameFixture frameFixture;
57 
58     /**
59      * init
60      *
61      * @tc.name: init
62      * @tc.number: OHOS_JAVA_init_0001
63      * @tc.desc: init
64      * @tc.type: functional testing
65      * @tc.require: AR000FK5UI
66      * @throws AWTException AWTException
67      */
68     @Before
init()69     public void init() throws AWTException {
70         ProcessManager.getInstance().setIsRequest(false);
71         SessionManager.getInstance().settingPermissions();
72         ProfilerLogManager.getSingleton().updateLogLevel(Level.ERROR);
73         PlugManager.getInstance().unzipStdDevelopTools();
74         DataBaseApi.getInstance().initDataSourceManager();
75         MultiDeviceManager.getInstance().start();
76         List<Class<? extends IPluginConfig>> plugConfigList = new ArrayList();
77         plugConfigList.add(ProcessConfig.class);
78         plugConfigList.add(AgentConfig.class);
79         plugConfigList.add(BytraceConfig.class);
80         plugConfigList.add(FtraceConfig.class);
81         plugConfigList.add(CpuConfig.class);
82         plugConfigList.add(HilogConfig.class);
83         if (Objects.nonNull(UserManager.getInstance().getSdkImpl())) {
84             plugConfigList.add(UserConfig.class);
85         }
86         plugConfigList.add(DiskIoConfig.class);
87         plugConfigList.add(MemoryConfig.class);
88         PlugManager.getInstance().loadingPlugs(plugConfigList);
89         while (true) {
90             if (MultiDeviceManager.getInstance().getOnlineDeviceInfoList().size() > 0) {
91                 break;
92             }
93         }
94         JFrame frame = new JFrame();
95         frame.add(new HomePanel());
96         frameFixture = new FrameFixture(frame);
97         // Display the frame
98         frameFixture.show();
99     }
100 
101     /**
102      * system Start Task Test
103      *
104      * @tc.name: systemStartTaskTest
105      * @tc.number: OHOS_JAVA_systemStartTaskTest_0001
106      * @tc.desc: system Start Task Test
107      * @tc.type: functional testing
108      * @tc.require: AR000FK5UI
109      * @throws InterruptedException InterruptedException
110      */
111     @Test
systemStartTaskTest()112     public void systemStartTaskTest() throws InterruptedException {
113         frameFixture.label(UtConstant.UT_WELCOME_PANEL_NEW_TASK_BTN).click();
114         frameFixture.label(UtConstant.UT_TASK_PANEL_SYSTEM).click();
115         frameFixture.button(UtConstant.UT_TASK_PANEL_CHOOSE).click();
116         frameFixture.label(UtConstant.UT_SYSTEM_TUNING_LABEL).click();
117         frameFixture.checkBox(UtConstant.UT_SYSTEM_TUNING_CATEGORIES).click();
118         frameFixture.button(UtConstant.UT_TASK_SCENE_PANE_START).click();
119         TimeUnit.SECONDS.sleep(20);
120         frameFixture.button(UtConstant.UT_SYSTEM_TUNING_METRICS).click();
121         TimeUnit.SECONDS.sleep(5);
122         frameFixture.panel(UtConstant.UT_TASK_PANEL_CLOSE).click();
123     }
124 
125     /**
126      * tear Down
127      *
128      * @tc.name: tearDown
129      * @tc.number: OHOS_JAVA_tearDown_0001
130      * @tc.desc: tear Down
131      * @tc.type: test Window
132      * @tc.require: AR000FK5UI
133      */
134     @After
tearDown()135     public void tearDown() {
136         frameFixture.cleanUp();
137     }
138 }
139