DemoBlazeAutomation / Tests / TestDisplayProduct.cs
TestDisplayProduct.cs
Raw
using DemoBlazeAutomation.POM;
using NUnit.Framework;
using OpenQA.Selenium.Chrome;
using static DemoBlazeAutomation.POM.BasePage;
namespace DemoBlazeAutomation.Tests
{
    public class TestDisplayProduct
    {
        private IWebDriver _driver;
        protected HomePage HomePage;

        [SetUp]
        public void Initialize()
        {
            // Inicializar el controlador de Selenium 
            _driver = new ChromeDriver();
            _driver.Manage().Window.Maximize();
            _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            // Navegar a la página de inicio en Demoblaze
            _driver.Navigate().GoToUrl("https://www.demoblaze.com/index.html");

            HomePage = new HomePage(_driver);
        }


        [Test]
        /// <summary>
        /// Verificar la lista de productos en formato Models, objetos C#
        /// </summary>
        public void DisplayProductNames()
        {
            HomePage.NavigateToCatologo();

            var productList = HomePage.ListObtained();

            foreach (var product in productList)
            {
                Console.WriteLine(product.Name);
            }

        }


        [Test]
        public void DisplayProductIWebElements()
        {

            var pageDisplayed = HomePage.DisplayedProducts();
            var product = FindProductByName("Nokia lumia 1520", pageDisplayed);
            HomePage.ClickElement(product);

        }

        public IWebElement FindProductByName(string productName,IList <IWebElement> listWebElements)
        {

            foreach (var product in listWebElements)
            {
                if ((product.FindElement(By.TagName("h4")).Text).Equals(productName, StringComparison.OrdinalIgnoreCase))
                {
                    return product;
                }
            }
            return null;
        }


        [TearDown]
        public void TearDown()
        {

            _driver.Quit();
        }
    }
}