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("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; 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; //------------------------------------------------------------------------------- #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(); }