public void PopularMakeCheckColumnsTests() { homePage.PopularMake.Click(); MakePage popularMake = new MakePage(Driver); popularMake.Model.Click(); popularMake.Rank.Click(); popularMake.Votes.Click(); popularMake.Comments.Click(); //Asertion //Check sorting }
public SharedStep(FeatureContext featureContext, ScenarioContext scenarioContext) { FeatureContext = featureContext; ScenarioContext = scenarioContext; TestContext = featureContext.FeatureContainer.Resolve <UITestContext>(); ScenarioContext.Set(Driver, "Driver"); if (Driver == null) { Driver = TestContext.Driver; } HomePage = PageFactory.Create <HomePage>(Driver, TestContext.DriverTimeout); OverallPage = PageFactory.Create <OverallPage>(Driver, TestContext.DriverTimeout); ModelDetailsPage = PageFactory.Create <ModelDetailsPage>(Driver, TestContext.DriverTimeout); ProfilePage = PageFactory.Create <ProfilePage>(Driver, TestContext.DriverTimeout); RegisterPage = PageFactory.Create <RegisterPage>(Driver, TestContext.DriverTimeout); MakePage = PageFactory.Create <MakePage>(Driver, TestContext.DriverTimeout); }
public void Create_Credit_App_Firefox() { browser_.Navigate().GoToUrl(HOME_PAGE); //1st step is to select get started button try { HomePage homePage = new HomePage(browser_); homePage.GetStartedButton.Click(); } catch (Exception ex) { Trace.TraceError(ex.Message); Assert.Fail("Fail at Home page"); } //2nd step is to randomly "Select Make" string newUsedText = ""; try { MakePage makePage = new MakePage(rng_, browser_); IWebElement randomButton = makePage.SelectRandomNewUsedButton(); randomButton.Click(); newUsedText = randomButton.Text; Trace.WriteLine("New/Used: " + randomButton.Text); Trace.WriteLine("MakesCollection Count: " + makePage.MakesCollection.Count); IWebElement randomMakeType = makePage.SelectRandomMakeType(); Trace.WriteLine("Make Type Selected: " + makePage.RandomMakeTypeTitle); randomMakeType.Click(); } catch (Exception ex) { Trace.TraceError(ex.Message); Assert.Fail("Fail at Select Make page"); } try { //3rd step is to randomly select a car PageSelector modelPageSelector = new PageSelector(rng_, browser_); BasePage nextPage = modelPageSelector.GetNewOrUsedModelPage(newUsedText); if (nextPage is ModelPage) { ModelPage modelPage = (ModelPage)nextPage; Trace.WriteLine("ModelsCollection Count: " + modelPage.ModelsCollection.Count); IWebElement randomModelType = modelPage.SelectRandomModelType(); Trace.WriteLine("Car Model Selected: " + modelPage.RandomModelTypeTitle); randomModelType.Click(); } else if (nextPage is UsedPage) { UsedPage usedModelPage = (UsedPage)nextPage; Trace.WriteLine("Used ModelsCollection Count: " + usedModelPage.UsedCollection.Count); IWebElement randomUsedModelType = usedModelPage.SelectRandomUsedItem(); Trace.WriteLine("Used Car Model Selected: " + randomUsedModelType.Text); randomUsedModelType.Click(); } //4th step LocationPage location = new LocationPage(browser_); if (!location.IsLocationSpecified) { Trace.WriteLine("Location Modal is Displayed"); location.UseMyLocationButton.Click(); //alternate way of inputting location information //location.LocationInputField.SendKeys(ZIP_CODE); //location.FindLocationButton.Click(); } } catch (Exception ex) { Trace.TraceError(ex.Message); Assert.Fail("Fail at Model Selection page"); } //5th step determine if the new page has a inventory list or a trim list bool wasTrimPageVisited = false; try { PageSelector pageSelector = new PageSelector(rng_, browser_); BasePage newPage = pageSelector.GetNewPage(); if (newPage is TrimPage) { TrimPage trimPage = (TrimPage)newPage; IWebElement trimCard = trimPage.SelectRandomTrimCard(); Trace.WriteLine("Trim selected: " + trimPage.TrimCardTitle.Text); trimCard.Click(); wasTrimPageVisited = true; } else if (newPage is InventoryPage) { InventoryPage inventoryPage = (InventoryPage)newPage; IWebElement inventoryCard = inventoryPage.SelectRandomInventoryCard(); Trace.WriteLine("Inventory selected: " + inventoryPage.InventoryCardTitle.Text); string dealerName = inventoryPage.DealerName.Text; inventoryCard.Click(); //Review Vehicle Page ReviewVehiclePage reviewVehiclePage = new ReviewVehiclePage(browser_); Trace.WriteLine("Dealership Name: " + reviewVehiclePage.DealerName.Text); Assert.AreEqual(dealerName, reviewVehiclePage.DealerName.Text); reviewVehiclePage.NextButton.Click(); } else if (newPage is UsedPage) { UsedPage usedYearPage = new UsedPage(rng_, browser_); IWebElement yearElement = usedYearPage.SelectRandomUsedItem(); Trace.WriteLine("Used Year: " + yearElement.Text); yearElement.Click(); UsedPage usedTrimPage = new UsedPage(rng_, browser_); IWebElement trimElement = usedTrimPage.SelectRandomUsedItem(); Trace.WriteLine("Used Trim: " + trimElement.Text); trimElement.Click(); wasTrimPageVisited = true; } } catch (Exception ex) { Trace.TraceError(ex.Message); Assert.Fail("Fail at PageSelector"); } //6th step ~ no trade-in try { ReviewDetailsPage reviewDetailsPage = new ReviewDetailsPage(rng_, browser_); if (newUsedText.Equals("used", StringComparison.InvariantCultureIgnoreCase)) { reviewDetailsPage.UsedVehiclePriceInput.SendKeys(MIN_USED_VEHICLE_PRICE); reviewDetailsPage.OdomoterReadingInput.SendKeys(USED_ODOMETER_VALUE); IWebElement financeType = browser_.FindElement(By.ClassName("sectionTitleBar___1cVBK")); Trace.WriteLine("used finance type: " + financeType.Text); } else //new car { Trace.WriteLine("Finance Toggle Count: " + reviewDetailsPage.FinanceToggles.Count); reviewDetailsPage.SelectRandomFinanceToggle().Click(); Trace.WriteLine("finance type: " + reviewDetailsPage.FinanceType.Text); } reviewDetailsPage.NoTradeInButton.Click(); reviewDetailsPage.NextButton.Click(); } catch (Exception ex) { Trace.TraceError(ex.Message); Assert.Fail("Fail at Review Details page"); } //7th step ~ pick a random dealership if TrimPage was visited instead of inventory page if (wasTrimPageVisited) { try { DealershipPage dealershipPage = new DealershipPage(rng_, browser_); dealershipPage.SelectRandomDealer(); Trace.WriteLine("Dealership name selected: " + dealershipPage.DealerName.Text); if (!dealershipPage.SelectDealerButton.Displayed) { dealershipPage.ToggleDropdown.Click(); } foreach (IWebElement button in dealershipPage.DealerButtons) { Trace.WriteLine("display: " + button.Displayed); } dealershipPage.SelectDealerButton.Click(); } catch (Exception ex) { Trace.WriteLine(ex.Message); Assert.Fail("Fail at Dealership Page"); } } //8th step is to stop at "Search For Financing" Personal Information Page try { PersonalInformationPage personalInfoPage = new PersonalInformationPage(browser_); Assert.AreEqual("Personal Information", personalInfoPage.PersonalInformation.Text); Trace.WriteLine("Test Succeeded!"); } catch (Exception ex) { Trace.WriteLine(ex.Message); Trace.WriteLine("Test Failed!"); Assert.Fail("Fail at Personal Information page"); } }