public void ThenTest() { driver.Navigate().GoToUrl("https://buggy.justtestit.org/model/c0bm09bgagshpkqbsuag%7Cc0bm09bgagshpkqbsuh0"); ModelPage model = new ModelPage(driver); var text = model.VoteNumber.Text; Assert.IsTrue(true); }
public static void BeforeFeatureTopVoted() { Utils.EnsureUserLoggedIn(); Utils.ViewModelByRating(1); var page = new ModelPage(Driver); page.CastVote(out string _); }
public void WhenIMadeACommentToVote() { ModelPage model = new ModelPage(driver); scenarioContext.Set(model.VoteNumber.Text, "votecount"); model.CommentField.SendKeys(Faker.Company.CatchPhrase()); model.VoteButton.Click(); model.waitHelper.WaitForJQueryToBeInactive(); }
public void OnGet() { var value = HttpContext.Session.GetString("modelpage"); if (value != null) { modelpage = JsonConvert.DeserializeObject <ModelPage>(value); HttpContext.Session.Clear(); } }
public void ThenCheckThatVoteWasCountedAndCommentCouldNotBeMadeAnymore() { ModelPage model = new ModelPage(driver); Assert.AreEqual(model.VoteMessageDone.Text, "Thank you for your vote!", "Vote has been registered"); var voteafter = int.Parse(model.VoteNumber.Text); var votebefore = int.Parse(scenarioContext.Get <string>("votecount")); Assert.AreEqual(voteafter, votebefore + 1, "Added vote should be counted"); }
public IActionResult OnGet() { var value = HttpContext.Session.GetString("modelpage"); if (value != null) { modelPage = JsonConvert.DeserializeObject <ModelPage>(value); return(Page()); } else { return(RedirectToPage("error")); } }
public void ThenINavigateToPopularModelThenConfirmModelPageAndBackToMainPageSuccessfully() { HomePage home = new HomePage(driver); var popularmodel = home.PopularModelName.Text; home.PopularModelLink.Click(); ModelPage model = new ModelPage(driver); Assert.IsTrue(popularmodel.Contains(model.ModelName.Text), "page navigated to correct model"); model.BuggyRatingLink.Click(); Assert.AreEqual("https://buggy.justtestit.org/", driver.Url, "Expected to be back on the main page"); }
public SelectItems(ModelPage modelPage, Func<T, string> toText, Func<T, bool> selector) { modelPage.CheckArgument(nameof(modelPage)); using var access = modelPage.CreateService<T>(); var items = Task.Run(async () => await access.GetAllAsync().ConfigureAwait(false)) .Result .Select(e => new SelectItem { Value = e.Id.ToString(), Text = toText != null ? toText(e) : e.ToString(), Selected = selector != null && selector.Invoke(e) }); AddRange(items.OrderBy(e => e.Text)); }
public static bool Navigate(Type pageType, object parameter = null, NavigationTransitionInfo infoOverride = null) { // Don't open the same page multiple times if (Frame.Content?.GetType() != pageType || (parameter != null && !parameter.Equals(_lastParamUsed))) { var activePage = ActiveModelPage; ActiveModelPage = null; activePage?.NavigatedFrom(); var navigationResult = Frame.Navigate(pageType, parameter, infoOverride); if (navigationResult) { _lastParamUsed = parameter; } return(navigationResult); } else { return(false); } }
public SelectEditMember(ModelPage page, ModelObject model, PropertyInfo propertyInfo, DisplayInfo displayInfo, IEnumerable <T> items, Func <T, string> toText, Func <T, bool> selector) : base(page, model, propertyInfo, displayInfo) { items.CheckArgument(nameof(items)); var selectItems = new SelectItems <T>(items, toText, selector); if (propertyInfo.PropertyType.IsNullableType()) { selectItems.Insert(0, new SelectItem { Value = string.Empty, Text = page.Translate("Select an entry..."), Selected = false }); } if (model is IdentityModel im) { if (selectItems.Any(e => e.Selected) == false) { if (propertyInfo.PropertyType.IsNullableType()) { EditValue = null; } else if (selectItems.Any()) { EditValue = selectItems.ElementAt(0).Value; } else { EditValue = null; } } } SelectItems = selectItems; EditCtrlType = Common.ControlType.Select; }
public VoteCommentSteps(IWebDriver driver) { page = new ModelPage(driver); }
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"); } }