Example #1
0
        public void SetUp()
        {
            Config.SetUIEnvVariables();
            //Create extent test
            extentTest = ExtentTestManager.StartTest(TestContextInfo.TestName, TestContextInfo.Description,
                                                     TestContextInfo.Categories);

            Log = new Logger(Utils.GetLogFile(TestContextInfo.CurrentContext), TestContextInfo.CurrentContext,
                             extentTest);
            Log.StartTest();

            // Delete old log files
            FileUtils.DeleteFilesOlderThan(Constants.LogRetentionDays, Utils.GetLogFolder(), Constants.LogExtension);
            FileUtils.DeleteFilesOlderThan(Constants.LogRetentionDays, Utils.GetScreenshotFolder(),
                                           Constants.ImgExtension);

            //Create new web driver
            DriverUtils.CreateDriver(new DriverProperties(Config.ConfigFilePath,
                                                          Config.Driver));
            DriverUtils.Maximize();
            DriverUtils.GoToUrl(Config.Url);

            //Initial page objects
            PageFactory.InitialPageObjects(this);
        }
Example #2
0
        public void NavigationMenu_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                URLs.OpenUrl(driver);

                var navigationMenu = new Navigation_Menu(driver);

                var aboutMePage = navigationMenu.ClickAboutMeLink();
                aboutMePage.GetHeaderText().ShouldBe("About Me", "About Me");

                var contactsPage = navigationMenu.ClickContactMeLink();
                contactsPage.GetHeaderText().ShouldBe("Contact Me", "Contact Me");

                var picturesPage = navigationMenu.ClickPicturesLink();
                picturesPage.GetHeaderText().ShouldBe("Pictures", "Pictures");

                var pricesPage = navigationMenu.ClickPricesLink();
                pricesPage.GetHeaderTitle().ShouldBe("Prices", "Prices");

                var careRequestPage = navigationMenu.ClickCareRequestLink();
                careRequestPage.GetHeaderText().ShouldBe("Care Request", "Care Request");
            });
        }
Example #3
0
        public void TestDriverKey()
        {
            Log.Info("1. Navigate to google");
            DriverUtils.GoToUrl("https://www.google.com");
            Log.Info("2. Search a text");
            var txtSearch = new BaseElement("name={0}");

            txtSearch.Format("q").SendKeys("Hello Selenium");
            WaitHelper.WaitUntil(() => txtSearch.Format("q").Value.Equals("444"), TimeSpan.FromSeconds(4),
                                 TimeSpan.FromSeconds(2));

            var properties = new DriverProperties(Constants.CONFIG_FILE_PATH, "local-chrome");

            Log.Info("3. Create a new driver");
            DriverUtils.CreateDriver(properties, "new chrome");

            DriverUtils.GoToUrl("https://www.seleniumhq.org/");

            DriverUtils.SwitchDriverTo();

            txtSearch.Format("q").SendKeys("Hello LogiGear");
            Assert.IsTrue(true, "Log this if false 1");
            bool abc = false;

            abc.Should().BeTrue("I don't know");
        }
