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 * Device Choose Fixture Test 53 * 54 * @since 2021/2/1 9:31 55 */ 56 public class DeviceChooseFixtureTest { 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 frameFixture.button(UtConstant.UT_TASK_PANEL_CHOOSE).requireText(UtConstant.UT_TASK_PANEL_CHOOSE); 118 frameFixture.button(UtConstant.UT_TASK_PANEL_CHOOSE).click(); 119 TimeUnit.SECONDS.sleep(5); 120 // Device connection display 121 frameFixture.comboBox(UtConstant.UT_DEVICE_PROCESS_PANEL_DEVICE_NAME).click(); 122 frameFixture.comboBox(UtConstant.UT_DEVICE_PROCESS_PANEL_DEVICE_NAME).selectItem(0); 123 int deviceTotal = frameFixture.comboBox(UtConstant.UT_DEVICE_PROCESS_PANEL_DEVICE_NAME).contents().length; 124 Assert.assertEquals(1, deviceTotal); 125 // Close the main interface 126 frameFixture.panel(UtConstant.UT_TASK_PANEL_CLOSE).click(); 127 } 128 129 /** 130 * tear Down 131 * 132 * @tc.name: tearDown 133 * @tc.number: OHOS_JAVA_tearDown_0001 134 * @tc.desc: tear Down 135 * @tc.type: test Window 136 * @tc.require: AR000FK5UI 137 */ 138 @After tearDown()139 public void tearDown() { 140 frameFixture.close(); 141 frameFixture.cleanUp(); 142 } 143 } 144