private List <SomeoneSolution> FindSolutions() { return(Enumerable.Range(0, Constants.SomeoneSolutionsCount) .Select(x => new SomeoneSolution(driver.FindElement(By.XPath(XPaths.SomeoneSolutionXPath(x))), new LikeButton(driver.FindElement(By.XPath(XPaths.SomeoneSolutionLikeXPath(x)))))) .ToList()); }
public SlideListItem(IWebDriver driver, int slideIndex, int unitIndex) { this.slideIndex = slideIndex; this.unitIndex = unitIndex; this.driver = driver; slideElement = new Lazy <IWebElement>( () => UlearnDriver.FindElementSafely(driver, By.XPath(XPaths.TocSlideXPath(unitIndex, slideIndex)))); slideLabelElement = new Lazy <IWebElement>( () => UlearnDriver.FindElementSafely(driver, By.XPath(XPaths.TocSlideLabelXPath(unitIndex, slideIndex)))); }
private void Configure() { headerElement = UlearnDriver.FindElementSafely(driver, By.XPath(XPaths.TocUnitHeaderXPath(unitIndex))); var slidesCount = UlearnDriver.FindElementsSafely(driver, By.XPath(XPaths.TocSlidesXPath(unitIndex))).Count; //UlearnDriver.courseManager.GetCourse(courseTitle).Slides.Count(x => x.Info.UnitName == unitName); slides = new List <Lazy <ITocSlide> >(slidesCount); for (var ind = 0; ind < slidesCount; ind++) { var lazyIndex = ind; slides.Add(new Lazy <ITocSlide>(() => new TocSlideControl(driver, lazyIndex, unitIndex))); } }
private QuizBlock GetBlock(IWebElement webElement, int index) { if (UlearnDriver.HasCss(webElement, "quiz-block-input")) { return(new FillInBlock(webElement.FindElement(By.XPath(XPaths.QuizFillInBlockField(index))))); } return(new ChoiseBlock( webElement .FindElements(By.XPath(XPaths.QuizItemXPath(index))) .Select((x, i) => new QuizItem(x, x, webElement.FindElement(By.XPath(XPaths.QuizItemInfoXPath(i))))) .ToList(), UlearnDriver.HasCss(webElement, "checkbox"), driver.FindElement(By.XPath(XPaths.QuizQuestionStatusXPath(index))), quizStatus)); }
private void Configure() { name = new Lazy <string>( () => UlearnDriver.FindElementSafely(driver, By.XPath(XPaths.TocSlideXPath(unitIndex, slideIndex))).Text); item = new Lazy <SlideListItem>(() => new SlideListItem(driver, slideIndex, unitIndex)); }
private void Configure() { var unitsElements = UlearnDriver.FindElementsSafely(driver, By.XPath(XPaths.TocUnitsXPath)).ToList(); CreateCollections(); for (var i = 0; i < unitsElements.Count; i++) { var unitName = unitsElements[i].Text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault(); if (unitName == null) { throw new Exception(string.Format("Юнит с номером {0} в курсе {1} не имеет названия", i, driver.Title)); } if (unitName == "Total statistics" || unitName == "Users statistics" || unitName == "Personal statistics") { if (!statistics.ContainsKey(unitName)) { statistics.Add(unitName, new TocUnit(driver, i)); } } else { if (units.ContainsKey(unitName)) { continue; } var collapsedElement = UlearnDriver.FindElementSafely(driver, By.XPath(XPaths.UnitInfoXPath(i))); var isCollapsed = UlearnDriver.HasCss(collapsedElement, "collapse in"); initInfo.Add(unitName, new UnitInitInfo(unitsElements[i], i, isCollapsed)); units.Add(unitName, new Lazy <ITocUnit>(() => new TocUnit(driver, initInfo[unitName].Index))); } } }
private bool IsCollapse() { var element = UlearnDriver.FindElementSafely(driver, By.XPath(XPaths.TocUnitHeaderCollapseInfoXPath(unitIndex))); return(UlearnDriver.HasCss(element, "in")); }