//Purpose: Method to Select Product For License Creation
        public void SelectProduct(Enumerations.ProductInstance productInstance)
        {
            try
            {
                bool isProductSelectionWindowAppeared = GenericHelper.WaitUtilWindow("Product Selection");
                if (isProductSelectionWindowAppeared)
                {
                    GenericHelper.SelectWindow("Product Selection");
                    GenericHelper.WaitUntilElement(By.Id("ifrmAvailableProd"));
                    WebDriver.SwitchTo().Frame("ifrmAvailableProd");
                    GenericHelper.WaitUntilElement(By.XPath("//label[@class='cssLicenseSearchLbl']"));
                    WebDriver.FindElement(By.XPath("//label[@class='cssLicenseSearchLbl']")).Click();
                    bool isProductTextBoxDisplayed = WebDriver.FindElement(By.Id("txtProduct")).Displayed;
                    if (!isProductTextBoxDisplayed)
                    {
                        GenericHelper.WaitUntilElement(By.XPath("//label[@class='cssLicenseSearchLbl']"));
                        WebDriver.FindElement(By.XPath("//label[@class='cssLicenseSearchLbl']")).Click();
                    }
                    string productName = DatabaseTools.GetProduct(productInstance);
                    if (productName == null)
                    {
                        throw new ArgumentNullException(string.Format("Product Name is {0}, dataconfiguration issue.", "productName"));
                    }
                    GenericHelper.WaitUntilElement(By.Id("txtProduct"));
                    WebDriver.FindElement(By.Id("txtProduct")).SendKeys(productName);
                    GenericHelper.WaitUntilElement(By.Id("Search1"));
                    WebDriver.FindElement(By.Id("Search1")).Click();
                    bool isProductDisplayed = GenericHelper.IsElementPresent(By.PartialLinkText("Select"));
                    if (isProductDisplayed)
                    {
                        GenericHelper.WaitUntilElement(By.PartialLinkText("Select"));
                        GenericHelper.Logs("Product has been found successfully while creating the license.", "PASSED");
                    }
                    else
                    {
                        GenericHelper.Logs("Product has been not found while creating the license.", "FAILED");
                        throw new NoSuchElementException("Product has been not found while creating the license.");
                    }
                    WebDriver.FindElement(By.PartialLinkText("Select")).Click();
                    WebDriver.SwitchTo().DefaultContent();
                    WebDriver.WindowHandles.Any(item => WebDriver.SwitchTo().Window(item).Title == "Product Selection");
                    GenericHelper.WaitUntilElement(By.Id("ImgContinue"));
                    WebDriver.FindElement(By.Id("ImgContinue")).Click();
                    Thread.Sleep(15000);
                    WebDriver.WindowHandles.Any(item => WebDriver.SwitchTo().Window(item).Title == "Create License");

                    new CreateLicensePage().EnterLicenseDetail();

                    WebDriver.Close();
                    GenericHelper.SelectWindow("Organization Management");
                }
                else
                {
                    GenericHelper.Logs("Product selection pop-up not opened for selecting product for licensing.", "FAILED");
                    throw new NoSuchWindowException("Product Selection pop-up not opened for selecting product for licensing.");
                }
            }
            catch (Exception e)
            {
                GenericHelper.Logs(e.ToString(), "FAILED");
                bool isWindowPresentProductSelection = GenericHelper.IsPopUpWindowPresent("Product Selection");
                if (isWindowPresentProductSelection)
                {
                    GenericHelper.SelectWindow("Product Selection");
                    WebDriver.Close();
                }
                throw new Exception(e.ToString());
            }
        }
