Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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()
            ;
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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()
            ;
        }
Esempio n. 5
0
        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()
            ;
        }
Esempio n. 6
0
        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()
            ;
        }
Esempio n. 7
0
        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()
            ;
        }
Esempio n. 8
0
        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()
            ;
        }
Esempio n. 9
0
        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();
        }
Esempio n. 10
0
        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()
            ;
        }
Esempio n. 11
0
        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();
            }
        }
Esempio n. 12
0
        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();
        }
Esempio n. 15
0
        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();
        }