• 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.Assert;
41 import org.junit.Before;
42 import org.junit.Test;
43 
44 import javax.swing.JFrame;
45 import java.awt.AWTException;
46 import java.util.ArrayList;
47 import java.util.List;
48 import java.util.Objects;
49 import java.util.concurrent.TimeUnit;
50 
51 /**
52  * Application Turning Fixture Test
53  *
54  * @since 2021/2/1 9:31
55  */
56 public class ApplicationTurningFixtureTest {
57     private FrameFixture frameFixture;
58 
59     /**
60      * init
61      *
62      * @tc.name: init
63      * @tc.number: OHOS_JAVA_init_0001
64      * @tc.desc: init
65      * @tc.type: functional testing
66      * @tc.require: AR000FK5UI
67      * @throws AWTException AWTException
68      */
69     @Before
init()70     public void init() throws AWTException {
71         // Initialization data
72         ProcessManager.getInstance().setIsRequest(false);
73         SessionManager.getInstance().settingPermissions();
74         ProfilerLogManager.getSingleton().updateLogLevel(Level.ERROR);
75         PlugManager.getInstance().unzipStdDevelopTools();
76         DataBaseApi.getInstance().initDataSourceManager();
77         MultiDeviceManager.getInstance().start();
78         List<Class<? extends IPluginConfig>> plugConfigList = new ArrayList();
79         plugConfigList.add(ProcessConfig.class);
80         plugConfigList.add(AgentConfig.class);
81         plugConfigList.add(BytraceConfig.class);
82         plugConfigList.add(FtraceConfig.class);
83         plugConfigList.add(CpuConfig.class);
84         plugConfigList.add(HilogConfig.class);
85         if (Objects.nonNull(UserManager.getInstance().getSdkImpl())) {
86             plugConfigList.add(UserConfig.class);
87         }
88         plugConfigList.add(DiskIoConfig.class);
89         plugConfigList.add(MemoryConfig.class);
90         PlugManager.getInstance().loadingPlugs(plugConfigList);
91         while (true) {
92             if (MultiDeviceManager.getInstance().getOnlineDeviceInfoList().size() > 0) {
93                 break;
94             }
95         }
96         JFrame frame = new JFrame();
97         frame.add(new HomePanel());
98         frameFixture = new FrameFixture(frame);
99         // Display the frame
100         frameFixture.show();
101     }
102 
103     /**
104      * test Window
105      *
106      * @tc.name: testWindow
107      * @tc.number: OHOS_JAVA_testWindow_0001
108      * @tc.desc: test Window
109      * @tc.type: test Window
110      * @tc.require: AR000FK5UI
111      * @throws InterruptedException InterruptedException
112      */
113     @Test
testWindow()114     public void testWindow() throws InterruptedException {
115         frameFixture.label(UtConstant.UT_WELCOME_PANEL_NEW_TASK_BTN).click();
116         frameFixture.label(UtConstant.UT_TASK_PANEL_APPLICATION).click();
117         String text = frameFixture.label(UtConstant.UT_TASK_PANEL_APPLICATION).text();
118         Assert.assertEquals(text, "Application Tuning");
119         frameFixture.button(UtConstant.UT_TASK_PANEL_CHOOSE).requireText(UtConstant.UT_TASK_PANEL_CHOOSE);
120         frameFixture.button(UtConstant.UT_TASK_PANEL_CHOOSE).click();
121         TimeUnit.SECONDS.sleep(2);
122         // Close the main interface
123         frameFixture.panel(UtConstant.UT_TASK_PANEL_CLOSE).click();
124         SessionManager.getInstance().stopAllSession();
125         TimeUnit.SECONDS.sleep(6);
126     }
127 
128     /**
129      * tear Down
130      *
131      * @tc.name: tearDown
132      * @tc.number: OHOS_JAVA_tearDown_0001
133      * @tc.desc: tear Down
134      * @tc.type: test Window
135      * @tc.require: AR000FK5UI
136      */
137     @After
tearDown()138     public void tearDown() {
139         frameFixture.close();
140         frameFixture.cleanUp();
141     }
142 }
143