internal static ITreeViewItem GetWindowsElementTreeItem(ElementInfo EI) { string elementControlType = ((WindowsDriver)EI.WindowExplorer).mUIAutomationHelper.GetElementControlType(EI.ElementObject); string elmentClass = ((WindowsDriver)EI.WindowExplorer).mUIAutomationHelper.GetControlPropertyValue(EI.ElementObject, "ClassName"); if (elementControlType == "button") { WindowsButtonTreeItem BTI = new WindowsButtonTreeItem(); BTI.UIAElementInfo = (UIAElementInfo)EI; BTI.UIAElementInfo.ElementObject = EI.ElementObject; return(BTI); } else if (elementControlType == "Edit Box") { WindowsTextBoxTreeItem TBTI = new WindowsTextBoxTreeItem(); TBTI.UIAElementInfo.ElementObject = EI.ElementObject; TBTI.UIAElementInfo = (UIAElementInfo)EI; return(TBTI); } //Label else if (elementControlType == "text") { WindowsLabelTreeItem WTBTI = new WindowsLabelTreeItem(); WTBTI.UIAElementInfo.ElementObject = EI.ElementObject; WTBTI.UIAElementInfo = (UIAElementInfo)EI; return(WTBTI); } //Text box else if (elementControlType == "edit") { WindowsTextBoxTreeItem WTBTI = new WindowsTextBoxTreeItem(); WTBTI.UIAElementInfo.ElementObject = EI.ElementObject; WTBTI.UIAElementInfo = (UIAElementInfo)EI; return(WTBTI); } else if (elementControlType == "label") { WindowsLabelTreeItem WLTI = new WindowsLabelTreeItem(); WLTI.UIAElementInfo.ElementObject = EI.ElementObject; WLTI.UIAElementInfo = (UIAElementInfo)EI; return(WLTI); } else if (elementControlType == "combo box") { WindowsComboBoxTreeItem CBTI = new WindowsComboBoxTreeItem(); CBTI.UIAElementInfo.ElementObject = EI.ElementObject; CBTI.UIAElementInfo = (UIAElementInfo)EI; return(CBTI); } else if (elementControlType == "tab item") { WindowsTabItemTreeItem TITI = new WindowsTabItemTreeItem(); TITI.UIAElementInfo.ElementObject = EI.ElementObject; TITI.UIAElementInfo = (UIAElementInfo)EI; return(TITI); } //TODO: For Grid rows control type is item.This will work, but can be enhanced to use Grid patterns else if (elementControlType == "item") { WindowsTabItemTreeItem ITI = new WindowsTabItemTreeItem(); ITI.UIAElementInfo.ElementObject = EI.ElementObject; ITI.UIAElementInfo = (UIAElementInfo)EI; return(ITI); } else if (elementControlType == "menu item") { WindowsMenuItemTreeItem MBTI = new WindowsMenuItemTreeItem(); MBTI.UIAElementInfo.ElementObject = EI.ElementObject; MBTI.UIAElementInfo = (UIAElementInfo)EI; return(MBTI); } else if (elementControlType == "pane" && elmentClass == "SysDateTimePick32") { WindowsDatePickerTreeItem DPTI = new WindowsDatePickerTreeItem(); DPTI.UIAElementInfo.ElementObject = EI.ElementObject; DPTI.UIAElementInfo = (UIAElementInfo)EI; return(DPTI); } //// TODO: Remove Dependency on class name. Find a generic way else if (elementControlType == "pane" && elmentClass == "PBTabControl32_100") { WindowsTabItemTreeItem TTI = new WindowsTabItemTreeItem(); TTI.UIAElementInfo.ElementObject = EI.ElementObject; TTI.UIAElementInfo = (UIAElementInfo)EI; return(TTI); } else if (elementControlType == "pane" && elmentClass == "Internet Explorer_Server") { WindowsBrowserTreeItem TTI = new WindowsBrowserTreeItem(); TTI.UIAElementInfo.ElementObject = EI.ElementObject; TTI.UIAElementInfo = (UIAElementInfo)EI; return(TTI); } else if (elementControlType == "menu bar") { WindowsMenuBarTreeItem MBTI = new WindowsMenuBarTreeItem(); MBTI.UIAElementInfo.ElementObject = EI.ElementObject; MBTI.UIAElementInfo = (UIAElementInfo)EI; return(MBTI); } else if (elementControlType == "menu item") { WindowsMenuItemTreeItem MBTI = new WindowsMenuItemTreeItem(); MBTI.UIAElementInfo.ElementObject = EI.ElementObject; MBTI.UIAElementInfo = (UIAElementInfo)EI; return(MBTI); } else if (elementControlType == "check box") { WindowsCheckBoxTreeItem CBTI = new WindowsCheckBoxTreeItem(); CBTI.UIAElementInfo.ElementObject = EI.ElementObject; CBTI.UIAElementInfo = (UIAElementInfo)EI; return(CBTI); } else if (elementControlType == "radio button") { WindowsRadioButtonTreeItem RBTI = new WindowsRadioButtonTreeItem(); RBTI.UIAElementInfo.ElementObject = EI.ElementObject; RBTI.UIAElementInfo = (UIAElementInfo)EI; return(RBTI); } else if (elementControlType == "list") { WindowsListBoxTreeItem LTI = new WindowsListBoxTreeItem(); LTI.UIAElementInfo.ElementObject = EI.ElementObject; LTI.UIAElementInfo = (UIAElementInfo)EI; return(LTI); } else if (elementControlType == "list item") { WindowsListItemTreeItem LITI = new WindowsListItemTreeItem(); LITI.UIAElementInfo.ElementObject = EI.ElementObject; LITI.UIAElementInfo = (UIAElementInfo)EI; return(LITI); } else if (elementControlType == "Dialog") { WindowsDialogBoxTreeItem DBTI = new WindowsDialogBoxTreeItem(); DBTI.UIAElementInfo.ElementObject = EI.ElementObject; DBTI.UIAElementInfo = (UIAElementInfo)EI; return(DBTI); } // // TODO: add all other types of controls: List, label etc... else { WindowsControlTreeItem TVIChild = new WindowsControlTreeItem(); TVIChild.UIAElementInfo.ElementObject = EI.ElementObject; TVIChild.UIAElementInfo = (UIAElementInfo)EI; return(TVIChild); } }
internal static ITreeViewItem GetWindowsElementTreeItem(ElementInfo EI) { if (EI.ElementTypeEnum == eElementType.Button) { WindowsButtonTreeItem BTI = new WindowsButtonTreeItem(); BTI.UIAElementInfo = (UIAElementInfo)EI; BTI.UIAElementInfo.ElementObject = EI.ElementObject; return(BTI); } else if (EI.ElementTypeEnum == eElementType.TextBox) { WindowsTextBoxTreeItem TBTI = new WindowsTextBoxTreeItem(); TBTI.UIAElementInfo.ElementObject = EI.ElementObject; TBTI.UIAElementInfo = (UIAElementInfo)EI; return(TBTI); } else if (EI.ElementTypeEnum == eElementType.Label) { WindowsLabelTreeItem WTBTI = new WindowsLabelTreeItem(); WTBTI.UIAElementInfo.ElementObject = EI.ElementObject; WTBTI.UIAElementInfo = (UIAElementInfo)EI; return(WTBTI); } else if (EI.ElementTypeEnum == eElementType.ComboBox) { WindowsComboBoxTreeItem CBTI = new WindowsComboBoxTreeItem(); CBTI.UIAElementInfo.ElementObject = EI.ElementObject; CBTI.UIAElementInfo = (UIAElementInfo)EI; return(CBTI); } else if (EI.ElementTypeEnum == eElementType.Tab) { WindowsTabItemTreeItem TITI = new WindowsTabItemTreeItem(); TITI.UIAElementInfo.ElementObject = EI.ElementObject; TITI.UIAElementInfo = (UIAElementInfo)EI; return(TITI); } else if (EI.ElementTypeEnum == eElementType.MenuItem) { WindowsMenuItemTreeItem MBTI = new WindowsMenuItemTreeItem(); MBTI.UIAElementInfo.ElementObject = EI.ElementObject; MBTI.UIAElementInfo = (UIAElementInfo)EI; return(MBTI); } else if (EI.ElementTypeEnum == eElementType.DatePicker) { WindowsDatePickerTreeItem DPTI = new WindowsDatePickerTreeItem(); DPTI.UIAElementInfo.ElementObject = EI.ElementObject; DPTI.UIAElementInfo = (UIAElementInfo)EI; return(DPTI); } else if (EI.ElementTypeEnum == eElementType.Browser) { WindowsBrowserTreeItem TTI = new WindowsBrowserTreeItem(); TTI.UIAElementInfo.ElementObject = EI.ElementObject; TTI.UIAElementInfo = (UIAElementInfo)EI; return(TTI); } else if (EI.ElementTypeEnum == eElementType.MenuBar) { WindowsMenuBarTreeItem MBTI = new WindowsMenuBarTreeItem(); MBTI.UIAElementInfo.ElementObject = EI.ElementObject; MBTI.UIAElementInfo = (UIAElementInfo)EI; return(MBTI); } else if (EI.ElementTypeEnum == eElementType.CheckBox) { WindowsCheckBoxTreeItem CBTI = new WindowsCheckBoxTreeItem(); CBTI.UIAElementInfo.ElementObject = EI.ElementObject; CBTI.UIAElementInfo = (UIAElementInfo)EI; return(CBTI); } else if (EI.ElementTypeEnum == eElementType.RadioButton) { WindowsRadioButtonTreeItem RBTI = new WindowsRadioButtonTreeItem(); RBTI.UIAElementInfo.ElementObject = EI.ElementObject; RBTI.UIAElementInfo = (UIAElementInfo)EI; return(RBTI); } else if (EI.ElementTypeEnum == eElementType.List) { WindowsListBoxTreeItem LTI = new WindowsListBoxTreeItem(); LTI.UIAElementInfo.ElementObject = EI.ElementObject; LTI.UIAElementInfo = (UIAElementInfo)EI; return(LTI); } else if (EI.ElementTypeEnum == eElementType.ListItem) { WindowsListItemTreeItem LITI = new WindowsListItemTreeItem(); LITI.UIAElementInfo.ElementObject = EI.ElementObject; LITI.UIAElementInfo = (UIAElementInfo)EI; return(LITI); } else if (EI.ElementTypeEnum == eElementType.Dialog) { WindowsDialogBoxTreeItem DBTI = new WindowsDialogBoxTreeItem(); DBTI.UIAElementInfo.ElementObject = EI.ElementObject; DBTI.UIAElementInfo = (UIAElementInfo)EI; return(DBTI); } else { WindowsControlTreeItem TVIChild = new WindowsControlTreeItem(); TVIChild.UIAElementInfo.ElementObject = EI.ElementObject; TVIChild.UIAElementInfo = (UIAElementInfo)EI; return(TVIChild); } }