internal SwdPageObject GetWebElementDefinitionFromTree() { var pageObject = new SwdPageObject(); string pageObjectName = "MyPage"; if (tvWebElements.Nodes.Count > 0) { string rootNodeText = tvWebElements.Nodes[0].Text; pageObjectName = String.IsNullOrWhiteSpace(rootNodeText) ? pageObjectName : rootNodeText; } pageObject.PageObjectName = pageObjectName; foreach (var treeNode in tvWebElements.Nodes[0].Nodes) { var node = treeNode as TreeNode; var elementDefinition = node.Tag as WebElementDefinition; pageObject.Items.Add(elementDefinition); } return(pageObject); }
internal void LoadPageObject(string pageObjectFileName) { string pageObjectFile = pageObjectFileName + PoxFileExtension; string targetFullPath = Path.Combine(GetDefaultPageObjectsDirectory(), pageObjectFile); SwdPageObject pageObject = null; try { pageObject = LoadPageObjectFromFile(targetFullPath); } catch (Exception e) { MyLog.Exception(e); view.NotifyOnLoadError(e.Message, targetFullPath); return; } view.ClearPageObjectTree(); foreach (var def in pageObject.Items) { UpdatePageDefinition(def, forceAddNew: true); } IsDirty = false; lastSavedFilePath = targetFullPath; UpdateControlsState(); RaisePageObjectTreeChanged(); }
private SwdPageObject LoadPageObjectFromFile(string pageObjectFileName) { SwdPageObject definitions = null; using (FileStream stream = File.OpenRead(pageObjectFileName)) { var serializer = new XmlSerializer(typeof(SwdPageObject)); definitions = (SwdPageObject)serializer.Deserialize(stream); } return definitions; }
public void CSharpPageObjectGenerator_Generate(string templateFileName) { CSharpPageObjectGenerator engine = new CSharpPageObjectGenerator(); string templatesFolder = Path.Combine(Helper.AssemblyDirectory(), "CodeTemplates"); string fileName = Path.Combine(templatesFolder, templateFileName); SwdPageObject pageObject = new SwdPageObject(); string expectedName = "ExpectedName123456"; pageObject.PageObjectName = expectedName; string[] output = engine.Generate(pageObject, fileName); string actual = string.Join("", output); actual.Should().Contain(expectedName); Console.WriteLine(actual); }
internal string[] Generate(SwdPageObject pageObject, string fullTemplatePath) { var template = File.ReadAllText(fullTemplatePath); object model = new { PageObject = pageObject, ExternalGenerator = new ExternalGenerator(), }; string result = "not parsed"; try { result = Razor.Parse(template, model); } catch { throw; } return(Utils.SplitSingleLineToMultyLine(result)); }
public string[] Generate(SwdPageObject pageObject, string fullTemplatePath) { var template = File.ReadAllText(fullTemplatePath); object model = new TemplateViewModel() { PageObject = pageObject }; string result = "not parsed"; try { result = Razor.Parse(template, model); } catch { throw; } return(Utils.SplitSingleLineToMultyLine(result)); }
public void SaveToJSonFile(SwdPageObject pageObject, string filePath) { string json = JsonConvert.SerializeObject(pageObject, Formatting.Indented); File.WriteAllText(filePath, json); }