Exemplo n.º 1
0
        public ITestObject CreateTestObject(ObjectDescriptor descriptor, ModelLoadLevel loadLevel = ModelLoadLevel.ReplayOnly)
        {
            if (descriptor.Type == NodeType.UIAControl)
            {
                ITestObject testObject = UIAUtility.CreateTestObject(descriptor, loadLevel);

                CreateChildObjects(testObject, descriptor, loadLevel);

                return(testObject);
            }
            else if (descriptor.Type == NodeType.VirtualControl)
            {
                //TODO create the virtual control
                ITestObject testObject = VirtualTestObject.CreateTestObject(descriptor, loadLevel);

                CreateChildObjects(testObject, descriptor, loadLevel);

                return(testObject);
                //return CreateTestObject(descriptor, loadLevel);
            }
            else if (descriptor.Type == NodeType.Selenium)
            {
                ITestObject testObject = new SETestObject(descriptor);

                CreateChildObjects(testObject, descriptor, loadLevel);

                return(testObject);
            }

            throw new NotImplementedException();
        }
Exemplo n.º 2
0
        private void WebRefreshNodeTag(TreeNode node)
        {
            SETestObject seTestObject = TestObjectNurse.FromTreeNode(node).TestObject as SETestObject;

            seTestObject.WebDriver = _webDriverHost.WebDriver;
            foreach (TreeNode node0 in node.Nodes)
            {
                WebRefreshNodeTag(node0);
            }
        }
Exemplo n.º 3
0
        protected T GetTo <T>(string nodeName) where T : IWebElement, new()
        {
            IWebElement webElement = _ccs[nodeName];

            if (webElement == null)
            {
                AppModel     model = AppModel.Current;
                SETestObject seTO  = model.GetTestObject(nodeName) as SETestObject;
                seTO.WebDriver         = BrowserHoster.getInstance().WebDriver;
                webElement             = new T();
                webElement.RelayObject = seTO;
            }
            return((T)webElement);
        }
Exemplo n.º 4
0
        private void HighlightObjectThread(object param)
        {
            try
            {
                TestObjectNurse nurseObject = param as TestObjectNurse;
                if (nurseObject == null)
                {
                    return;
                }

                ITestObject testObject = nurseObject.TestObject;

                SetStatusText(StringResources.LPSpy_SpyMainWindow_Identifying);


                //Check whether the WebDriver Host exist or not
                if (testObject.ControlTypeString.StartsWith("Web"))
                {
                    SETestObject seTestObject = testObject as SETestObject;
                    if (seTestObject.SEWebElement == null)
                    {
                        //look for WebPage
                        TreeNode    parentNode   = nurseObject.TreeNode;
                        ITestObject parentObject = null;


                        do
                        {
                            parentObject = TestObjectNurse.FromTreeNode(parentNode).TestObject;
                            if (parentObject.ControlTypeString.Equals("WebPage"))
                            {
                                //seTestObject = parentObject as SETestObject;
                                break;
                            }
                        }while (null != (parentNode = parentNode.Parent));

                        if (null != parentObject)
                        {
                            //check the WebDriverHost existing
                            if (null == _webDriverHost)
                            {
                                _webDriverHost = new WebDriverHost();
                                _webDriverHost.GotoUrl(parentObject.Properties[WebControlKeys.URL]);
                            }
                            else
                            {
                                _webDriverHost.SwithToURL(parentObject.Properties[WebControlKeys.URL]);
                            }
                            WebRefreshNodeTag(parentNode);
                        }
                    }

                    Rectangle rc = _webDriverHost.GetElementRectangle(seTestObject);

                    UIAHighlight.HighlightRect(rc);
                    return;
                }


                if (!UIAHighlight.SearchAndHighlight(testObject))
                {
                    MessageBox.Show(StringResources.LPSpy_SpyMainWindow_CannotFindObjectMsg);
                }
            }
            finally
            {
                SetStatusText("");
            }
        }