Ejemplo n.º 1
0
        /// <summary>
        /// Extracts Data from excel.
        /// </summary>
        /// <param name="errorMessage">Error message.</param>
        /// <returns>False if no error.</returns>
        public bool InitiliazeTestCaseAndTestData(ref string errorMessage)
        {
            var applicationClass = new ApplicationClass();

            try
            {
                TestConfigurations objTestConfigurations = new TestConfigurations();
                LoadAPIData        loadAPIdata           = new LoadAPIData();
                TestCase.UiControls        = new List <UiControl>();
                TestCase.Verifications     = new List <Verification>();
                ConfigStep.TestConfigNames = new List <ConfigStep>();
                TestCase.TestStepList      = new List <TestStep>();

                LoadUiControls(applicationClass);

                LoadVerifications(applicationClass);

                LoadTestConfigurations(applicationClass);

                objTestConfigurations.Configuration();

                loadAPIdata.LoadAPIResponseData(applicationClass);

                LoadTestCases(applicationClass);

                return(true);
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                LogHelper.ErrorLog(ex, Entities.Constants.ClassName.Data, MethodBase.GetCurrentMethod().Name);
                return(false);
            }
            finally
            {
                WorkBookUtility.CloseExcel(applicationClass);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Web driver edit for user interface control.
        /// </summary>
        /// <param name="testStep">Test step as parameter.</param>
        /// <returns>Returns true or false.</returns>
        public static bool WebDriverEditUIControl(TestStep testStep)
        {
            try
            {
                switch (testStep.UiControl.UiControlSearchProperty.ToUpper())
                {
                case "ID":
                    if (!string.IsNullOrEmpty(Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)])) && Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]).ToUpper() == "CLICK")
                    {
                        WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                        WebdriverBrowser.Driver.FindElement(By.Id(testStep.UiControl.UiControlSearchValue)).Click();
                    }
                    else
                    {
                        if (testStep.UiControl.UiControlType.ToUpper() == "HTMLCOMBOBOX")
                        {
                            WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                            var identifier = WebdriverBrowser.Driver.FindElement(By.Id(testStep.UiControl.UiControlSearchValue));
                            var select     = new SelectElement(identifier);
                            select.SelectByText(Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]));
                        }
                        ////Load Dynamic Data loaded from Web Services
                        else if (Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]).Contains(Entities.Constants.DynamicWebServiceData))
                        {
                            WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                            WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue)).Clear();
                            WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue)).SendKeys(LoadAPIData.GetSavedAPIData(testStep));

                            Result.PassStepOutandSave(testStep.TestDataKeyToUse, testStep.TestStepNumber, "WebDriverEditUIControl", Entities.Constants.Pass, "Edit search property \"" + LoadAPIData.GetSavedAPIData(testStep) + "\" completed successfully", testStep.Remarks);
                            return(true);
                        }
                        else
                        {
                            WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                            WebdriverBrowser.Driver.FindElement(By.Id(testStep.UiControl.UiControlSearchValue)).Clear();
                            WebdriverBrowser.Driver.FindElement(By.Id(testStep.UiControl.UiControlSearchValue)).SendKeys(Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]));
                        }
                    }

                    break;

                case "XPATH":
                    if (!string.IsNullOrEmpty(Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)])) && Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]).ToUpper() == "CLICK")
                    {
                        WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                        WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue)).Click();
                    }
                    else
                    {
                        if (testStep.UiControl.UiControlType.ToUpper() == "HTMLCOMBOBOX")
                        {
                            WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                            WaitForElementToBeEnabled(testStep);
                            var identifier = WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue));
                            var select     = new SelectElement(identifier);
                            select.SelectByText(Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]));
                        }
                        else
                        {
                            if (Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]) == null)
                            {
                                WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                                WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue)).Clear();
                            }
                            ////Load Dynamic Data loaded from Web Services
                            else if (Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]).Contains(Entities.Constants.DynamicWebServiceData))
                            {
                                WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                                WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue)).Clear();
                                WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue)).SendKeys(LoadAPIData.GetSavedAPIData(testStep));

                                Result.PassStepOutandSave(testStep.TestDataKeyToUse, testStep.TestStepNumber, "WebDriverEditUIControl", Entities.Constants.Pass, "Edit search property \"" + LoadAPIData.GetSavedAPIData(testStep) + "\" completed successfully", testStep.Remarks);
                                return(true);
                            }
                            else
                            {
                                WaitForControlToExist(testStep);     //// Throws WebDriverTimeoutException
                                WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue)).Clear();
                                WebdriverBrowser.Driver.FindElement(By.XPath(testStep.UiControl.UiControlSearchValue)).SendKeys(Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]));
                            }
                        }
                    }

                    break;

                default:
                    return(false);
                }

                Result.PassStepOutandSave(testStep.TestDataKeyToUse, testStep.TestStepNumber, "WebDriverEditUIControl", Entities.Constants.Pass, "Edit search property \"" + Convert.ToString(testStep.TestData[Convert.ToInt32(testStep.TestDataKeyToUse)]) + "\" completed successfully", testStep.Remarks);
                return(true);
            }
            catch (WebDriverTimeoutException ex)
            {
                Result.PassStepOutandSave(testStep.TestDataKeyToUse, testStep.TestStepNumber, "WebDriverEditUIControl", Entities.Constants.Fail, string.Format(Entities.Constants.Messages.WebDriverTimeoutException, ex.Message), testStep.Remarks);
                LogHelper.ErrorLog(ex, Entities.Constants.ClassName.UiActionsClassName, MethodBase.GetCurrentMethod().Name);
                return(false);
            }
            catch (Exception ex)
            {
                Result.PassStepOutandSave(testStep.TestDataKeyToUse, testStep.TestStepNumber, "WebDriverEditUIControl", Entities.Constants.Fail, string.Format(Entities.Constants.Messages.DueToException, ex.Message), testStep.Remarks);
                LogHelper.ErrorLog(ex, Entities.Constants.ClassName.UiActionsClassName, MethodBase.GetCurrentMethod().Name);
                return(false);
            }
        }