Beispiel #1
0
        public void Test_ParseFileWithMultiplePageDefinitions()
        {
            PageObjectParser parser = new PageObjectParser();
            List <PageInfo>  pages  = parser.ParseFile(PAGE_FILE_TEST_STRING);

            Assert.Equal(2, pages.Count);
        }
Beispiel #2
0
        public void Test_ParseFile()
        {
            PageObjectParser parser = new PageObjectParser();
            List <PageInfo>  pages  =
                parser.ParseFile("page Index /index.html");

            Assert.Equal(1, pages.Count);
        }
Beispiel #3
0
        public void Test_ParseFileVerifyElementInfo()
        {
            PageObjectParser parser = new PageObjectParser();
            List <PageInfo>  pages  = parser.ParseFile(PAGE_FILE_TEST_STRING);

            Assert.Equal(0, pages[0].Elements.Length);
            Assert.Equal(1, pages[1].Elements.Length);
            Assert.Equal("Email", pages[1].Elements[0].Name);
            Assert.Equal("#email", pages[1].Elements[0].Locator);
        }
 /// <summary>
 /// Generates C# classes that are subclasses of Chomsky.PageObjects.Page
 /// from fileAsString.
 /// </summary>
 /// <param name="fileAsString">The contents of a .chomsky file as a string</param>
 /// <param name="outputDirectory">The directory where the generated C# classes will be placed</param>
 public void Compile(string fileAsString, System.IO.DirectoryInfo outputDirectory)
 {
     if (!Directory.Exists(outputDirectory.FullName))
     {
         Directory.CreateDirectory(outputDirectory.FullName);
     }
     parser.ParseFile(fileAsString).ForEach((PageInfo info) => {
         CodeCompileUnit unit = pageObjectGenerator.GeneratePageObjectCompileUnit(info);
         pageObjectGenerator.GenerateCodeToFile(unit, string.Format(@"{0}\{1}.cs", outputDirectory.FullName, info.Name));
     });
 }