public void Test_ParseFileWithMultiplePageDefinitions() { PageObjectParser parser = new PageObjectParser(); List <PageInfo> pages = parser.ParseFile(PAGE_FILE_TEST_STRING); Assert.Equal(2, pages.Count); }
public void Test_ParseFile() { PageObjectParser parser = new PageObjectParser(); List <PageInfo> pages = parser.ParseFile("page Index /index.html"); Assert.Equal(1, pages.Count); }
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)); }); }