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(); }
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); } }
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); }
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(""); } }