internal static ITreeViewItem GetTreeViewItemFor(ElementInfo EI) { // TODO verify if pl.Name = ElementInfo AppiumElementInfo AEI = (AppiumElementInfo)EI; switch (AEI.ElementType) { case "android.widget.Button": return(new AppiumAndroidWidgetButtonTreeItem() { AppiumElementInfo = AEI }); case "android.widget.CheckBox": return(new AppiumAndroidWidgetCheckBoxTreeItem() { AppiumElementInfo = AEI }); case "android.widget.TextView": return(new AppiumAndroidWidgetTextViewTreeItem() { AppiumElementInfo = AEI }); case "android.widget.ImageView": return(new AppiumAndroidWidgetImageTreeItem() { AppiumElementInfo = AEI }); case "android.widget.EditText": return(new AppiumAndroidWidgetEditTextTreeItem() { AppiumElementInfo = AEI }); default: // return simple basic Appium TVI return(new AppiumElementTreeItemBase() { AppiumElementInfo = AEI }); } }
public AppiumWindowPage(AppiumElementInfo AEI) { mAppiumElementInfo = AEI; InitializeComponent(); }
private void WindowsComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { AppWindow AW = (AppWindow)WindowsComboBox.SelectedItem; if (AW == null) { return; } mWindowExplorerDriver.SwitchWindow(AW.Title); switch (AW.WindowType) { case AppWindow.eWindowType.Windows: WindowsWindowTreeItem WWTI = new WindowsWindowTreeItem(); UIAElementInfo WEI = (UIAElementInfo)AW.RefObject; WEI.WindowExplorer = mWindowExplorerDriver; WWTI.UIAElementInfo = WEI; WWTI.UIAElementInfo.ElementObject = WEI.ElementObject; break; case AppWindow.eWindowType.PowerBuilder: PBWindowTreeItem WTI = new PBWindowTreeItem(); UIAElementInfo PBEI = (UIAElementInfo)AW.RefObject; PBEI.WindowExplorer = mWindowExplorerDriver; WTI.UIAElementInfo = PBEI; break; case AppWindow.eWindowType.ASCFForm: ASCFFormTreeItem AFTI = new ASCFFormTreeItem(); AFTI.Name = AW.Title; AFTI.Path = AW.Path; break; case AppWindow.eWindowType.SeleniumWebPage: HTMLPageTreeItem HPTI = new HTMLPageTreeItem(); HTMLElementInfo EI = new HTMLElementInfo(); EI.ElementTitle = AW.Title; EI.XPath = "html"; EI.WindowExplorer = mWindowExplorerDriver; HPTI.ElementInfo = EI; break; case AppWindow.eWindowType.JFrmae: JavaWindowTreeItem JWTI = new JavaWindowTreeItem(); JavaElementInfo JEI = new JavaElementInfo(); JEI.ElementTitle = AW.Title; JEI.Path = AW.Title; JEI.XPath = "/"; JEI.IsExpandable = true; JWTI.JavaElementInfo = JEI; JEI.WindowExplorer = mWindowExplorerDriver; break; case AppWindow.eWindowType.Appium: AppiumWindowTreeItem AWTI = new AppiumWindowTreeItem(); AppiumElementInfo AEI = new AppiumElementInfo(); AEI.WindowExplorer = mWindowExplorerDriver; AEI.XPath = "/"; string pageSourceString = ((SeleniumAppiumDriver)mWindowExplorerDriver).GetPageSource(); XmlDocument pageSourceXml = new XmlDocument(); pageSourceXml.LoadXml(pageSourceString); AEI.XmlDoc = pageSourceXml; AEI.XmlNode = pageSourceXml.SelectSingleNode("/"); AWTI.AppiumElementInfo = AEI; break; case AppWindow.eWindowType.AndroidDevice: AndroidWindowTreeItem ADTI = new AndroidWindowTreeItem(); AndroidElementInfo AWI = new AndroidElementInfo(); AWI.WindowExplorer = mWindowExplorerDriver; AWI.XPath = "/"; string pageSourceString2 = ((AndroidADBDriver)mWindowExplorerDriver).GetPageSource(); XmlDocument pageSourceXml2 = new XmlDocument(); pageSourceXml2.LoadXml(pageSourceString2); AWI.XmlDoc = pageSourceXml2; AWI.XmlNode = pageSourceXml2.SelectSingleNode("/hierarchy"); ADTI.AndroidElementInfo = AWI; break; case AppWindow.eWindowType.Mainframe: MainframeTreeItemBase MFTI = new MainframeTreeItemBase(); MFTI.Name = AW.Title; MFTI.Path = AW.Path; break; default: MessageBox.Show("Unknown Window type:" + AW.WindowType); break; } }