Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 7
0
        public void SaveToJSonFile(SwdPageObject pageObject, string filePath)
        {
            string json = JsonConvert.SerializeObject(pageObject, Formatting.Indented);

            File.WriteAllText(filePath, json);
        }