Example #4
0
        public void Contact_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                //Open Contact page
                var contactPage = landingPage.ClickContactMeLink();

                //Verify Header text
                var header = contactPage.ContactHeader.Text;
                header.ShouldBe("Contact Me", "Contact Me header");

                //Verify Care Request link
                var careRequestLink = contactPage.GetCareRequestLink();
                careRequestLink.ShouldBe(Config.GetURL("AlexsPetsURL") + "careRequest.html", "URL");

                //Verify Email link
                var emailLink = contactPage.GetEmailLink();
                emailLink.ShouldBe("mailto:[email protected]", "Email");

                //Verify Envelope image
                var envelopeImage = contactPage.GetEnvelopeImage();
                envelopeImage.ShouldBe(Config.GetURL("AlexsPetsURL") + "images/mail.png", "Envelope");
            });
        }
        public void GivenIAmUsingBrowser(string browser)
        {
            driver = driverUtils.CreateDriver(browser);

            mainPage    = new MainPage(driver);
            resultsPage = new ResultsPage(driver);
        }
        public void CareRequest_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                //Open Care Request page
                var careRequestPage = landingPage.ClickCareRequestLink();

                var customer     = new Person();
                var catsNumber   = "2";
                var otherNumber  = "3+";
                var visitsPerDay = "2";
                var comment      = "Please be quiet, our spiders are easily scared";

                //Fill out inputs
                careRequestPage.FillOutContactInformation(customer);

                //Click Animal Type checkboxes
                careRequestPage.RequestCatCare(catsNumber);
                careRequestPage.RequestOtherCare(otherNumber);

                //Visits per day
                careRequestPage.SetVisitsPerDay(visitsPerDay);

                //Comments
                careRequestPage.FillOutComments(comment);

                //Open Request summary page
                RequestSummaryPage requestSummaryPage = careRequestPage.ClickRequestButton();

                //Verify Page opened by checking page element is visible
                requestSummaryPage.IsSummaryBlockDisplayed().ShouldBeTrue("Summary Block is Displayed");

                //Verify Header text
                var header = requestSummaryPage.PageHeader.Text;
                header.ShouldBe("Request Summary", "Header");

                //Verify contact info
                VerifyContactInformation(requestSummaryPage, customer);

                //Verify all other information is populated correctly
                VerifyOtherInformation(requestSummaryPage, catsNumber, otherNumber, visitsPerDay, comment);
                string[] data = { $"{catsNumber} cat(s)", $"{otherNumber} other animal(s)", $"{visitsPerDay} visits per day are required.", comment };
                VerifyOtherInformationAlternative(requestSummaryPage, data);

                //Click Close button and verify the page was closed
                requestSummaryPage.CloseButton.Click();
                Thread.Sleep(1000);
                requestSummaryPage.IsSummaryBlockDisplayed().ShouldBeFalse("Summary Block is not displayed");
            });
        }
Example #7
0
        public void KievlTime_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                //Open Local Time Page
                var localTimePage = landingPage.ClickLocalTimeItem();

                string input = "Kiev";

                //Find Kiev  using the Search field???
                localTimePage.FillOutSearchField(input);
                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
                var KievPage = localTimePage.ClickKievUkraineQuery();
                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

                //Verify the time displayed in the search results is correct one
                DateTime kievTime     = DateTime.UtcNow.AddHours(3);
                var kievTimeString    = kievTime.ToLongTimeString();
                var appKievTimeString = KievPage.GetAppKievTime();
                kievTimeString.ShouldBe(appKievTimeString, "Local Kiev Time");

                //Verify the breadcrumbs say Home / Local Time / Ukraine / Kiev
                var breadcrumbs = KievPage.GetBreadcrumbsText();
                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
                breadcrumbs.ShouldBe("Home Local Time Ukraine Kiev", "Breadcrumbs");

                // Verify Kiev-specific elements on the page
                var currentLocalTimeHeader = KievPage.CurrentLocalTimeHeader.Text;
                currentLocalTimeHeader.ShouldBe("Current local time in Kiev, Ukraine", "Container Header");

                var convertTimeHeader = KievPage.ConvertTimeHeader.Text;
                convertTimeHeader.ShouldBe("Convert Kiev Time", "Convert Kiev Time Header");

                var kievInformationHeader = KievPage.KievInformationHeader.Text;
                kievInformationHeader.ShouldBe("Kiev Information", "Kiev Information Header");

                var kievFactsHeader = KievPage.KievFactsHeader.Text;
                kievFactsHeader.ShouldBe("Kiev Facts", "Kiev Facts Header");

                var countryName = KievPage.CountryName.Text;
                countryName.ShouldBe("Ukraine", "Country Name");

                var currencyName = KievPage.CurrencyName.Text;
                currencyName.ShouldBe("Hryvnia (UAH)", "Currency Name");

                var timeZoneName = KievPage.TimeZoneName.Text;
                timeZoneName.ShouldBe("(EEST)", "Time Zone Name");
            });
        }
Example #8
0
        public void CountdownPage_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

                //Open Timers Page
                var timersPage = landingPage.ClickTimersItem();

                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

                //Open Countdown Page
                var countdownPage = timersPage.ClickCountdownIcon();

                //Click Create your Countdown button
                var createCountdown = countdownPage.ClickCreateYourCountdownIcon();

                //Unique name for event
                var faker           = new Faker();
                var uniqueEventName = faker.Name.FirstName();

                createCountdown.EventNameField.SendKeys(uniqueEventName);

                //Input date in 10 days
                DateTime inTenDays  = DateTime.Now.AddDays(10);
                var inTenDaysString = inTenDays.ToShortDateString();
                createCountdown.DateInputField.SendKeys(inTenDaysString);

                //Click Create button
                var createButton = createCountdown.ClickCreateButton();

                //Verify event was created
                var eventName = eventPage.GetEventHeaderText();
                eventName.ShouldBe(uniqueEventName, "Header");

                //Verify event is scheduled for a correct date
                var inTenDaysLongString = inTenDays.ToLongDateString();
                var timeString          = eventPage.GetTimeString();
                timeString.ShouldContain(inTenDaysLongString, "Correct date");
            });
        }
