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
                });
            }
        }
示例#2
0
 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;
            }
        }