예제 #1
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();
            }
        }
예제 #2
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("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();
        }
예제 #5
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();
        }