Example #1
0
        public ProductsPage(IWebDriver driver)
        {
            #region Assigning Accessors
            _driver                = driver;
            ItemAdded              = false;
            PDFDownloaded          = false;
            ProductsTable          = HelperMethods.FindElement(this._driver, Constants.SearchType.XPATH, "//tbody");
            ReportsDropdown        = HelperMethods.FindElement(_driver, Constants.SearchType.XPATH, Constants.PO.XP.REPORTS_LOCATOR);
            SaveDraftButton        = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "saveOrderButton");
            SearchBar              = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "basicSearchTerm");
            SearchButton           = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "basicSearchButton");
            AdvancedSearchLinktext = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "advancedSearchLink");
            GridViewButton         = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "gridViewChoice");
            TilesViewButton        = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "tileViewChoice");
            MyCartButton           = HelperMethods.FindElement(_driver, Constants.SearchType.XPATH, Constants.PO.XP.MYCART_LINK);
            _products              = new List <Product>();
            _prodsInCart           = new List <Product>();
            #endregion

            if (!_driver.Url.Contains("Products"))
            {
                _logger.Fatal(" > Catalogue product page navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            else
            {
                _logger.Info(" > Products page reached!");
            }
        }
Example #2
0
        /// <summary>
        /// Find specific item in user's cart.
        /// If a match is found using Product Numbers, a CartItem object is build and
        /// returned to the caller.
        /// </summary>
        /// <param name="prodNum">description of item to be searched for</param>
        /// <returns>Cart object to interact with</returns>
        private CartItem LoadCartItem(string prodNum)
        {
            _logger.Trace(" > Attempting to find cart item: " + prodNum);
            CartItem currentItem = new CartItem();

            try
            {
                for (int i = 0; i < _cartLineItems.Count; ++i)
                {
                    // search current cart items; if match make temp obj and return
                    if (_cartLineItems[i].ProductNumber.Text.Equals(prodNum))
                    {
                        currentItem.DeleteButton  = _itemDeleteButtons[i];
                        currentItem.ProductNumber = _itemProdNums[i];
                        currentItem.Price         = _itemPrices[i];
                        currentItem.Quantity      = _itemQtys[i];
                        currentItem.ItemTotalAmt  = _itemTotals[i];
                        _logger.Info(" > Cart item found: " + prodNum);
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                _logger.Fatal(" > Attempting to find MyCart item [FAILED] - " + e.Message);
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            return(currentItem);
        }
Example #3
0
        /// <summary>
        /// Find specific product in catalogue page to interat with
        /// </summary>
        /// <param name="prodNum">name of product to be searched for</param>
        /// <returns>Product object to interact with</returns>
        internal Product LoadProduct(string prodNum)
        {
            _logger.Trace(" > Searching for product: " + prodNum);
            Product currentProd = new Product();

            try
            {
                foreach (Product prod in _products)
                {
                    if (prod.ProductNumber.Equals(prodNum))
                    {
                        currentProd.ProductNumber = prod.ProductNumber;
                        currentProd.UPC           = prod.UPC;
                        currentProd.Colour        = prod.Colour;
                        currentProd.Size          = prod.Size;
                        currentProd.Price         = prod.Price;
                        currentProd.QtyUp         = prod.QtyUp;
                        currentProd.QtyDown       = prod.QtyDown;
                        currentProd.UpdateButton  = prod.UpdateButton;
                        currentProd.QtyLocator    = prod.QtyLocator;
                        _prodsInCart.Add(currentProd);
                    }
                }
                _logger.Info(" > Product Found!");
            }
            catch (Exception)
            {
                _logger.Fatal(" > Searching for product " + prodNum + " [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            return(currentProd);
        }
Example #4
0
 public MyCartPage SendOrder()
 {
     _logger.Trace(" > Attempting to send order...");
     if (PONumberTextbox.Text.Equals(""))
     {
         EnterRandomPONumber(7);
     }
     Thread.Sleep(500);
     SendOrderButton.Click();
     if (HelperMethods.IsElementPresent(_driver, By.ClassName("modal-content")))
     {
         // click OK on Information dialog
         Thread.Sleep(500);
         HelperMethods.FindElement(_driver, Constants.SearchType.XPATH, Constants.PO.XP.ORDER_OK).Click();
         // click Finish on next dialog
         Thread.Sleep(5000);
         IWebElement finish = HelperMethods.FindElement(_driver, Constants.SearchType.XPATH, Constants.PO.XP.INFO_FINISH);
         finish.Click();
         Thread.Sleep(300);
         OrderComplete = true;
         return(new MyCartPage(_driver, Constants.OrderType.COMPLETE));
     }
     else
     {
         _logger.Fatal(" > Completing order [FAILED]");
         _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
         BaseDriverTest.TakeScreenshot("screenshot");
         return(this);
     }
 }
Example #5
0
        /// <summary>
        /// Simulate the deletion of an item from the cart. Loop through the constructed
        /// _cartLineItems list, if any Product Numbers match then click that row's
        /// delete icon and confirm the delete.
        /// </summary>
        /// <param name="pn">Find item by product number</param>
        /// <returns>Current page object</returns>
        public MyCartPage RemoveItemFromCart(string pn)
        {
            Thread.Sleep(1000);
            CartItem item;

            try
            {
                _logger.Trace(" > Attempting to delete a cart item...");
                if (_cartLineItems.Any())
                {
                    foreach (CartItem cItem in _cartLineItems)
                    {
                        if (cItem.ProductNumber.Text.Equals(pn))
                        {
                            ItemDeleted = false;
                            item        = LoadCartItem(cItem.ProductNumber.Text);
                            item.DeleteButton.Click();

                            Thread.Sleep(1000);
                            _driver.FindElement(By.XPath(Constants.PO.XP.DEL_ITEM_OK)).Click();

                            // check alert for confirmation of delete
                            ItemDeleted = HelperMethods.CheckAlert(_driver);

                            if (ItemDeleted)
                            {
                                _logger.Info(" > Cart item deleted! Item: " + pn);
                                break;
                            }
                        }
                    }
                    if (!ItemDeleted)
                    {
                        _logger.Info(" > Could not find item: " + pn + "!");
                    }
                }
                else
                {
                    _logger.Error(" > No items in cart!");
                }
            }
            catch (StaleElementReferenceException)
            {
                _logger.Info("Stale element detected. Ignoring...");
            }
            catch (Exception e)
            {
                _logger.Fatal(" > Removing item from MyCart [FAILED] - " + e.Message);
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            return(new MyCartPage(_driver, Constants.OrderType.NEW));
            //return this;
        }
Example #6
0
        /// <summary>Wrapper for finding elements
        /// <param name="driver">Interface for testing</param>
        /// <param name="type">Type to search by</param>
        /// <param name="element">Value to search for</param>
        /// <returns>Element object on page if found</returns>
        public static IWebElement FindElement(IWebDriver driver, string type, string element)
        {
            IWebElement foundElement;

            try
            {
                switch (type)
                {
                case Constants.SearchType.NAME:
                    foundElement = driver.FindElement(By.Name(element));
                    break;

                case Constants.SearchType.ID:
                    foundElement = driver.FindElement(By.Id(element));
                    break;

                case Constants.SearchType.CLASSNAME:
                    foundElement = driver.FindElement(By.ClassName(element));
                    break;

                case Constants.SearchType.LINKTEXT:
                    foundElement = driver.FindElement(By.LinkText(element));
                    break;

                case Constants.SearchType.TAGNAME:
                    foundElement = driver.FindElement(By.TagName(element));
                    break;

                case Constants.SearchType.CSS:
                    foundElement = driver.FindElement(By.CssSelector(element));
                    break;

                case Constants.SearchType.XPATH:
                    foundElement = driver.FindElement(By.XPath(element));
                    break;

                default:
                    _logger.Error(" > Unable to find element!");
                    foundElement = null;
                    break;
                }
                return(foundElement);
            }
            catch (Exception e)
            {
                _logger.Error("-- TEST FAILURE @ ELEMENT NOT FOUND: " + element);
                _logger.Fatal("-- TEST FAILURE @ URL: '" + driver.Url + "' --");
                _logger.Fatal("-- TEST FAILURE @ EXCEPTION: " + e.Message);
                BaseDriverTest.TakeScreenshot("screenshot");
                throw new NoSuchElementException("Unable to locate element.");
            }
        }
Example #7
0
 public MyCartPage NavigateToCart()
 {
     _logger.Trace(" > Attempting to navigate to cart...");
     try {
         Thread.Sleep(1000);
         MyCartButton.Click();
         Thread.Sleep(2000);
     }
     catch (NoSuchWindowException)
     {
         _logger.Fatal(" > Navigation to cart [FAILED]");
         _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
         BaseDriverTest.TakeScreenshot("screenshot");
     }
     return(new MyCartPage(_driver, Constants.OrderType.NEW));
 }
Example #8
0
 public SupplierHomePage(IWebDriver driver)
 {
     _driver        = driver;
     PageReached    = false;
     OrdersDropdown = HelperMethods.FindElement(_driver, Constants.SearchType.LINKTEXT, "Order Fulfillment");
     if (OrdersDropdown.Equals(null))
     {
         _logger.Fatal(" > Supplier Homepage navigation [FAILED]");
         _logger.Fatal("-- TEST FAILURE @ URL: '" + driver.Url + "' --");
         BaseDriverTest.TakeScreenshot("screenshot");
     }
     else
     {
         _logger.Info(" > Member Homepage reached!");
         PageReached = true;
     }
 }
Example #9
0
        /// <summary>
        /// Loading of grid row elements. Default columns are parsed; if they contain any information,
        /// it is added as a property to PurchaseOrderReceived object. Objects are contained in
        /// _poRecLineItems.
        /// </summary>
        /// <returns>Current page object.</returns>
        internal POInboxPage LoadGridRows()
        {
            _poRecLineItems    = new List <PurchaseOrderReceived>();
            _poRecCheckboxes   = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_CHECKBOXES));
            _poRecStatuses     = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_STATUSES));
            _poRecSenderNames  = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_SENDER_NAMES));
            _poRecShipToNames  = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_SHIP_TOS));
            _poRecPONumbers    = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_PONUMBERS));
            _poRecPODates      = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_PODATES));
            _poRecBillToNames  = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_BILL_TO_NAMES));
            _poRecTotalAmounts = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_TOTAL_AMOUNTS));
            _poRecDateAdded    = _driver.FindElements(By.XPath(Constants.POMailbox.XP.PO_DATES_ADDED));

            try
            {
                _logger.Trace(" > Attempting to load PO Received grid elements...");
                for (int i = 0; i < _poRecPONumbers.Count; ++i)
                {
                    PurchaseOrderReceived newPO = new PurchaseOrderReceived();
                    newPO.Checkbox    = _poRecCheckboxes[i];
                    newPO.Status      = _poRecStatuses[i].Text;
                    newPO.SenderName  = _poRecSenderNames[i].Text;
                    newPO.ShipToName  = _poRecShipToNames[i].Text;
                    newPO.PONumber    = _poRecPONumbers[i].Text;
                    newPO.PODate      = DateTime.Parse(_poRecPODates[i].Text);
                    newPO.BillToName  = _poRecBillToNames[i].Text;
                    newPO.TotalAmount = decimal.Parse(_poRecTotalAmounts[i].Text);
                    newPO.DateAdded   = DateTime.Parse(_poRecDateAdded[i].Text);
                    _poRecLineItems.Add(newPO);
                }
            }
            catch (Exception e)
            {
                _logger.Fatal(" > Loading PO Received grid elements [FAILED]");
                _logger.Error(e);
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }

            if (_poRecLineItems.Any())
            {
                _logger.Info(" > Loading of PO Received grid elements complete!");
                GridLoadSuccess = true;
            }
            return(this);
        }
