Example #1
0
 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());
 }
Example #2
0
 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))));
 }
Example #3
0
        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)));
            }
        }
Example #4
0
 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));
 }
Example #5
0
 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));
 }
Example #6
0
        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)));
                }
            }
        }
Example #7
0
        private bool IsCollapse()
        {
            var element = UlearnDriver.FindElementSafely(driver, By.XPath(XPaths.TocUnitHeaderCollapseInfoXPath(unitIndex)));

            return(UlearnDriver.HasCss(element, "in"));
        }