public void TimezoneAutomation_DateField_VerifyingInForm(string testId, string testSummary) { MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, false).Login(DEFAULT_USER_NAME, DEFAULT_USER_PWD) .OpenEnterprise_Form_ByDisplayName("Timezone Testing") .OpenCreateRecordForm() .SetDate("Date000", 2002, 10, 20) .SetDateTime("Date012", new DateTime(2016, 1, 29, 5, 23, 20)) //.BeginVerification((driver, formVerifier) => //{ //}) .SaveForm_Successfully() .ExecuteCustom_Using_LastId("TimezoneTesting", "ID", (id, listPageRef) => { var form = listPageRef.EditRow_WithId_ByNavigationUrl(id); form.BeginVerification((driver, formVerifier) => { formVerifier .AssertDate("Date000", 2002, 10, 20) .AssertDateTime("Date012", new DateTime(2016, 1, 29, 0, 0, 0)) ; }); }) .End_Automation(); }
public static void Add_NewProject(string testId, string testSummary) { string currentAutomationId = Helpers.GetUniqueData("PlanProject_Auto"); MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, true) .DB_Snapshot_Create("MySnapshot", continueIfExist: true) .CreateProjectFromPlanning() .Set(t => t.ProjectName, currentAutomationId) .Set(t => t.ProjectCode, "PCODE_" + currentAutomationId) .Set(t => t.ProjectOwner, "User-Automator") .Set(t => t.ProjectStatus, "Advertisement") .Set(t => t.ProjectCategory, "Central") .Set(t => t.BusinessUnit_Text, "HeadOffice") .Set(t => t.ProgramYear, "2017") //.Set(t => t.Calendar, "Calendar By Vinay") .Set(t => t.EndDate, DateTime.Today.AddYears(1)) .SaveForm_Goto_MasterworksScreen() //.DB_Snapshot_Restore("MySnapshot") .CreateProjectFromPlanning() .Set("{ProjectName:\"asheesh\", }") .Set(t => t.ProjectName, currentAutomationId) .Set(t => t.ProjectCode, "New_PCODE_" + currentAutomationId) .Set(t => t.ProjectOwner, "User-Automator") .Set(t => t.ProjectStatus, "Advertisement") .Set(t => t.ProjectCategory, "Central") .Set(t => t.BusinessUnit_Text, "HeadOffice") .Set(t => t.ProgramYear, "2017") //.Set(t => t.Calendar, "Calendar By Vinay") .Set(t => t.EndDate, DateTime.Today.AddYears(1)) .SaveForm_Successfully() // .DB_Snapshot_Restore("MySnapshot") .View_FirstRow_CustomViewer <ProjectViewPage>() .CheckSomeThingCustomHere() //. //.ContinueIf("Basic ProjectCreation Validation", t => t.ProjectName == currentAutomationId && t.ProjectOwner == "User-Automator") .BeginVerification("aaa", (driver, viewVerifier) => { viewVerifier .Assert(t => t.ContractDays, 366) .Assert(t => t.ProjectName, currentAutomationId) .AssertCondition("TestCase9999", t => t.ProjectName == currentAutomationId) //viewVerifier //.Assert_ContractDays(176)//this way also can be coded //.Assert_ContractDays(1)//this way also can be coded //.Assert_CustomSettingsAreCorrect(dataGroup["ProjectName"].ToString()) ; }) //.DB_Snapshot_Delete("MySnapshot") ; //.AssertFormValue("") //.End_Automation() ; }
public static void Sample_View_FirstRow(string testId, string testSummary) { MasterworksScreen ts = new MasterworksScreen(testId, testSummary, BrowserType.Chrome, true); ts.Home() .OpenEnterprise_Form_ByDisplayName("Timezone Testing") .View_FirstRow(); }
public void Open(string testId, string testSummary) { MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, false) .Login(DEFAULT_USER_NAME, DEFAULT_USER_PWD) .OpenEnterprise_Form_ByDisplayName("Sample Form") .OpenCreateRecordForm() .SetTextbox("Name", "asheesh") //{Contols_HERE} //Add one dynamic grid record .DynamicGrid_AddRecord("TableDummy") //.SetTextbox() .Save_DynamicGridData() ////Add another dynamic grid record (2) // .DynamicGrid_AddRecord("TableDummy") ////.SetTextbox() //.Save_DynamicGridData() ////Add another dynamic grid record (3) // .DynamicGrid_AddRecord("TableDummy") ////.SetTextbox() //.Save_DynamicGridData() //Set the form text field .SetTextbox("Name", "bajracharya") .SaveForm_Successfully() //{ SAVE_CODE} //.SaveForm_ExpectValidationError() // .DynamicGrid_AddRecord("TableDummy") ////.SetTextbox() //.Save_DynamicGridData() //.ExecuteCustom_Using_LastId("SAMPLEFSampleForm", "ID", (id, listPageRef) => //{ // var form = listPageRef.EditRow_WithId_ByNavigationUrl(id); // form.BeginVerification((driver, formVerifier) => // { // //formVerifier // // .AssertDate("Date000", 2002, 10, 20) // // .AssertDateTime("Date012", new DateTime(2016, 1, 29, 0, 0, 0)) // //; // }); //}) .End_Automation() ; }
public void CreateAndVerify_BudgetEstimate_ViewPage(string testId, string testSummary) { const string projectCodeValue = PlanningProjectManager.CONST_TEST_PROJECT_CODE; int currentProjectId = Convert.ToInt32(DB.GetLastCreatedIdForTable(HintFieldLookup.Project_By_ProjectCode(projectCodeValue))); Current_BudgetEstimateName = Helpers.GetUniqueData("AutomatedBudget"); string currentAutomationId = Current_BudgetEstimateName; var hintObject_BudgetEstimate = HintFieldLookup.BudgetEstimate(currentAutomationId); MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, true) .OpenProject_ById(currentProjectId) .OpenListPage_By_Path(TreePath_UnderProject.BudgetEstimate) .OpenCreateRecordForm() .SetTextbox(BgtEst.BudgetEstimateName, currentAutomationId) //.Wait(5) .SetComobobox_ByText(BgtEst.BudgetEstimateType, "Construction") //.Wait(5)//.Wait_Till_TextToBePresentInElement(By.Id("xyz"), "xyz") .SetComobobox_ByText(BgtEst.MeasurementSystem, "IS System") .SaveForm_Successfully() .ExecuteCustom_Using_LastId(CONST_TableNames.BudgetEstimate, hintObject_BudgetEstimate.IdField, (id, listPageRef) => { var viewPage = listPageRef.ViewRow_WithId_ByNavigationUrl(id); viewPage.BeginVerification((driver, viewVerifier) => { viewVerifier .AssertTextbox(BgtEst.BudgetEstimateName, currentAutomationId) .AssertDate("Date000", 2002, 10, 20) .AssertDateTime("Date012", new DateTime(2016, 1, 29, 0, 0, 0)) ; }); }) .VerifyInDB_Using_LastId("Verify BudgetEstimate in DB", hintObject_BudgetEstimate, (rowVerifier, listPageRef) => //.VerifyInDB_Using_LastId("Verify BudgetEstimate in DB", CONST_BudgetEstimate.TableName, "ID", CONST_BudgetEstimate.Form.BudgetEstimateName, currentAutomationId, (rowVerifier, listPageRef) => { rowVerifier .Assert_Data(CONST_BudgetEstimate.Form.BudgetEstimateName, currentAutomationId) .Assert_Data(CONST_BudgetEstimate.Form.BudgetEstimateType, 1) ; }) //.DB_Run_SelectStatement("Select * from Table1", (dataSet, listPageRef)=> //{ // //dataSet.Tables[0].Rows //}) .End_Automation() ; }
public void Add_NewProject(string testId, string testSummary) { string currentAutomationId = Helpers.GetUniqueData("PlanProject_Auto"); DateTime projectEndDate = DateTime.Today.AddYears(1); string projectCode = Helpers.GetUniqueData(CONST_TEST_PROJECT_CODE); if (DB.Check_DataExist(HintFieldLookup.Project_By_ProjectCode(projectCode))) { return; } MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, true) .CreateProjectFromPlanning() .Set(t => t.ProjectName, currentAutomationId) .Set(t => t.ProjectCode, projectCode) .Set(t => t.ProjectOwner, "User-Automator") .Set(t => t.ProjectStatus, "Advertisement") .Set(t => t.ProjectCategory, "Central") .Set(t => t.BusinessUnit_Text, "HeadOffice") .Set(t => t.ProgramYear, "2017") //.Set(t => t.Calendar, "Calendar By Vinay") .Set(t => t.EndDate, projectEndDate) .SaveForm_Successfully() .View_FirstRow_CustomViewer <ProjectViewPage>() .BeginVerification("PRJ_VER_TC_0001", (driver, viewVerifier) => { viewVerifier .Assert(t => t.ProjectName, currentAutomationId) .Assert(t => t.ProjectCode, projectCode) .Assert(t => t.ProjectOwner, "User-Automator") .Assert(t => t.ProjectStatus, "Advertisement") .Assert(t => t.ProjectCategory, "Central") .Assert(t => t.BusinessUnit_Text, "HeadOffice") .Assert(t => t.ProgramYear, "2017") //.Set(t => t.Calendar, "Calendar By Vinay") .Assert(t => t.EndDate, projectEndDate) .Assert(t => t.ContractDays, 365) ; }) //.End_Automation() ; }
public static void Add_NewProject_UsingData(string testId, string testSummary) { var dataGroup = GetProjectCreation_ConfigData_FromSomeWhere(); MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, true) .ExecuteCustomMethod(t => { //can put all prerequsite here }) .CreateProjectFromPlanning() .Set(dataGroup) .Set(t => t.EndDate, new DateTime(2017, 2, 21)) //.Set_EndDate(new DateTime(2016, 2, 21)) .Set(t => t.ProjectCategory, "Central") .Set(t => t.BusinessUnit_Text, "test4352") .BeginVerification("Verify ProjectForm", (driver, formVerifier) => { formVerifier .Assert_ContractDays(176) //this way also can be coded //.Assert_ContractDays(1)//this way also can be coded .Assert_CustomSettingsAreCorrect(dataGroup["ProjectName"].ToString()) .AssertCondition("Multiple verificaiton", t => t.ContractDays > 100 && t.ContractDays < 200) .Assert_EndDate(new DateTime(2017, 2, 21)) .AssertCondition("ContractDays verificaiton", t => t.EndDate == new DateTime(2017, 2, 21)) .AssertCondition("ProjectName verificaiton", t => t.ProjectName == "someName") //or use generic way //.AssertBlock(t => t.ProjectOwner, "temp") ; }) .ExecuteCustomMethod(t => { //t.VerificationBlockList // user has access to this object here }) .SaveForm_Successfully(isStopOnVerificationException: true) .End_Automation() ; }
public static void EditProject_Add_CustomFormScreen(string testId, string testSummary) { int currentProjectId = 872; string currentAutomationId = Helpers.GetUniqueData("AutomatedBudget"); var hintObject_BudgetEstimate = HintFieldLookup.BudgetEstimate(currentAutomationId); MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, true) .OpenProject_ById(currentProjectId) .OpenListPage_By_Path(TreePath_UnderProject.BudgetEstimate) .OpenCreateRecordForm() .SetTextbox(BgtEst.BudgetEstimateName, currentAutomationId) //.Wait(5) .SetComobobox_ByText(BgtEst.BudgetEstimateType, "Construction") //.Wait(5)//.Wait_Till_TextToBePresentInElement(By.Id("xyz"), "xyz") .SetComobobox_ByText(BgtEst.MeasurementSystem, "IS System") .SaveForm_Successfully() .ExecuteCustom_Using_LastId(hintObject_BudgetEstimate, (id, listPageRef) => { var form = listPageRef.EditRow_WithId_ByNavigationUrl(id); form.BeginVerification("Verify BudgetEstimateType", (driver, formVerifier) => { formVerifier .AssertTextbox(BgtEst.BudgetEstimateName, currentAutomationId) .AssertComobobox_ByText(BgtEst.BudgetEstimateType, "Construction1") ; }); }) .VerifyInDB_Using_LastId("Verify BudgetEstimate in DB", hintObject_BudgetEstimate, (rowVerifier, listPageRef) => //.VerifyInDB_Using_LastId("Verify BudgetEstimate in DB", CONST_BudgetEstimate.TableName, "ID", CONST_BudgetEstimate.Form.BudgetEstimateName, currentAutomationId, (rowVerifier, listPageRef) => { rowVerifier .Assert_Data(CONST_BudgetEstimate.Form.BudgetEstimateName, currentAutomationId) .Assert_Data(CONST_BudgetEstimate.Form.BudgetEstimateType, 1) ; }) //.DB_Run_SelectStatement("Select * from Table1", (dataSet, listPageRef)=> //{ // //dataSet.Tables[0].Rows //}) .End_Automation() ; }
public void TimezoneAutomation_DateField_Final(string testId, string testSummary) { MasterworksScreen ts = new MasterworksScreen(testId, testSummary, BrowserType.Chrome, false); ts.Login(DEFAULT_USER_NAME, DEFAULT_USER_PWD) .OpenEnterprise_Form_ByDisplayName("Timezone Testing") .OpenCreateRecordForm() .SetDate("Date000", 2002, 10, 20) .SetDateTime("Date012", new DateTime(2016, 1, 29, 5, 23, 20)) .SaveForm_Successfully() .ExecuteCustom_Using_LastId("TimezoneTesting", "ID", (id, listPageRef) => { listPageRef .EditRow_WithId_ByNavigationUrl(id) .BeginVerification("Verificaiton Date000 is corret", (driver, formVerifier) => { //Verify Step 1 formVerifier .AssertDate("Date000", 2002, 10, 20) .AssertDateTime("Date012", new DateTime(2016, 1, 29, 10, 10, 10)); }) .BeginVerification((driver, formVerifier) => { //Unnamed Verify Step 2 formVerifier .AssertDateTime("Date012", new DateTime(2016, 1, 29, 0, 0, 0)); }) .BeginVerification("My DateOnly Verification", (driver, formVerifier) => { //Custom Verify Step 3 formVerifier .AssertDateTime("Date012", new DateTime(2016, 1, 29, 0, 0, 0)) .AssertDate("Date000", 2002, 10, 20); }) .CancelForm() //closed form and goes to list page ; }) .End_Automation(); }
public static void Add_NewProject(string testId, string testSummary) { string currentAutomationId = Helpers.GetUniqueData("Project_Auto"); HashSet <string> ignoreListControls = new HashSet <string>();//get this list from some settings location MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, true) .CreateProjectFromPlanning() .Set(t => t.ProjectName, currentAutomationId) .Set(t => t.ProjectCode, "PCODE_" + currentAutomationId) .Set(t => t.ProjectOwner, "User-Automator") .Set(t => t.ProjectStatus, "Advertisement") //.Set_ProjectName(currentAutomationId).Wait(5) //.Set_ProjectCode("PCODE_" + currentAutomationId) //.Set_ProjectOwner("User-Automator") //.Set_ProjectStatus("Advertisement")//combobox //.SaveForm() .End_Automation() ; }
public void POSITIVE_1(string testId = "0", string testSummary = @"") { TestScenarioConfig config = null; //------------------------------------------------------------------------------- #region AutoGenerate Configurations config = new TestScenarioConfig() { IsSaveWillSucceed = true, AutomationGUID_FieldName = "AutomationGuid", IsVerificationRequired_InDatabase = true, VerificationDescriptionText = "POSITIVE_1", IsVerificationRequired_InEditMode = true, IsVerificationRequired_InViewMode = false, }; System.Configuration.Configuration configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); configFile.AppSettings.File = AppDomain.CurrentDomain.BaseDirectory + "TestSuites" + "\\" + "CONTFOR_TestSuite_20180510224319" + "_App.config"; configFile.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); #endregion AutoGenerate Configurations //------------------------------------------------------------------------------- var listPage = MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, false) .Login(RuntimeAppConfig.Instance.Username, RuntimeAppConfig.Instance.Password) .OpenEnterprise_Form_ByDisplayName("Contractor Information"); try { var formPage = listPage.OpenCreateRecordForm(); //This code will help in running parallel tests in different machine on same database if (config.IsAutomationGUID_Field_Defined) { formPage.SetTextbox(config.AutomationGUID_FieldName, config.AutomationGUID_FieldValue); base.AdditionalRunInfo = $" [AutomationGUID : {config.AutomationGUID_FieldValue}]"; } #region AutoGenerated Values to be set formPage.SetTextbox("ContractorName", ""); #endregion AutoGenerated Values to be set if (config.IsSaveWillSucceed) { listPage = formPage.SaveForm_Successfully(); } else { formPage = formPage.SaveForm_ExpectValidationError(); } #region If Save will succeeed #region If Database validation is required if (config.IsSaveWillSucceed && config.IsVerificationRequired_InDatabase) { Action <DataRowVerifier <GenericListPage>, GenericListPage> dbVerifierFunction = (v, listPageRef) => { #region AutoGenerated Assert In DB rowVerifier v.Assert_Data("ContractorName", ""); #endregion AutoGenerated Assert In DB rowVerifier }; if (config.IsAutomationGUID_Field_Defined) { var hintObject = this.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.VerifyInDB_Using_LastId(config.VerificationDescriptionText, hintObject, dbVerifierFunction); } else { //if no automation id field then use primary key: ButTestcases cannot be distributed and run in parallel listPage = listPage.VerifyInDB_Using_LastId(config.VerificationDescriptionText, this.ModuleTableName, this.ModuleTablePrimaryKeyName, dbVerifierFunction); } } #endregion If Database validation is required #region If verification required by editing the record if (config.IsSaveWillSucceed && config.IsVerificationRequired_InEditMode) { Action <GenericFormPageVerifier> formPageVerifier = (v) => { #region AutoGenerated Assert In formVerifier v.AssertTextbox("ContractorName", ""); #endregion AutoGenerated Assert In formVerifier }; Action <string, GenericListPage> formVerificationHandler = (id, listPageRef) => { var form = listPageRef.EditRow_WithId_ByNavigationUrl(id); form.BeginVerification(config.VerificationDescriptionText, formPageVerifier); }; if (!config.IsAutomationGUID_Field_Defined) { listPage = listPage.ExecuteCustom_Using_LastId(this.ModuleTableName, this.ModuleTablePrimaryKeyName, formVerificationHandler); } else { var hintObject = this.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.ExecuteCustom_Using_LastId(hintObject, formVerificationHandler); } } #endregion If verification required by editing the record #region If verification required by viewing the record if (config.IsSaveWillSucceed && config.IsVerificationRequired_InViewMode) { Action <GenericViewPageVerifier> viewPageVerifier = (v) => { #region AutoGenerated Assert In viewVerifier v.AssertTextbox("ContractorName", ""); #endregion AutoGenerated Assert In viewVerifier }; Action <string, GenericListPage> viewVerificationHandler = (id, listPageRef) => { var view = listPageRef.ViewRow_WithId_ByNavigationUrl(id); view.BeginVerification(config.VerificationDescriptionText, viewPageVerifier); }; if (!config.IsAutomationGUID_Field_Defined) { listPage = listPage.ExecuteCustom_Using_LastId(this.ModuleTableName, this.ModuleTablePrimaryKeyName, viewVerificationHandler); } else { var hintObject = this.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.ExecuteCustom_Using_LastId(hintObject, viewVerificationHandler); } } #endregion If verification required by viewing the record #endregion If Save will succeeed #region If Save will throw validation error if (!config.IsSaveWillSucceed) { Action <GenericFormPageVerifier> formPageVerifier = (v) => { #region AutoGenerated Assert In viewVerifier #endregion AutoGenerated Assert In viewVerifier }; formPage.BeginVerification(config.VerificationDescriptionText, formPageVerifier); } #endregion If Save will throw validation error } catch { throw; } finally { listPage.End_Automation(); } }
public void Senario_00002(string testId = "Senario_00002", string testSummary = "Formxyz_Senario_00002") { TestScenarioConfig config = null; //------------------------------------------------------------------------------- #region AutoGenerate Configurations config = new TestScenarioConfig() { IsSaveWillSucceed = true, // { isSaveWillSucceed }; AutomationGUID_FieldName = this.AutomationGUID_FieldName, // { AutomationGUID_FieldName }; IsVerificationRequired_InDatabase = true, // { IsDatabaseVerificationRequired }; VerificationDescriptionText = "Verify ModuleXYZ in DB", // { VerificationDescriptionText }; }; #endregion AutoGenerate Configurations //------------------------------------------------------------------------------- var listPage = MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, false) .Login(RuntimeAppConfig.Instance.Username, RuntimeAppConfig.Instance.Password) .OpenEnterprise_Form_ByDisplayName("Sample Form"); var formPage = listPage.OpenCreateRecordForm(); //This code will help in running parallel tests in different machine on same database if (config.IsAutomationGUID_Field_Defined) { formPage.SetTextbox(config.AutomationGUID_FieldName, config.AutomationGUID_FieldValue); } #region AutoGenerated Values to be set formPage.SetTextbox("Name", "asheesh"); formPage.SetTextbox("Name", "asheesh"); formPage.SetTextbox("Name", "asheesh"); #endregion AutoGenerated Values to be set if (config.IsSaveWillSucceed) { listPage = formPage.SaveForm_Successfully(); } else { formPage = formPage.SaveForm_ExpectValidationError(); } #region If Save will succeeed #region If Database validation is required if (config.IsSaveWillSucceed && config.IsVerificationRequired_InDatabase) { Action <DataRowVerifier <GenericListPage>, GenericListPage> dbVerifierFunction = (v, listPageRef) => { #region AutoGenerated Assert In DB rowVerifier v.Assert_Data("Name", "asheesh"); v.Assert_Data("Name", "asheesh"); #endregion AutoGenerated Assert In DB rowVerifier }; if (config.IsAutomationGUID_Field_Defined) { var hintObject = this.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.VerifyInDB_Using_LastId(config.VerificationDescriptionText, hintObject, dbVerifierFunction); } else { //if no automation id field then use primary key: ButTestcases cannot be distributed and run in parallel listPage = listPage.VerifyInDB_Using_LastId(config.VerificationDescriptionText, this.ModuleTableName, this.ModuleTablePrimaryKeyName, dbVerifierFunction); } } #endregion If Database validation is required #region If verification required by editing the record if (config.IsSaveWillSucceed && config.IsVerificationRequired_InEditMode) { Action <GenericFormPageVerifier> formPageVerifier = (v) => { #region AutoGenerated Assert In formVerifier v.AssertTextbox("Name", "asheesh"); v.AssertTextbox("Name", "asheesh"); #endregion AutoGenerated Assert In formVerifier }; Action <string, GenericListPage> formVerificationHandler = (id, listPageRef) => { var form = listPageRef.EditRow_WithId_ByNavigationUrl(id); form.BeginVerification(config.VerificationDescriptionText, formPageVerifier); }; if (!config.IsAutomationGUID_Field_Defined) { listPage = listPage.ExecuteCustom_Using_LastId(this.ModuleTableName, this.ModuleTablePrimaryKeyName, formVerificationHandler); } else { var hintObject = this.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.ExecuteCustom_Using_LastId(hintObject, formVerificationHandler); } } #endregion If verification required by editing the record #region If verification required by viewing the record if (config.IsSaveWillSucceed && config.IsVerificationRequired_InViewMode) { Action <GenericViewPageVerifier> viewPageVerifier = (v) => { #region AutoGenerated Assert In viewVerifier v.AssertTextbox("Name", "asheesh"); v.AssertTextbox("Name", "asheesh"); #endregion AutoGenerated Assert In viewVerifier }; Action <string, GenericListPage> viewVerificationHandler = (id, listPageRef) => { var view = listPageRef.ViewRow_WithId_ByNavigationUrl(id); view.BeginVerification(config.VerificationDescriptionText, viewPageVerifier); }; if (!config.IsAutomationGUID_Field_Defined) { listPage = listPage.ExecuteCustom_Using_LastId(this.ModuleTableName, this.ModuleTablePrimaryKeyName, viewVerificationHandler); } else { var hintObject = this.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.ExecuteCustom_Using_LastId(hintObject, viewVerificationHandler); } } #endregion If verification required by viewing the record #endregion If Save will succeeed #region If Save will throw validation error //Then we must verify if we are still on the same page and validation error was thrown //TODO:asheesh #endregion If Save will throw validation error listPage.End_Automation(); }
public void Open(string testId, string testSummary) { TestScenarioConfig config = null; config = new TestScenarioConfig() { IsSaveWillSucceed = false, // { isSaveWillSucceed }; //AutomationGUID_FieldName = this.AutomationGUID_FieldName,// { AutomationGUID_FieldName }; IsVerificationRequired_InDatabase = true, // { IsDatabaseVerificationRequired }; //VerificationDescriptionText = "Verify UserDirectoryModule in DB",// { VerificationDescriptionText }; IsVerificationRequired_InEditMode = true, IsVerificationRequired_InViewMode = true, }; var listpage = MasterworksScreen.Begin(testId, testSummary, BrowserType.Chrome, false) .Login(AurigoAppSettings.AutoLogin_UserName, AurigoAppSettings.AutoLogin_Password) .OpenEnterprise_Form_ByDisplayName("Contractor Information"); var formPage = listpage.OpenCreateRecordForm(); //Get the original data of the autopopulated and Readonly field. string originalText = formPage.GetTextbox("CreatedBy"); // Set the data in the readonly field ( tampering the data) formPage.SetTextbox("CreatedBy", "Hacker"); // Check if save succeeds ? if (config.IsSaveWillSucceed) { listpage = formPage.SaveForm_Successfully(); } else { formPage = formPage.SaveForm_ExpectValidationError(); } // If save is successfull then we check the form in edit mode - //if the data is same as of before then server side validation is successful and if not then it has failed! #region If verification required by editing the record if (config.IsSaveWillSucceed && config.IsVerificationRequired_InEditMode) { Action <GenericFormPageVerifier> formPageVerifier = (v) => { #region AutoGenerated Assert In formVerifier v.AssertToasterMessage(serverSideValidationMessage); v.AssertTextbox("CreatedBy", originalText); #endregion AutoGenerated Assert In formVerifier }; Action <string, GenericListPage> formVerificationHandler = (id, listPageRef) => { var form = listPageRef.EditRow_WithId_ByNavigationUrl(id); form.BeginVerification(config.VerificationDescriptionText, formPageVerifier); }; if (!(config.IsAutomationGUID_Field_Defined)) { listpage = listpage.ExecuteCustom_Using_LastId("CONTFORMContractorInformation", "ID", formVerificationHandler); } else { var hintObject = nn.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listpage = listpage.ExecuteCustom_Using_LastId(hintObject, formVerificationHandler); } } #endregion If verification required by editing the record // If it doesn't then we check for the toaster message and the default string of server side validation! #region If verification required by editing the record if (!config.IsSaveWillSucceed) { Action <GenericFormPageVerifier> formPageVerifier = (v) => { #region AutoGenerated Assert In formVerifier v.AssertToasterMessage(serverSideValidationMessage); // v.AssertTextbox("Username", originalText); // v.AssertTextbox("UserId", originalId); #endregion AutoGenerated Assert In formVerifier }; formPage.BeginVerification(config.VerificationDescriptionText, formPageVerifier); } #endregion If verification required by editing the record listpage.End_Automation(); }
public void Open(string testId, string testSummary) { TestScenarioConfig config = null; config = new TestScenarioConfig() { IsSaveWillSucceed = false, // { isSaveWillSucceed }; //AutomationGUID_FieldName = this.AutomationGUID_FieldName,// { AutomationGUID_FieldName }; IsVerificationRequired_InDatabase = true, // { IsDatabaseVerificationRequired }; //VerificationDescriptionText = "Verify UserDirectoryModule in DB",// { VerificationDescriptionText }; IsVerificationRequired_InEditMode = true, IsVerificationRequired_InViewMode = true, }; var listpage = MasterworksScreen.Begin(testId, testSummary, BrowserType.Chrome, false) .Login(AurigoAppSettings.AutoLogin_UserName, AurigoAppSettings.AutoLogin_Password) .OpenEnterprise_Form_ByDisplayName("Security Form 002"); var formPage = listpage.OpenCreateRecordForm(); string originalText = formPage.GetTextbox("Username"); string originalId = formPage.GetTextbox("UserID"); formPage.SetTextbox("Username", "Hacker"); formPage.SetTextbox("UserID", 10032); if (config.IsSaveWillSucceed) { listpage = formPage.SaveForm_Successfully(); } else { formPage = formPage.SaveForm_ExpectValidationError(); } #region If verification required by editing the record if (config.IsSaveWillSucceed && config.IsVerificationRequired_InEditMode) { Action <GenericFormPageVerifier> formPageVerifier = (v) => { #region AutoGenerated Assert In formVerifier v.AssertToasterMessage(serverSideValidationMessage); v.AssertTextbox("Username", originalText); v.AssertTextbox("UserId", originalId); #endregion AutoGenerated Assert In formVerifier }; Action <string, GenericListPage> formVerificationHandler = (id, listPageRef) => { var form = listPageRef.EditRow_WithId_ByNavigationUrl(id); form.BeginVerification(config.VerificationDescriptionText, formPageVerifier); }; if (!(config.IsAutomationGUID_Field_Defined)) { listpage = listpage.ExecuteCustom_Using_LastId("XF134Master", "ID", formVerificationHandler); } else { var hintObject = nn.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listpage = listpage.ExecuteCustom_Using_LastId(hintObject, formVerificationHandler); } } #endregion If verification required by editing the record #region If verification required by editing the record if (!config.IsSaveWillSucceed) { Action <GenericFormPageVerifier> formPageVerifier = (v) => { #region AutoGenerated Assert In formVerifier v.AssertToasterMessage(serverSideValidationMessage); // v.AssertTextbox("Username", originalText); // v.AssertTextbox("UserId", originalId); #endregion AutoGenerated Assert In formVerifier }; formPage.BeginVerification(config.VerificationDescriptionText, formPageVerifier); } #endregion If verification required by editing the record listpage.End_Automation(); }
public void Open(string testId, string testSummary) { TestScenarioConfig config = null; //------------------------------------------------------------------------------- #region AutoGenerate Configurations config = new TestScenarioConfig() { IsSaveWillSucceed = true, // { isSaveWillSucceed }; //AutomationGUID_FieldName = this.AutomationGUID_FieldName,// { AutomationGUID_FieldName }; IsVerificationRequired_InDatabase = true, // { IsDatabaseVerificationRequired }; VerificationDescriptionText = "Verify Employee Information in DB", // { VerificationDescriptionText }; IsVerificationRequired_InEditMode = true, IsVerificationRequired_InViewMode = true, }; #endregion AutoGenerate Configurations //------------------------------------------------------------------------------- var listPage = MasterworksScreen .Begin(testId, testSummary, BrowserType.Chrome, false) .Login(DEFAULT_USER_NAME, DEFAULT_USER_PWD) .OpenEnterprise_Form_ByDisplayName("Employee Information"); var formPage = listPage.OpenCreateRecordForm(); formPage.SetTextbox("Employee Name:", "Emp1") .SetTextbox("Employee Age:", 22) .SetTextbox("Employee Grade:", 7.5); if (config.IsSaveWillSucceed) { listPage = formPage.SaveForm_Successfully(); } else { formPage = formPage.SaveForm_ExpectValidationError(); } #region If Save will succeeed #region If Database validation is required if (config.IsSaveWillSucceed && config.IsVerificationRequired_InDatabase) { Action <DataRowVerifier <GenericListPage>, GenericListPage> dbVerifierFunction = (v, listPageRef) => { #region AutoGenerated Assert In DB rowVerifier v.Assert_Data("Employee Name:", "Emp1"); v.Assert_Data("Employee Age:", "22"); v.Assert_Data("Employee Grade:", "7.5"); #endregion AutoGenerated Assert In DB rowVerifier }; if (config.IsAutomationGUID_Field_Defined) { var hintObject = nn.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.VerifyInDB_Using_LastId(config.VerificationDescriptionText, hintObject, dbVerifierFunction); } else { //if no automation id field then use primary key: ButTestcases cannot be distributed and run in parallel listPage = listPage.VerifyInDB_Using_LastId(config.VerificationDescriptionText, "EMPFORMEmployeeInformation", "ID", dbVerifierFunction); } } #endregion If Database validation is required #region If verification required by editing the record if (config.IsSaveWillSucceed && config.IsVerificationRequired_InEditMode) { Action <GenericFormPageVerifier> formPageVerifier = (v) => { #region AutoGenerated Assert In formVerifier v.AssertTextbox("Employee Name:", "Emp1"); v.AssertTextbox("Employee Age:", "22"); v.AssertTextbox("Employee Grade:", "7.5"); #endregion AutoGenerated Assert In formVerifier }; Action <string, GenericListPage> formVerificationHandler = (id, listPageRef) => { var form = listPageRef.EditRow_WithId_ByNavigationUrl(id); form.BeginVerification(config.VerificationDescriptionText, formPageVerifier); }; if (!(config.IsAutomationGUID_Field_Defined)) { listPage = listPage.ExecuteCustom_Using_LastId("EMPFORMEmployeeInformation", "ID", formVerificationHandler); } else { var hintObject = nn.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.ExecuteCustom_Using_LastId(hintObject, formVerificationHandler); } } #endregion If verification required by editing the record #region If verification required by viewing the record if (config.IsSaveWillSucceed && config.IsVerificationRequired_InViewMode) { Action <GenericViewPageVerifier> viewPageVerifier = (v) => { #region AutoGenerated Assert In viewVerifier v.AssertTextbox("Employee Name:", "Emp1"); v.AssertTextbox("Employee Age:", "22"); v.AssertTextbox("Employee Grade:", "7.5"); #endregion AutoGenerated Assert In viewVerifier }; Action <string, GenericListPage> viewVerificationHandler = (id, listPageRef) => { var view = listPageRef.ViewRow_WithId_ByNavigationUrl(id); view.BeginVerification(config.VerificationDescriptionText, viewPageVerifier); }; if (!config.IsAutomationGUID_Field_Defined) { listPage = listPage.ExecuteCustom_Using_LastId("EMPFORMEmployeeInformation", "ID", viewVerificationHandler); } else { var hintObject = nn.GetTableRecordHintObject(config.AutomationGUID_FieldValue); listPage = listPage.ExecuteCustom_Using_LastId(hintObject, viewVerificationHandler); } } #endregion If verification required by viewing the record #endregion If Save will succeeed #region If Save will throw validation error //Then we must verify if we are still on the same page and validation error was thrown //TODO:asheesh #endregion If Save will throw validation error listPage.End_Automation(); }