Example #10
0
        public CataloguesPage NavigateToCatalogues()
        {
            _logger.Trace(" > Attempting to navigate to Catalogues Page...");

            OrdersDropdown.Click();
            Thread.Sleep(500);
            HelperMethods.FindElement(_driver, Constants.SearchType.LINKTEXT, "Order from Catalog").Click();

            // check if on correct page
            if (!Constants.Text.CAT_PAGE_TITLE.Equals(_driver.Title))
            {
                _logger.Fatal(" > Catalogue navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            return(new CataloguesPage(_driver));
        }
Example #11
0
        public BaseInboxPage NavigateToMailbox(string mailboxName)
        {
            switch (mailboxName)
            {
            case Constants.Text.VIEW_POS:
                OrdersDropdown.Click();
                Thread.Sleep(1000);
                HelperMethods.FindElement(_driver, Constants.SearchType.LINKTEXT, Constants.Text.VIEW_POS).Click();
                return(new POInboxPage(_driver));

            default:
                _logger.Fatal(" > Mailbox: " + mailboxName + " navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
                return(null);
            }
        }
Example #12
0
        public MyCartPage(IWebDriver driver, string type)
        {
            #region Assigning Accessors
            _driver            = driver;
            _cartLineItems     = new List <CartItem>();
            _itemDeleteButtons = new List <IWebElement>();
            _itemProdNums      = new List <IWebElement>();
            _itemPrices        = new List <IWebElement>();
            _itemQtys          = new List <IWebElement>();
            _itemTotals        = new List <IWebElement>();
            ReportsDropdown    = HelperMethods.FindElement(_driver, Constants.SearchType.XPATH, Constants.PO.XP.REPORTS_LOCATOR);

            if (type.Equals(Constants.OrderType.NEW))
            {
                OrderComplete          = false;
                DeleteOrderButton      = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "deleteOrderButton");
                SaveDraftButton        = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "saveOrderButton");
                SendOrderButton        = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "completeOrderButton");
                DelieveryAddressButton = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "changeAddressButton");
                _logger.Info(" > MyCart page reached!");
            }
            else if (type.Equals(Constants.OrderType.COMPLETE))
            {
                CloseOrderButton = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "closeOrderButton");
                OrderComplete    = true;
                _logger.Info(" > Purchase Order completed!");
            }
            CartTable              = HelperMethods.FindElement(_driver, Constants.SearchType.XPATH, "//tbody");
            ShipToDropdown         = HelperMethods.FindElement(_driver, Constants.SearchType.CLASSNAME, "k-input");
            PONumberTextbox        = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "poNumber");
            POBuyerTextbox         = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "originalRefNumber");
            ContactNameTextbox     = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "contactName");
            DeliveryAddressDisplay = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "addresseeName");
            FreightTermsTextbox    = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "freightTerms");
            PaymentTermsTextbox    = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "paymentTerms");
            NotesTextbox           = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "notes");
            #endregion

            if (!_driver.Url.Contains("Orders") && !OrderComplete && !SaveDraftSuccess)
            {
                _logger.Fatal(" > MyCart navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
        }
        /// <summary>
        /// Page Object representing the view Catalogues page
        /// </summary>
        /// <param name="driver">Main interface for testing</param>
        public CataloguesPage(IWebDriver driver)
        {
            _driver = driver;
            Thread.Sleep(1000);
            SearchInputTextbox = HelperMethods.FindElement(driver, Constants.SearchType.ID, "searchTerm");
            SearchButton       = HelperMethods.FindElement(driver, Constants.SearchType.ID, "catalogSearchButton");

            if (!Constants.Text.CAT_PAGE_TITLE.Equals(driver.Title))
            {
                _logger.Fatal(" > Member catalogue page navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            else
            {
                _logger.Info(" > Catalopue Selection page reached!");
            }
        }
Example #14
0
 /// <summary>
 /// Loads all the items currently in the cart and makes objects out of the
 /// row information to interact with. Each grid column is seperated into
 /// lists and then the lists are looped through to apply appropriate row
 /// elements per object constructed.
 /// </summary>
 internal void LoadItemsInCart()
 {
     _logger.Trace(" > Attempting to load cart items...");
     try
     {
         // get row elements
         _itemDeleteButtons = CartTable.FindElements(By.XPath(Constants.MyCart.XP.ITEM_DEL_BTN));
         _itemProdNums      = CartTable.FindElements(By.XPath(Constants.MyCart.XP.ITEM_PN));
         _itemPrices        = CartTable.FindElements(By.XPath(Constants.MyCart.XP.ITEM_PRICE));
         _itemQtys          = CartTable.FindElements(By.XPath(Constants.MyCart.XP.ITEM_QTY));
         _itemTotals        = CartTable.FindElements(By.XPath(Constants.MyCart.XP.ITEM_TOTAL));
         // make cart item objects to work with
         for (int i = 0; i < _itemProdNums.Count - 1; ++i)
         {
             CartItem item = new CartItem();
             item.DeleteButton  = _itemDeleteButtons[i];
             item.ProductNumber = _itemProdNums[i];
             item.Price         = _itemPrices[i];
             item.Quantity      = _itemQtys[i];
             item.ItemTotalAmt  = _itemTotals[i];
             item.Checked       = false;
             _cartLineItems.Add(item);
         }
         if (!_cartLineItems.Any())
         {
             CartItem item = new CartItem();
             item.DeleteButton  = _itemDeleteButtons.First();
             item.ProductNumber = _itemProdNums.First();
             item.Price         = _itemPrices.First();
             item.Quantity      = _itemQtys.First();
             item.ItemTotalAmt  = _itemTotals.First();
             item.Checked       = false;
             _cartLineItems.Add(item);
         }
         _logger.Info(" > Cart items loaded!");
     }
     catch (Exception)
     {
         _logger.Fatal(" > Loading MyCart items [FAILED]");
         _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
         BaseDriverTest.TakeScreenshot("screenshot");
     }
 }
Example #15
0
 /// <summary>
 /// Member home page constructor
 /// </summary>
 /// <param name="driver">Main interface for testing, represents idealised web browser</param>
 public MemberHomePage(IWebDriver driver)
 {
     _driver        = driver;
     PageReached    = false;
     OrdersDropdown = HelperMethods.FindElement(driver, Constants.SearchType.LINKTEXT, "My Orders");
     // check if on correct page
     if (OrdersDropdown.Equals(null))
     {
         _logger.Fatal(" > Member Homepage navigation [FAILED]");
         _logger.Fatal("-- TEST FAILURE @ URL: '" + driver.Url + "' --");
         BaseDriverTest.TakeScreenshot("screenshot");
     }
     else
     {
         _logger.Info(" > Member Homepage reached!");
         _logger.Info(" > Login successful");
         PageReached = true;
     }
 }
Example #16
0
 public POInboxPage(IWebDriver driver) : base(driver)
 {
     _driver          = driver;
     PageReached      = false;
     AdvLoadSuccess   = false;
     BasicLoadSuccess = true;
     GridLoadSuccess  = false;
     if (!_driver.Url.Contains("PurchaseOrderReceived"))
     {
         _logger.Fatal(" > MyCart navigation [FAILED]");
         _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
         BaseDriverTest.TakeScreenshot("screenshot");
     }
     else
     {
         _logger.Info(" > Purchase Order Received page reached.");
         PageReached = true;
     }
 }
        /// <summary>
        /// For simulating order searchs by members
        /// </summary>
        /// <param name="type">Type of order to search for</param>
        /// <returns>Current page object</returns>
        public ViewOrdersPage ChooseOrderType(string type)
        {
            _logger.Info(" > Choosing order type: " + type);
            OrderType = type;
            OrderTypeDropdown.Click();
            Thread.Sleep(500);
            try
            {
                switch (type)
                {
                case Constants.OrderStatus.DRAFT:
                    _driver.FindElement(By.XPath(Constants.PO.XP.DRAFT_STATUS)).Click();
                    break;

                case Constants.OrderStatus.PENDING:
                    _driver.FindElement(By.XPath(Constants.PO.XP.PENDING_STATUS)).Click();
                    break;

                case Constants.OrderStatus.SENT:
                    _driver.FindElement(By.XPath(Constants.PO.XP.SENT_STATUS)).Click();
                    break;

                case Constants.OrderStatus.PROCESSING:
                    _driver.FindElement(By.XPath(Constants.PO.XP.PROCESSING_STATUS)).Click();
                    break;

                case Constants.OrderStatus.DELIVERED:
                    _driver.FindElement(By.XPath(Constants.PO.XP.DELIVERED_STATUS)).Click();
                    break;

                default:
                    throw new Exception("ViewOrdersPage: No category choosen.");
                }
                Thread.Sleep(200);
            }
            catch (ElementNotVisibleException)
            {
                _logger.Fatal(" > Choosing Order Type [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            return(this);
        }
Example #18
0
        /// <summary>
        /// Constructor assigns the Web Driver as well as all locators for elements needed
        /// in tests.
        /// </summary>
        /// <param name="driver">Main interface for testing, represents idealised web browser</param>
        public LoginPage(IWebDriver driver, string type)
        {
            _driver            = driver;
            LoginPageType      = type;
            UsernameLocator    = HelperMethods.FindElement(driver, Constants.SearchType.NAME, "UserName");
            PasswordLocator    = HelperMethods.FindElement(driver, Constants.SearchType.NAME, "Password");
            LoginButtonLocator = HelperMethods.FindElement(driver, Constants.SearchType.ID, "loginButton");

            // check if on correct page
            if (!"User Login".Equals(driver.Title))
            {
                _logger.Fatal(" > Login page navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            else
            {
                _logger.Info(" > Login page reached!");
            }
        }
Example #19
0
        /// <summary>
        /// Logic to navigate to View Orders page
        /// </summary>
        /// <returns>New page object representing the destination.</returns>
        public ViewOrdersPage NavigateToOrders(string linktext, string orderType)
        {
            _logger.Trace(" > Attempting to navigate to View Orders...");

            // dropdown interaction
            OrdersDropdown.Click();
            Thread.Sleep(500);
            HelperMethods.FindElement(_driver, Constants.SearchType.LINKTEXT, linktext).Click();

            // check if on correct page
            if (!"My Orders".Equals(_driver.Title))
            {
                _logger.Fatal(" > View Orders page navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }

            _logger.Info(" > View Orders page reached");
            return(new ViewOrdersPage(_driver, orderType));
        }
Example #20
0
 /// <summary>
 /// Gets the message of an alert popup
 /// </summary>
 /// <param name="driver">Testing interface</param>
 /// <returns>The alert message as string</returns>
 public static bool CheckAlert(IWebDriver driver)
 {
     try
     {
         Thread.Sleep(500);
         var alert = driver.FindElement(By.XPath(Constants.PO.XP.ALERT_SUCCESS));
         if (alert != null)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception e)
     {
         _logger.Fatal(" > Checking for alert [FAILED]");
         _logger.Fatal("-- TEST FAILURE @ URL: '" + driver.Url + "' --");
         BaseDriverTest.TakeScreenshot("screenshot");
         throw new Exception(e.Message);
     }
 }
Example #21
0
        protected internal BaseInboxPage(IWebDriver driver)
        {
            _driver          = driver;
            _periodDropdowns = _driver.FindElements(By.XPath(Constants.BaseMailbox.XP.PERIOD_DD));
            _statusDropdowns = _driver.FindElements(By.XPath(Constants.BaseMailbox.XP.STATUS_DD));
            Thread.Sleep(500);
            PeriodDropdown     = _periodDropdowns.First();
            StatusDropdown     = _statusDropdowns.First();
            QuickSearchTextbox = HelperMethods.FindElement(_driver, Constants.SearchType.ID, Constants.BaseMailbox.ID.QS_TEXTBOX);
            QuickSearchBtn     = HelperMethods.FindElement(_driver, Constants.SearchType.ID, Constants.BaseMailbox.ID.QS_BTN);
            ResultGrid         = HelperMethods.FindElement(_driver, Constants.SearchType.ID, Constants.BaseMailbox.ID.RSLT_GRID);
            PrintBtn           = HelperMethods.FindElement(_driver, Constants.SearchType.ID, Constants.BaseMailbox.ID.PRINT_BTN);
            MarkProcBtn        = HelperMethods.FindElement(_driver, Constants.SearchType.ID, Constants.BaseMailbox.ID.MP_BTN);
            ASButton           = HelperMethods.FindElement(_driver, Constants.SearchType.ID, Constants.BaseMailbox.ID.AS_LINK);
            ActionsBtn         = HelperMethods.FindElement(_driver, Constants.SearchType.ID, Constants.BaseMailbox.ID.ACTIONS_BTN);

            if (!_driver.Url.Contains("Mailbox"))
            {
                _logger.Fatal(" > Mailbox navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
        }
        public ViewOrdersPage(IWebDriver driver, string orderType)
        {
            _logger.Info(" > View Orders Page is being constructed...");
            _driver            = driver;
            OrderTypeDropdown  = HelperMethods.FindElement(_driver, Constants.SearchType.CLASSNAME, "k-widget");
            POInputTextbox     = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "poNumber");
            SearchOrdersButton = HelperMethods.FindElement(_driver, Constants.SearchType.ID, "searchOrdersButton");
            OrderType          = orderType;

            // get first table element
            CheckFirstRow();

            // check if on correct page
            if (!"My Orders".Equals(_driver.Title))
            {
                _logger.Fatal(" > ViewOrders navigation [FAILED]");
                _logger.Fatal("-- TEST FAILURE @ URL: '" + _driver.Url + "' --");
                BaseDriverTest.TakeScreenshot("screenshot");
            }
            else
            {
                _logger.Info(" > View Orders page reached!");
            }
        }