示例#2
0
        public void CreateHedProduct(Enumerations.ProductInstance productType)
        {
            try
            {
                string productName = GenericHelper.GenerateUniqueVariable("BDD_Prod");
                string programName = DatabaseTools.GetProgram(Enumerations.ProgramInstance.HedCore);
                GenericHelper.SelectWindow("Create New Product");
                GenericHelper.WaitUntilElement(By.Id("txtProgramName"));
                WebDriver.FindElement(By.Id("txtProgramName")).SendKeys(productName);
                WebDriver.FindElement(By.Id("ancRightSearch")).Click();
                GenericHelper.WaitUntilElement(By.Id("ifrmSearchProgram"));
                WebDriver.SwitchTo().Frame("ifrmSearchProgram");
                GenericHelper.WaitUntilElement(By.Id("txtProgramName"));
                WebDriver.FindElement(By.Id("txtProgramName")).SendKeys(programName);
                WebDriver.FindElement(By.Id("btnSearch")).Click();
                GenericHelper.WaitUntilElement(By.Id("grdPegasusDataGrid"));
                #region Browser Selection

                if (Browser.Equals("FF"))
                {
                    if (WebDriver.FindElement(By.Id("grdPegasusDataGrid")).Text.Contains(programName))
                    {
                        GenericHelper.Logs("Searched Program Found in 'Create New Product' page.", "PASSED");
                    }
                    else
                    {
                        GenericHelper.Logs("Searched Program not Found in 'Create New Product' page.", "FAILED");
                        Assert.Fail("Searched Program not Found in 'Create New Product' page.");
                    }
                }
                if (Browser.Equals("IE"))
                {
                    if (
                        (WebDriver.FindElement(By.Id("grdPegasusDataGrid")).GetAttribute("innerText")).Contains(
                            programName))
                    {
                        GenericHelper.Logs("Searched Program Found in 'Create New Product' page.", "PASSED");
                    }
                    else
                    {
                        GenericHelper.Logs("Searched Program not Found in 'Create New Product' page.", "FAILED");
                        Assert.Fail("Searched Program not Found in 'Create New Product' page.");
                    }
                }

                #endregion Browser Selection
                GenericHelper.WaitUntilElement(By.Id("grdPegasusDataGrid$_ctrl1"));
                if (!WebDriver.FindElement(By.Id("grdPegasusDataGrid$_ctrl1")).Selected)
                {
                    WebDriver.FindElement(By.Id("grdPegasusDataGrid$_ctrl1")).Click();
                }
                WebDriver.SwitchTo().DefaultContent();
                GenericHelper.WaitUntilElement(By.Id("txtSMSID"));
                WebDriver.FindElement(By.Id("txtSMSID")).SendKeys("2731");
                if (productType.Equals(Enumerations.ProductInstance.HedCoreProgram))
                {
                    GenericHelper.WaitUntilElement(By.Id("chkIsProgram"));
                    WebDriver.FindElement(By.Id("chkIsProgram")).Click();
                    GenericHelper.WaitUntilElement(By.Id("drpDiscipline"));
                    WebDriver.FindElement(By.Id("drpDiscipline")).SendKeys("");
                    new SelectElement(WebDriver.FindElement(By.Id("drpDiscipline"))).SelectByText("Art");
                    GenericHelper.WaitUntilElement(By.Id("imgbtnSave"));
                    WebDriver.FindElement(By.Id("imgbtnSave")).Click();
                    bool isCreateNewProductPopUpClosed = GenericHelper.IsPopUpClosed(2);
                    if (isCreateNewProductPopUpClosed)
                    {
                        GenericHelper.Logs("'Create New Product' pop up window closed successfully after creation of product.", "PASSED");
                        DatabaseTools.UpdateProduct(productName, programName, Enumerations.ProductInstance.HedCoreProgram);
                    }
                    else
                    {
                        GenericHelper.Logs("'Create New Product' pop up window not closed successfully after creation of product.", "FAILED");
                        Assert.Fail("'Create New Product' pop up window not closed successfully after creation of product.");
                    }
                }
                else
                {
                    GenericHelper.WaitUntilElement(By.Id("imgbtnSave"));
                    WebDriver.FindElement(By.Id("imgbtnSave")).Click();
                    bool isCreateNewProductPopUpClosed = GenericHelper.IsPopUpClosed(2);
                    if (isCreateNewProductPopUpClosed)
                    {
                        GenericHelper.Logs("'Create New Product' pop up window closed successfully after creation of product.", "PASSED");
                        DatabaseTools.UpdateProduct(productName, programName, Enumerations.ProductInstance.HedCoreGeneral);
                    }
                    else
                    {
                        GenericHelper.Logs("'Create New Product' pop up window not closed successfully after creation of product.", "FAILED");
                        Assert.Fail("'Create New Product' pop up window not closed successfully after creation of product.");
                    }
                }
            }
            catch (Exception e)
            {
                GenericHelper.Logs(e.ToString(), "FAILED");
                if (GenericHelper.IsPopUpWindowPresent("Create New Product"))
                {
                    GenericHelper.SelectWindow("Create New Product");
                    WebDriver.Close();
                }
                Assert.Fail(string.Format("Exception of type {0} caught: {1}", e.GetType(), e.Message));
            }
        }