예제 #1
0
        public int DoActionXml(String strXmlData)
        {
            int num, tempNum;
            AutomationElement ae;

            (num, ae) = xmlController.XmlFinder(strXmlData);

            switch (num)
            {
            case 0:
                (tempNum, ae) = HandleNotFound(strXmlData);
                break;

            case 1:
                tempNum = 1;
                break;

            default:
                tempNum = 2;
                break;
            }

            if (tempNum == 0 || tempNum >= 2)
            {
                return(tempNum);
            }

            recorderController.WindowControl(strXmlData, ae);
            recorderController.DoAction(strXmlData, ae);

            return(1);
        }
예제 #2
0
        //private void PrintAllTree(AutomationElement ae)
        //{
        //    Stack<AutomationElement> automationElements = XmlController.MakeStack(ae);
        //    AutomationElement ans = automationElements.Pop();

        //    Console.WriteLine(ans);

        //    TraverseAll(ans);
        //}

        //private void TraverseAll(AutomationElement ans)
        //{
        //    TreeWalker walker = TreeWalker.RawViewWalker;
        //    AutomationElement child = walker.GetFirstChild(ans);
        //    while(child != null)
        //    {
        //        Console.WriteLine(child.Current.Name);
        //        Console.WriteLine(child.Current.IsEnabled);
        //        TraverseAll(child);
        //        child = walker.GetNextSibling(child);
        //    }
        //}
        #endregion

        public void StartRecorded()
        {
            XmlController xmlController = new XmlController();

            while (contextController.CountRecorderXmlQueue() > 1)
            {
                String            xmlData = contextController.DequeueRecorderXmlQueue();
                AutomationElement ae;
                int num;
                Thread.Sleep(1500);

                (num, ae) = xmlController.XmlFinder(xmlData);

                for (int i = 10; i > 0; i++)
                {
                    if (num == 1)
                    {
                        break;
                    }
                    else
                    {
                        recorder.DebugConsole.Text += "num=" + num;
                        (num, ae) = xmlController.XmlFinder(xmlData);
                    }
                }

                WindowControl(xmlData, ae);
                Thread.Sleep(300);

                DoAction(xmlData, ae);
            }
        }