diff --git a/swtbot_test/src/parameters/ProjectParameters.java b/swtbot_test/src/parameters/ProjectParameters.java index 5301fbe..3f2efd7 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 { @@ -117,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 { @@ -143,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 { @@ -150,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 466b21e..efba2b2 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,88 +39,42 @@ 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); } @Test public void tc_02_AddComponentFilex() throws Exception{ Utility.openSCFGEditor(projectModelSpecific); - Utility.addComponentAndGenerate("filex"); - Utility.getProjectExplorerView().setFocus(); - SWTBotTreeItem project= bot.tree().getTreeItem(projectModelSpecific.getProjectName() + " [HardwareDebug]"); - 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() + " [HardwareDebug]"); - 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() + " [HardwareDebug]"); - 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 14cbfe5..c917559 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,32 +40,25 @@ 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 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(); 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,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(15000); - 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 new file mode 100644 index 0000000..c4979ad --- /dev/null +++ b/swtbot_test/src/testsuites/RemoveAzureModuleAndGenerateCode.java @@ -0,0 +1,117 @@ +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.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.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.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.removeComponent(ProjectParameters.RTOSComponent.FILEX); + Utility.clickGenerateCode(); + boolean isFileXInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.FILEX); + if (isFileXInComponentTree) { + assertFalse(true); + } + } + + @Test + public void tc_06_RemoveComponentNetxduoAddons() throws Exception{ + bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); + Utility.removeComponent(ProjectParameters.RTOSComponent.NETXDUO_ADDONS); + Utility.clickGenerateCode(); + boolean isAddonsInComponentTree = Utility.checkIfComponentExistOrNot(ProjectParameters.RTOSComponent.NETXDUO_ADDONS); + if (isAddonsInComponentTree) { + assertFalse(true); + } + } + + @Test + public void tc_07_RemoveComponentNetxduo() throws Exception{ + bot.editorByTitle(projectModelSpecific.getProjectName() + ".scfg").setFocus(); + 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 6ddb5a5..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; @@ -122,36 +125,68 @@ 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(); } - 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 removeComponent(String 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(); + } + } 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(); 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<>();