예제 #1
0
        private static void ClickBeamDesign(string windowtitle, string tabName, string buttonAutomationID, int processID)
        {

            try
            {


                UIAutomation_App.UIAutomationAction uAutomation = new UIAutomation_App.UIAutomationAction();
                uAutomation.logTofile(uAutomation._eLogPtah, "Inside ClickBeamDesign");

                uAutomation._processId = processID;

                AutomationElement winElement = uAutomation.GetUIAutomationWindow("title", windowtitle);
                uAutomation.uiAutomationCurrentParent = winElement;

                uAutomation.logTofile(uAutomation._eLogPtah, "Window Name: " + winElement.Current.Name);

                AutomationElement beamDesignTab = uAutomation.GetUIAutomationUltratab("name", tabName, -1);

                uAutomation.logTofile(uAutomation._eLogPtah, "Tab Name: " + beamDesignTab.Current.Name);

                SelectionItemPattern select = (SelectionItemPattern)beamDesignTab.GetCurrentPattern(SelectionItemPattern.Pattern);

                select.Select();
                if (beamDesignTab.Current.IsOffscreen.ToString().ToLower() == "true")
                {

                    uAutomation.logTofile(uAutomation._eLogPtah, "BeamDesign tab not visible");

                    AutomationElement btn = winElement.FindFirst(TreeScope.Descendants,
                                                            new System.Windows.Automation.AndCondition(
                                                                     new System.Windows.Automation.PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button),
                                                                      new System.Windows.Automation.PropertyCondition(AutomationElement.AutomationIdProperty, buttonAutomationID)));

                    uAutomation.logTofile(uAutomation._eLogPtah, "Button:" + btn.Current.Name);

                    InvokePattern value = (InvokePattern)btn.GetCurrentPattern(InvokePattern.Pattern);
                    value.Invoke();
                    uAutomation.logTofile(uAutomation._eLogPtah, "Clicked Button");
                }


            }

            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

        }