From a97bba0dec84bf862a0932cf3bdaade10779f384 Mon Sep 17 00:00:00 2001 From: Phung Vo Duc An Date: Mon, 10 Apr 2023 11:55:45 +0700 Subject: [PATCH 1/2] Add TC Remove Azure Module and Generate Code --- .../src/parameters/ProjectParameters.java | 2 + .../AddAzureModuleAndGenerateCode.java | 18 +- .../src/testsuites/ChangeRTOSVersion.java | 19 +- .../RemoveAzureModuleAndGenerateCode.java | 228 ++++++++++++++++++ swtbot_test/src/utilities/Utility.java | 26 +- 5 files changed, 269 insertions(+), 24 deletions(-) create mode 100644 swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java diff --git a/swtbot_test/src/parameters/ProjectParameters.java b/swtbot_test/src/parameters/ProjectParameters.java index 5301fbe..4252dc5 100644 --- a/swtbot_test/src/parameters/ProjectParameters.java +++ b/swtbot_test/src/parameters/ProjectParameters.java @@ -26,6 +26,8 @@ public class ProjectParameters { public static final String CODE_GENERATING = "Code Generating"; public static final String WINDOW_CHANGE_VERSION = "Change Version"; public static final String SCFG_COMPONENT_TAB = "Components"; + public static final String GENERAL = "General"; + public static final CharSequence WINDOW_QUESTION = "Question"; public class RTOSType { diff --git a/swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java b/swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java index 466b21e..7aad492 100644 --- a/swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java +++ b/swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java @@ -13,6 +13,7 @@ import org.junit.FixMethodOrder; import org.junit.runners.MethodSorters; +import common.Constants; import common.LogUtil; import utilities.PGUtility; import utilities.Utility; @@ -20,8 +21,10 @@ import model.ProjectModel; import model.RTOSManager; import parameters.ProjectParameters; +import parameters.ProjectParameters.RTOSApplication; import parameters.ProjectParameters.RTOSType; import parameters.ProjectParameters.RTOSVersion; +import parameters.ProjectParameters.TargetBoard; import platform.PlatformModel; @FixMethodOrder(MethodSorters.NAME_ASCENDING) @@ -36,17 +39,12 @@ public static void beforeClass() throws Exception { bot = new SWTWorkbenchBot(); PlatformModel.loadPlatformModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, PLATFORM_XML_FILE))); RTOSManager.loadRTOSModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, RTOS_PG_XML_FILE))); - Collection list = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1,"addAzureModuleAndGenCode"); - if(list.size()==1) { - for(ProjectModel model:list) { - projectModelSpecific=model; - } - } + projectModelSpecific = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_BARE, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_RSK_RX65N_2MB); } @Test public void tc_01_CreateThreadxProject() throws Exception{ - PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1,"addAzureModuleAndGenCode"); + PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_BARE, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_RSK_RX65N_2MB); } @@ -55,7 +53,7 @@ public void tc_02_AddComponentFilex() throws Exception{ Utility.openSCFGEditor(projectModelSpecific); Utility.addComponentAndGenerate("filex"); Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " [HardwareDebug]"); + SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).expand(); SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).getItems(); @@ -74,7 +72,7 @@ public void tc_03_AddComponentNetxduo() throws Exception{ bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); Utility.addComponentAndGenerate("netx"); Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " [HardwareDebug]"); + SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.NETXDUO) .expand(); @@ -96,7 +94,7 @@ public void tc_04_AddComponentNetxduoAddons() throws Exception{ ; Utility.addComponentAndGenerate("netx duo addons"); Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " [HardwareDebug]"); + SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).expand(); diff --git a/swtbot_test/src/testsuites/ChangeRTOSVersion.java b/swtbot_test/src/testsuites/ChangeRTOSVersion.java index 14cbfe5..c59be45 100644 --- a/swtbot_test/src/testsuites/ChangeRTOSVersion.java +++ b/swtbot_test/src/testsuites/ChangeRTOSVersion.java @@ -14,6 +14,7 @@ import org.junit.FixMethodOrder; import org.junit.runners.MethodSorters; +import common.Constants; import common.LogUtil; import utilities.PGUtility; import utilities.Utility; @@ -21,8 +22,10 @@ import model.ProjectModel; import model.RTOSManager; import parameters.ProjectParameters; +import parameters.ProjectParameters.RTOSApplication; import parameters.ProjectParameters.RTOSType; import parameters.ProjectParameters.RTOSVersion; +import parameters.ProjectParameters.TargetBoard; import platform.PlatformModel; @FixMethodOrder(MethodSorters.NAME_ASCENDING) @@ -37,18 +40,12 @@ public static void beforeClass() throws Exception { bot = new SWTWorkbenchBot(); PlatformModel.loadPlatformModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, PLATFORM_XML_FILE))); RTOSManager.loadRTOSModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, RTOS_PG_XML_FILE))); - Collection list = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1,"changeRTOSVersion"); - if(list.size()==1) { - for(ProjectModel model:list) { - projectModelSpecific=model; - } - } + projectModelSpecific = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_USBX_CDC, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_CK_RX65N); } @Test public void tc_01_CreateUsbxProject() throws Exception{ - PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1,"changeRTOSVersion"); - + PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_USBX_CDC, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_CK_RX65N); } @Test @@ -61,8 +58,8 @@ public void tc_02_ChangeRTOSVersion() throws Exception{ bot.button(ProjectParameters.ButtonAction.BUTTON_NEXT).click(); SWTBotTreeItem[] allItems= bot.tree().getAllItems(); boolean isUsbXShowInTable = false; - for(SWTBotTreeItem item:allItems) { - if (item.getText().contains("usbx configurations")) { + for (SWTBotTreeItem item : allItems) { + if (item.cell(0).contains("usbx configurations") && item.cell(1).contains("Removed")) { isUsbXShowInTable = true; } } @@ -73,7 +70,7 @@ public void tc_02_ChangeRTOSVersion() throws Exception{ if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) { bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click(); } - bot.sleep(15000); + bot.sleep(20000); boolean isUsbXInComponentTree = false; bot.text().setText(""); bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).expand(); diff --git a/swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java b/swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java new file mode 100644 index 0000000..5050ee7 --- /dev/null +++ b/swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java @@ -0,0 +1,228 @@ +package testsuites; + +import static org.junit.Assert.assertFalse; + +import java.io.File; +import java.util.Collection; +import java.util.List; + +import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; +import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor; +import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem; +import org.junit.Test; +import org.junit.BeforeClass; +import org.junit.FixMethodOrder; +import org.junit.runners.MethodSorters; + +import common.Constants; +import common.LogUtil; +import utilities.PGUtility; +import utilities.Utility; + +import model.ProjectModel; +import model.RTOSManager; +import parameters.ProjectParameters; +import parameters.ProjectParameters.RTOSApplication; +import parameters.ProjectParameters.RTOSType; +import parameters.ProjectParameters.RTOSVersion; +import parameters.ProjectParameters.TargetBoard; +import platform.PlatformModel; + +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class RemoveAzureModuleAndGenerateCode{ + private static SWTWorkbenchBot bot; + private static ProjectModel projectModelSpecific = new ProjectModel(); + private static final String PLATFORM_XML_FILE = "xml/platformdata.xml"; + private static final String RTOS_PG_XML_FILE = "xml/rtospg.xml"; + + @BeforeClass + public static void beforeClass() throws Exception { + bot = new SWTWorkbenchBot(); + PlatformModel.loadPlatformModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, PLATFORM_XML_FILE))); + RTOSManager.loadRTOSModel(new File(Utility.getBundlePath(LogUtil.PLUGIN_ID, RTOS_PG_XML_FILE))); + projectModelSpecific = PGUtility.prepareProjectModel(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_BARE, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_RSK_RX65N_2MB); + } + + @Test + public void tc_01_CreateThreadxProject() throws Exception{ + PGUtility.createProject(RTOSType.AZURE, RTOSVersion.Azure_6_2_1, RTOSApplication.AZURE_BARE, Constants.CCRX_TOOLCHAIN, TargetBoard.BOARD_RSK_RX65N_2MB); + + } + + @Test + public void tc_02_AddComponentFilex() throws Exception{ + Utility.openSCFGEditor(projectModelSpecific); + Utility.addComponentAndGenerate("filex"); + Utility.getProjectExplorerView().setFocus(); + SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).expand(); + SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).getItems(); + boolean isFileExist = false; + for(SWTBotTreeItem item: items) { + if(item.getText().contains(ProjectParameters.FolderAndFile.FILE_FX_USER_H)) { + isFileExist = true; + } + } + if (!isFileExist) { + assertFalse(true); + } + } + @Test + public void tc_03_AddComponentNetxduo() throws Exception{ + bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); + Utility.addComponentAndGenerate("netx"); + Utility.getProjectExplorerView().setFocus(); + SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.NETXDUO) + .expand(); + SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO).getItems(); + boolean isFileExist = false; + for (SWTBotTreeItem item : items) { + if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NX_USER_H)) { + isFileExist = true; + } + } + if (!isFileExist) { + assertFalse(true); + } + } + @Test + public void tc_04_AddComponentNetxduoAddons() throws Exception{ + bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); + Utility.addComponentAndGenerate("netx duo addons"); + Utility.getProjectExplorerView().setFocus(); + SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).expand(); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).expand(); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).expand(); + SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).getItems(); + boolean isFileExist = false; + for (SWTBotTreeItem item : items) { + if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NXD_DHCP_CLIENT_H)) { + isFileExist = true; + } + } + if (!isFileExist) { + assertFalse(true); + } + } + @Test + public void tc_05_RemoveComponentFilex() throws Exception{ + bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); + Utility.removeComponentAndGenerate(ProjectParameters.RTOSComponent.FILEX); + Utility.openProjectExplorer(); + bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select(); + SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); + List folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes(); + boolean isFileExist = false; + for (String libsItem : folderLibsItem) { + if (libsItem.equals(ProjectParameters.RTOSComponent.FILEX)) { + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.FILEX).expand(); + SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.FILEX).getItems(); + for (SWTBotTreeItem item : items) { + if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_FX_USER_H)) { + isFileExist = true; + } + } + } + } + if (isFileExist) { + assertFalse(true); + } + } + + @Test + public void tc_06_RemoveComponentNetxduoAddons() throws Exception{ + bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); + Utility.removeComponentAndGenerate(ProjectParameters.RTOSComponent.NETXDUO_ADDONS); + Utility.openProjectExplorer(); + bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select(); + SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); + List folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes(); + boolean isFileExist = false; + for (String libsItem : folderLibsItem) { + if (libsItem.equals(ProjectParameters.RTOSComponent.NETXDUO_ADDONS)) { + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).expand(); + SWTBotTreeItem[] folderAddonitems = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).getItems(); + for (SWTBotTreeItem addonItem : folderAddonitems) { + if (addonItem.getText().contains(ProjectParameters.FolderAndFile.FOLDER_ADDONS)) { + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).expand(); + SWTBotTreeItem[] folderDhcpItems = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).getItems(); + for (SWTBotTreeItem dhcpItem : folderDhcpItems) { + if (addonItem.getText().contains(ProjectParameters.FolderAndFile.FOLDER_DHCP)) { + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).expand(); + SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).getItems(); + for (SWTBotTreeItem item : items) { + if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NXD_DHCP_CLIENT_H)) { + isFileExist = true; + } + } + } + } + } + } + } + } + if (isFileExist) { + assertFalse(true); + } + } + + @Test + public void tc_07_RemoveComponentNetxduo() throws Exception{ + bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); + Utility.removeComponentAndGenerate(ProjectParameters.RTOSComponent.NETXDUO); + Utility.openProjectExplorer(); + bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select(); + SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); + List folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes(); + boolean isFileExist = false; + for (String libsItem : folderLibsItem) { + if (libsItem.equals(ProjectParameters.RTOSComponent.NETXDUO)) { + project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO).expand(); + SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) + .getNode(ProjectParameters.RTOSComponent.NETXDUO).getItems(); + for (SWTBotTreeItem item : items) { + if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NX_USER_H)) { + isFileExist = true; + } + } + } + } + bot.text().setText(""); + if (isFileExist) { + assertFalse(true); + } + } +} diff --git a/swtbot_test/src/utilities/Utility.java b/swtbot_test/src/utilities/Utility.java index 6ddb5a5..66b766d 100644 --- a/swtbot_test/src/utilities/Utility.java +++ b/swtbot_test/src/utilities/Utility.java @@ -122,8 +122,8 @@ public static String convertRTOSTypeToDisplay(String rtosType) { public static void openSCFGEditor(ProjectModel projectModel) { Utility.getProjectExplorerView().setFocus(); - bot.tree().getTreeItem(projectModel.getProjectName() + " [HardwareDebug]").expand(); - bot.tree().getTreeItem(projectModel.getProjectName() + " [HardwareDebug]").getNode(projectModel.getProjectName()+".scfg").doubleClick(); + bot.tree().getTreeItem(projectModel.getProjectName() + " ["+ projectModel.getActiveBuildConfiguration() +"]").expand(); + bot.tree().getTreeItem(projectModel.getProjectName() + " ["+ projectModel.getActiveBuildConfiguration() +"]").getNode(projectModel.getProjectName()+".scfg").doubleClick(); SWTBotEditor scfgEditor = bot.editorByTitle(projectModel.getProjectName()+".scfg"); scfgEditor.setFocus(); bot.cTabItem(ProjectParameters.SCFG_COMPONENT_TAB).activate(); @@ -142,11 +142,31 @@ public static void addComponentAndGenerate(String componentName) { bot.sleep(15000); } + public static void removeComponentAndGenerate(String componentName) { + bot.text().setText(componentName); + bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY) + .getNode(componentName).select(); + bot.toolbarButtonWithTooltip(ProjectParameters.ButtonAction.BUTTON_REMOVE_COMPONENT).click(); + if (bot.activeShell().getText().contains(ProjectParameters.WINDOW_QUESTION)) { + bot.button(ProjectParameters.ButtonAction.BUTTON_YES).click(); + } + bot.toolbarButton(ProjectParameters.ButtonAction.BUTTON_GENERATE_CODE).click(); + bot.sleep(5000); + if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) { + bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click(); + } + if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) { + bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click(); + } + bot.sleep(15000); + } + public static void openProjectExplorer() { bot.menu(ProjectParameters.MenuName.MENU_WINDOW).menu(ProjectParameters.MenuName.MENU_SHOW_VIEW) .menu(ProjectParameters.MenuName.MENU_OTHER).click(); bot.text().setText(ProjectParameters.WINDOW_PROJECT_EXPLORER); - SWTBotTreeItem treeItem = bot.tree().getTreeItem("General"); + SWTBotTreeItem treeItem = bot.tree().getTreeItem(ProjectParameters.GENERAL); bot.waitUntil(org.eclipse.swtbot.swt.finder.waits.Conditions.treeItemHasNode(treeItem, ProjectParameters.WINDOW_PROJECT_EXPLORER)); treeItem.getNode(ProjectParameters.WINDOW_PROJECT_EXPLORER).select(); From c43ee20673f5ff988cf864ded2d6e10ee12ef3d1 Mon Sep 17 00:00:00 2001 From: Phung Vo Duc An Date: Tue, 11 Apr 2023 13:10:22 +0700 Subject: [PATCH 2/2] Check for component in add and remove instead of File Separate add remove component utils with click generate code check for RTOS version in changeRTOSVersion --- .../src/parameters/ProjectParameters.java | 5 + .../AddAzureModuleAndGenerateCode.java | 65 ++----- .../src/testsuites/ChangeRTOSVersion.java | 29 ++- .../RemoveAzureModuleAndGenerateCode.java | 165 +++--------------- swtbot_test/src/utilities/Utility.java | 41 +++-- 5 files changed, 83 insertions(+), 222 deletions(-) diff --git a/swtbot_test/src/parameters/ProjectParameters.java b/swtbot_test/src/parameters/ProjectParameters.java index 4252dc5..3f2efd7 100644 --- a/swtbot_test/src/parameters/ProjectParameters.java +++ b/swtbot_test/src/parameters/ProjectParameters.java @@ -119,6 +119,7 @@ public class LabelName { public static final String LABEL_TARGET_DEVICE = "&Target Device:"; public static final String LABEL_FILTER = "Filter"; public static final String LABEL_AVAILABLE_VERSION = "&Available versions:"; + public static final String LABEL_CURRENT_VERSION = "&Current version:"; } public class MenuName { @@ -145,6 +146,8 @@ public class FolderAndFile { public static final String FILE_FX_USER_H = "fx_user.h"; public static final String FILE_NX_USER_H = "nx_user.h"; public static final String FILE_NXD_DHCP_CLIENT_H = "nxd_dhcp_client.h"; + public static final String FOLDER_RTOS_KERNEL = "RTOS Kernel"; + public static final String FOLDER_RTOS_OBJECT = "RTOS Object"; } public class RTOSComponent { @@ -152,5 +155,7 @@ public class RTOSComponent { public static final String NETXDUO = "netxduo"; public static final String NETXDUO_ADDONS = "netxduo_addons"; public static final String USBX = "usbx"; + public static final String THREADX = "threadx"; + public static final String AZURERTOS_OBJECT = "azurertos_object"; } } diff --git a/swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java b/swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java index 7aad492..efba2b2 100644 --- a/swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java +++ b/swtbot_test/src/testsuites/AddAzureModuleAndGenerateCode.java @@ -51,71 +51,30 @@ public void tc_01_CreateThreadxProject() throws Exception{ @Test public void tc_02_AddComponentFilex() throws Exception{ Utility.openSCFGEditor(projectModelSpecific); - Utility.addComponentAndGenerate("filex"); - Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).getItems(); - boolean isFileExist = false; - for(SWTBotTreeItem item: items) { - if(item.getText().contains(ProjectParameters.FolderAndFile.FILE_FX_USER_H)) { - isFileExist = true; - } - } - if (!isFileExist) { + Utility.addComponent("filex"); + Utility.clickGenerateCode(); + boolean isFileXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.FILEX); + if (!isFileXInComponentTree) { assertFalse(true); } } @Test public void tc_03_AddComponentNetxduo() throws Exception{ bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); - Utility.addComponentAndGenerate("netx"); - Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.NETXDUO) - .expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO).getItems(); - boolean isFileExist = false; - for (SWTBotTreeItem item : items) { - if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NX_USER_H)) { - isFileExist = true; - } - } - if (!isFileExist) { + Utility.addComponent("netx"); + Utility.clickGenerateCode(); + boolean isNetXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO); + if (!isNetXInComponentTree) { assertFalse(true); } } @Test public void tc_04_AddComponentNetxduoAddons() throws Exception{ bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); - ; - Utility.addComponentAndGenerate("netx duo addons"); - Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).getItems(); - boolean isFileExist = false; - for (SWTBotTreeItem item : items) { - if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NXD_DHCP_CLIENT_H)) { - isFileExist = true; - } - } - if (!isFileExist) { + Utility.addComponent("netx duo addons"); + Utility.clickGenerateCode(); + boolean isAddonsInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO_ADDONS); + if (!isAddonsInComponentTree) { assertFalse(true); } } diff --git a/swtbot_test/src/testsuites/ChangeRTOSVersion.java b/swtbot_test/src/testsuites/ChangeRTOSVersion.java index c59be45..c917559 100644 --- a/swtbot_test/src/testsuites/ChangeRTOSVersion.java +++ b/swtbot_test/src/testsuites/ChangeRTOSVersion.java @@ -51,9 +51,8 @@ public void tc_01_CreateUsbxProject() throws Exception{ @Test public void tc_02_ChangeRTOSVersion() throws Exception{ Utility.openSCFGEditor(projectModelSpecific); - Utility.getProjectExplorerView().close(); bot.text().setText(ProjectParameters.RTOSComponent.USBX); - bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getNode(ProjectParameters.RTOSComponent.USBX).contextMenu(ProjectParameters.MenuName.MENU_CHANGE_VERSION).click(); + bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getNode(ProjectParameters.RTOSComponent.USBX).contextMenu(ProjectParameters.MenuName.MENU_CHANGE_VERSION).click(); bot.comboBoxWithLabel(ProjectParameters.LabelName.LABEL_AVAILABLE_VERSION).setSelection(ProjectParameters.RTOSVersion.Azure_6_1_6); bot.button(ProjectParameters.ButtonAction.BUTTON_NEXT).click(); SWTBotTreeItem[] allItems= bot.tree().getAllItems(); @@ -70,23 +69,17 @@ public void tc_02_ChangeRTOSVersion() throws Exception{ if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) { bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click(); } - bot.sleep(20000); - boolean isUsbXInComponentTree = false; - bot.text().setText(""); - bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).expand(); - List RTOSFolder = bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNodes(); - for(String folder:RTOSFolder) { - if (folder.contains(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY)) { - SWTBotTreeItem[] componentItems = bot.tree().getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getItems(); - for (SWTBotTreeItem currentItem: componentItems) { - if (currentItem.getText().contains(ProjectParameters.RTOSComponent.USBX)) { - isUsbXInComponentTree = true; - } - } - } - } + bot.sleep(25000); + boolean isUsbXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.USBX); + Utility.addComponent(ProjectParameters.RTOSComponent.FILEX); + bot.text().setText(ProjectParameters.RTOSComponent.FILEX); + bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS) + .getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getNode(ProjectParameters.RTOSComponent.FILEX).contextMenu(ProjectParameters.MenuName.MENU_CHANGE_VERSION).click(); + String currentVersion = bot.textWithLabel(ProjectParameters.LabelName.LABEL_CURRENT_VERSION).getText(); + bot.button(ProjectParameters.ButtonAction.BUTTON_CANCEL).click(); + boolean isVersionChange = currentVersion.contains(ProjectParameters.RTOSVersion.Azure_6_1_6); Utility.openProjectExplorer(); - if (!isUsbXShowInTable || isUsbXInComponentTree) { + if (!isUsbXShowInTable || isUsbXInComponentTree || !isVersionChange) { assertFalse(true); } } diff --git a/swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java b/swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java index 5050ee7..c4979ad 100644 --- a/swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java +++ b/swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java @@ -52,97 +52,40 @@ public void tc_01_CreateThreadxProject() throws Exception{ @Test public void tc_02_AddComponentFilex() throws Exception{ Utility.openSCFGEditor(projectModelSpecific); - Utility.addComponentAndGenerate("filex"); - Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.FILEX).getItems(); - boolean isFileExist = false; - for(SWTBotTreeItem item: items) { - if(item.getText().contains(ProjectParameters.FolderAndFile.FILE_FX_USER_H)) { - isFileExist = true; - } - } - if (!isFileExist) { + Utility.addComponent("filex"); + Utility.clickGenerateCode(); + boolean isFileXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.FILEX); + if (!isFileXInComponentTree) { assertFalse(true); } } @Test public void tc_03_AddComponentNetxduo() throws Exception{ bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); - Utility.addComponentAndGenerate("netx"); - Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNode(ProjectParameters.RTOSComponent.NETXDUO) - .expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO).getItems(); - boolean isFileExist = false; - for (SWTBotTreeItem item : items) { - if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NX_USER_H)) { - isFileExist = true; - } - } - if (!isFileExist) { + Utility.addComponent("netx"); + Utility.clickGenerateCode(); + boolean isNetXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO); + if (!isNetXInComponentTree) { assertFalse(true); } } @Test public void tc_04_AddComponentNetxduoAddons() throws Exception{ bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); - Utility.addComponentAndGenerate("netx duo addons"); - Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project = bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).expand(); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).getItems(); - boolean isFileExist = false; - for (SWTBotTreeItem item : items) { - if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NXD_DHCP_CLIENT_H)) { - isFileExist = true; - } - } - if (!isFileExist) { + Utility.addComponent("netx duo addons"); + Utility.clickGenerateCode(); + boolean isAddonsInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO_ADDONS); + if (!isAddonsInComponentTree) { assertFalse(true); } } @Test public void tc_05_RemoveComponentFilex() throws Exception{ bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); - Utility.removeComponentAndGenerate(ProjectParameters.RTOSComponent.FILEX); - Utility.openProjectExplorer(); - bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select(); - SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - List folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes(); - boolean isFileExist = false; - for (String libsItem : folderLibsItem) { - if (libsItem.equals(ProjectParameters.RTOSComponent.FILEX)) { - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.FILEX).expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.FILEX).getItems(); - for (SWTBotTreeItem item : items) { - if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_FX_USER_H)) { - isFileExist = true; - } - } - } - } - if (isFileExist) { + Utility.removeComponent(ProjectParameters.RTOSComponent.FILEX); + Utility.clickGenerateCode(); + boolean isFileXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.FILEX); + if (isFileXInComponentTree) { assertFalse(true); } } @@ -150,49 +93,10 @@ public void tc_05_RemoveComponentFilex() throws Exception{ @Test public void tc_06_RemoveComponentNetxduoAddons() throws Exception{ bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); - Utility.removeComponentAndGenerate(ProjectParameters.RTOSComponent.NETXDUO_ADDONS); - Utility.openProjectExplorer(); - bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select(); - SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - List folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes(); - boolean isFileExist = false; - for (String libsItem : folderLibsItem) { - if (libsItem.equals(ProjectParameters.RTOSComponent.NETXDUO_ADDONS)) { - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).expand(); - SWTBotTreeItem[] folderAddonitems = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS).getItems(); - for (SWTBotTreeItem addonItem : folderAddonitems) { - if (addonItem.getText().contains(ProjectParameters.FolderAndFile.FOLDER_ADDONS)) { - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).expand(); - SWTBotTreeItem[] folderDhcpItems = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS).getItems(); - for (SWTBotTreeItem dhcpItem : folderDhcpItems) { - if (addonItem.getText().contains(ProjectParameters.FolderAndFile.FOLDER_DHCP)) { - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_ADDONS) - .getNode(ProjectParameters.FolderAndFile.FOLDER_DHCP).getItems(); - for (SWTBotTreeItem item : items) { - if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NXD_DHCP_CLIENT_H)) { - isFileExist = true; - } - } - } - } - } - } - } - } - if (isFileExist) { + Utility.removeComponent(ProjectParameters.RTOSComponent.NETXDUO_ADDONS); + Utility.clickGenerateCode(); + boolean isAddonsInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO_ADDONS); + if (isAddonsInComponentTree) { assertFalse(true); } } @@ -200,29 +104,14 @@ public void tc_06_RemoveComponentNetxduoAddons() throws Exception{ @Test public void tc_07_RemoveComponentNetxduo() throws Exception{ bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); - Utility.removeComponentAndGenerate(ProjectParameters.RTOSComponent.NETXDUO); - Utility.openProjectExplorer(); - bot.tree().getTreeItem(projectModelSpecific.getProjectName()).select(); - SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " ["+ projectModelSpecific.getActiveBuildConfiguration() +"]"); - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).expand(); - List folderLibsItem = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS).getNodes(); - boolean isFileExist = false; - for (String libsItem : folderLibsItem) { - if (libsItem.equals(ProjectParameters.RTOSComponent.NETXDUO)) { - project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO).expand(); - SWTBotTreeItem[] items = project.getNode(ProjectParameters.FolderAndFile.FOLDER_LIBS) - .getNode(ProjectParameters.RTOSComponent.NETXDUO).getItems(); - for (SWTBotTreeItem item : items) { - if (item.getText().contains(ProjectParameters.FolderAndFile.FILE_NX_USER_H)) { - isFileExist = true; - } - } - } - } - bot.text().setText(""); - if (isFileExist) { + Utility.removeComponent(ProjectParameters.RTOSComponent.NETXDUO); + Utility.clickGenerateCode(); + boolean isNetXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO); + if (isNetXInComponentTree) { assertFalse(true); } } + + + } diff --git a/swtbot_test/src/utilities/Utility.java b/swtbot_test/src/utilities/Utility.java index 66b766d..d203a9c 100644 --- a/swtbot_test/src/utilities/Utility.java +++ b/swtbot_test/src/utilities/Utility.java @@ -1,9 +1,12 @@ package utilities; +import static org.junit.Assert.assertFalse; + import java.io.IOException; import java.net.URL; import java.util.ArrayList; import java.util.Collection; +import java.util.List; import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.Path; @@ -129,21 +132,24 @@ public static void openSCFGEditor(ProjectModel projectModel) { bot.cTabItem(ProjectParameters.SCFG_COMPONENT_TAB).activate(); } - public static void addComponentAndGenerate(String componentName) { + public static void addComponent(String componentName) { bot.toolbarButtonWithTooltip(ProjectParameters.ButtonAction.BUTTON_ADD_COMPONENT).click(); bot.shell(ProjectParameters.WINDOW_NEW_COMPONENT).setFocus(); bot.textWithLabel(ProjectParameters.LabelName.LABEL_FILTER).setText(componentName); bot.table().select(0); bot.button(ProjectParameters.ButtonAction.BUTTON_FINISH).click(); + } + public static void clickGenerateCode() { bot.toolbarButton(ProjectParameters.ButtonAction.BUTTON_GENERATE_CODE).click(); if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) { bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click(); } + if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) { + bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click(); + } bot.sleep(15000); } - - public static void removeComponentAndGenerate(String componentName) { - bot.text().setText(componentName); + public static void removeComponent(String componentName) { bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS) .getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY) .getNode(componentName).select(); @@ -151,15 +157,6 @@ public static void removeComponentAndGenerate(String componentName) { if (bot.activeShell().getText().contains(ProjectParameters.WINDOW_QUESTION)) { bot.button(ProjectParameters.ButtonAction.BUTTON_YES).click(); } - bot.toolbarButton(ProjectParameters.ButtonAction.BUTTON_GENERATE_CODE).click(); - bot.sleep(5000); - if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) { - bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click(); - } - if (bot.activeShell().getText().contains(ProjectParameters.CODE_GENERATING)) { - bot.button(ProjectParameters.ButtonAction.BUTTON_PROCEED).click(); - } - bot.sleep(15000); } public static void openProjectExplorer() { @@ -172,6 +169,24 @@ public static void openProjectExplorer() { treeItem.getNode(ProjectParameters.WINDOW_PROJECT_EXPLORER).select(); bot.button(ProjectParameters.ButtonAction.BUTTON_OPEN).click(); } + + public static boolean checkIfComponentExistOrNot (String componentName) { + boolean isComponentInComponentTree = false; + bot.text().setText(""); + bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).expand(); + List RTOSFolder = bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNodes(); + for(String folder:RTOSFolder) { + if (folder.contains(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY)) { + SWTBotTreeItem[] componentItems = bot.tree(1).getTreeItem(ProjectParameters.FolderAndFile.FOLDER_RTOS).getNode(ProjectParameters.FolderAndFile.FOLDER_RTOS_LIBRARY).getItems(); + for (SWTBotTreeItem currentItem: componentItems) { + if (currentItem.getText().contains(componentName)) { + isComponentInComponentTree = true; + } + } + } + } + return isComponentInComponentTree; + } public static Collection filterXMLData(Collection model, String selectedToolchain, String selectedBoard) { Collection filtered = new ArrayList<>();