Example #9
0
 public void vefifyRatingOnResults(string browser)
 {
     //If I filter my search by 5 stars room, the results must be rated as 5 stars
     url         = "https://www.booking.com";
     driverUtils = new DriverUtils();
     driver      = driverUtils.CreateDriver(browser);
     mainPage    = new MainPage(driver);
     resultsPage = new ResultsPage(driver);
     driverUtils.DriverNavigate(driver, url);
     mainPage.verifyIfImOnMainPage();
     mainPage.fillSearchFields();
     mainPage.clickSearchButton();
     resultsPage.verifyIfImOnResultsPage();
     resultsPage.clickFiveStarsRating();
     resultsPage.verifyFiveStar();
     driverUtils.DestroyDriver(driver);
 }
Example #10
0
 public void filterMySearchByStars(string browser, string hotelName, string shouldAppear)
 {
     //Filter my search by stars
     url         = "https://www.booking.com";
     driverUtils = new DriverUtils();
     driver      = driverUtils.CreateDriver(browser);
     mainPage    = new MainPage(driver);
     resultsPage = new ResultsPage(driver);
     driverUtils.DriverNavigate(driver, url);
     mainPage.verifyIfImOnMainPage();
     mainPage.fillSearchFields();
     mainPage.clickSearchButton();
     resultsPage.verifyIfImOnResultsPage();
     resultsPage.clickFiveStarsRating();
     resultsPage.validateIfFiveStarHotelsWereListed(hotelName, shouldAppear);
     driverUtils.DestroyDriver(driver);
 }
Example #11
0
        public void Prices_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                //Open Prices page
                var pricesPage = landingPage.ClickPricesLink();

                //Verify Header text
                var header = pricesPage.PricesHeader.Text;
                header.ShouldBe("Prices", "Prices");

                //Verify paragraph text
                var paragraph = pricesPage.PricesParagraph.Text;
                paragraph.ShouldBe("These are my prices for different pets.", "Paragraph text");

                //Verify prices list text
                //var list = pricesPage.PricesList.Text;
                //list.ShouldBe("Dogs $10 per day");
                var collectedPrices = pricesPage.GetPricesTexts();

                var expectedPrices = new List <string>()
                {
                    "Dogs $10 per day",
                    "Cats $10 per day",
                    "Bunnies/Rabits $10 per day",
                    "Hamster $8 per day",
                    "Rat/Mice $8 per day",
                    "Guinea Pig $8 per day",
                    "Parott/Bird $8 per day",
                    "Fish $8 per day",
                    "Snake $8 per day",
                    "Lizard $8 per day"
                };

                collectedPrices.ShouldBeEqual(expectedPrices, "Prices list");
            });
        }
Example #12
0
        public void AboutMe_Test()
        {
            var driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                //Open About Me page
                var aboutMePage = landingPage.ClickAboutMeLink();

                //Verify text on the page
                var alltext = aboutMePage.GetAllText();
                alltext.ShouldBe(aboutMePage.paragraphsText, "Paragraph Text");

                //Verify Header text
                var header = aboutMePage.AboutMeHeader.Text;
                header.ShouldBe("About Me", "About Me header");
            });
        }
Example #13
0
        public void LocalTime_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

                //Open Local Time Page
                var localTimePage = landingPage.ClickLocalTimeItem();

                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

                string input = "Kiev";

                // Verify the Page Header
                var header = localTimePage.Header.Text;
                header.ShouldBe("Local Time", "Header");

                //Find Kiev  using the Search field???
                localTimePage.FillOutSearchField(input);
                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
                var KievPage = localTimePage.ClickKievUkraineQuery();
                driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);

                //Verify the header of the page is Kiev Time
                var headerKiev = KievPage.HeaderKiev.Text;
                headerKiev.ShouldBe("Kiev Time", "Header Kiev Time");

                //
            });
        }
Example #14
0
        public void LandingPage_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                //Verify text on the page
                var alltext = landingPage.GetAllText();
                alltext.ShouldBe(landingPage.paragraphsText, "Page text");


                //Verify Header text
                string header = landingPage.LandingHeader.Text;
                header.ShouldBe("Alex's Pet Business", "Header text");

                //Verify images of the page
                landingPage.CatImage.Displayed.ShouldBeTrue("Cat img");
                landingPage.DogImage.Displayed.ShouldBeTrue("Dog img");
            });
        }
Example #15
0
        public void Pictures_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                URLs.OpenUrl(driver);

                var navigationMenu = new Navigation_Menu(driver);
                var picturesPage   = navigationMenu.ClickPicturesLink();

                picturesPage.GetHeaderText().ShouldBe("Pictures", "Pictures");
                picturesPage.GetFirstParagraphText().ShouldBe("These are all of the pets I can take care of for you!", "Paragrap text");

                var collectedSources = picturesPage.GetImagesSources();
                collectedSources.RemoveAt(0);

                var expectedSources = new List <string>()
                {
                    "images/kitten.gif",
                    "images/dogp.png",
                    "images/hamster.png",
                    "images/rat.png",
                    "images/parrot.png",
                    "images/guinea-pig.png",
                    "images/bunnyFail.png",
                    "images/fish.png",
                    "images/snake.png",
                    "images/lizard.png"
                };

                collectedSources.ShouldBeEqual(expectedSources, "List of src");
            });
        }
Example #16
0
        public void LandingPage_Test()
        {
            IWebDriver driver = DriverUtils.CreateDriver();

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            TestWrapper.Test(driver, () =>
            {
                // Open Landing Page
                var landingPage = URLs.OpenUrl(driver);

                //Verify Header Menu Items
                string itemHome = landingPage.HomeMenuItem.Text;
                itemHome.ShouldBe("Home", "Home - Item Menu");

                string itemConverter = landingPage.ConverterMenuItem.Text;
                itemConverter.ShouldBe("Converter", "Converter - Item Menu");

                string itemLocalTime = landingPage.LocalTimeMenuItem.Text;
                itemLocalTime.ShouldBe("Local Time", "Local Time - Item Menu");

                string itemTimers = landingPage.TimersMenuItem.Text;
                itemTimers.ShouldBe("Timers", "Timers - Item Menu");

                string itemCalendar = landingPage.CalendarMenuItem.Text;
                itemCalendar.ShouldBe("Calendar", "Calendar - Item Menu");

                //Verify logo
                var imageLogo = landingPage.LandingLogoImage.Displayed;
                imageLogo.ShouldBeTrue("Logo img");

                var textLogo = landingPage.LandingLogoText.Displayed;
                textLogo.ShouldBeTrue("Logo Text img");

                string logoText = landingPage.GetLogoText();
                logoText.ShouldBe("Savvy Time World Clock", "Logo Text");

                //Verify 12/24 switch
                var hourSwitch = landingPage.LandingHourSwitch.Displayed;
                hourSwitch.ShouldBeTrue("12/24 switch");

                //Verify Time/Date/Location Container
                // var container = landingPage.LandingInfoContainer.Displayed;
                //container.ShouldBeTrue("Container");

                //Verify Search Field
                var searchField = landingPage.LandingSearchField.Displayed;
                searchField.ShouldBeTrue("Search field");

                //Verify Time Converter
                var timeConverter = landingPage.LandingTimeConverter.Displayed;
                timeConverter.ShouldBeTrue("Time Converter");

                //Verify Time Around the World
                var localTime = landingPage.LandingLocalTime.Displayed;
                localTime.ShouldBeTrue("Time Around the World");

                //Verify Footer Items
                string estIst = landingPage.LandingFooterEstIst.Text;
                estIst.ShouldBe("EST to IST", "EST to IST");

                string gmtEst = landingPage.LandingFooterGmtEst.Text;
                gmtEst.ShouldBe("GMT to EST", "GMT to EST");

                string pstEST = landingPage.LandingFooterPstEst.Text;
                pstEST.ShouldBe("PST to EST", "PST to EST");

                string estGmt = landingPage.LandingFooterEstGmt.Text;
                estGmt.ShouldBe("EST to GMT", "EST to GMT");

                string pstGmt = landingPage.LandingFooterPstGmt.Text;
                pstGmt.ShouldBe("PST to GMT", "PST to GMT");

                string contactUs = landingPage.LandingFooterContactUs.Text;
                contactUs.ShouldBe("Contact Us", "Contact Us");

                string disclaimer = landingPage.LandingFooterDisclaimer.Text;
                disclaimer.ShouldBe("Disclaimer", "Disclaimer");
            });
        }