Esempio n. 1
0
        public void FindElement_ShouldThrowExceptionIfNoElementsFound()
        {
            var by1Mock = new Mock <OpenQA.Selenium.By>();

            by1Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(new List <IWebElement>()));

            var by2Mock = new Mock <OpenQA.Selenium.By>();

            by2Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(new List <IWebElement>()));

            var by3Mock = new Mock <OpenQA.Selenium.By>();

            by3Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(new List <IWebElement>()));

            var byAny = new ByAny(by1Mock.Object, by2Mock.Object, by3Mock.Object);

            Assert.Throws <NoSuchElementException>(() => byAny.FindElement(_webElementMock.Object));
        }
Esempio n. 2
0
        public void FindElements_ShouldReturnTheResultOfAllBysFindElements()
        {
            var resultWebElementMock1 = new Mock <IWebElement>();
            var result1List           = new List <IWebElement>()
            {
                resultWebElementMock1.Object
            };
            var resultWebElementMock2 = new Mock <IWebElement>();
            var result2List           = new List <IWebElement>()
            {
                resultWebElementMock2.Object
            };
            var resultWebElementMock3 = new Mock <IWebElement>();
            var result3List           = new List <IWebElement>()
            {
                resultWebElementMock3.Object
            };

            var by1Mock = new Mock <OpenQA.Selenium.By>();

            by1Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result1List));

            var by2Mock = new Mock <OpenQA.Selenium.By>();

            by2Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result2List));

            var by3Mock = new Mock <OpenQA.Selenium.By>();

            by3Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result3List));

            var byAny = new ByAny(by1Mock.Object, by2Mock.Object, by3Mock.Object);

            var resultElements = byAny.FindElements(_webElementMock.Object);

            Assert.AreEqual(3, resultElements.Count);
            Assert.Contains(resultWebElementMock1.Object, resultElements);
            Assert.Contains(resultWebElementMock2.Object, resultElements);
            Assert.Contains(resultWebElementMock3.Object, resultElements);
        }
        public void FindElements_MoreThanOneBy_ShouldCallToFindElementsOfAllBys()
        {
            var by1Mock = new Mock <OpenQA.Selenium.By>();

            by1Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(new List <IWebElement>()));

            var by2Mock = new Mock <OpenQA.Selenium.By>();

            by2Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(new List <IWebElement>()));

            var by3Mock = new Mock <OpenQA.Selenium.By>();

            by3Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(new List <IWebElement>()));

            var byEach = new ByAny(by1Mock.Object, by2Mock.Object, by3Mock.Object);

            byEach.FindElements(_webElementMock.Object);

            by1Mock.Verify(by => by.FindElements(_webElementMock.Object), Times.Once);
            by2Mock.Verify(by => by.FindElements(_webElementMock.Object), Times.Once);
            by2Mock.Verify(by => by.FindElements(_webElementMock.Object), Times.Once);
        }
Esempio n. 4
0
        public void FindElements_ShouldCallFindElementsOfAllBys()
        {
            var resultWebElementMock1 = new Mock <IWebElement>();
            var result1List           = new List <IWebElement>()
            {
                resultWebElementMock1.Object
            };
            var resultWebElementMock2 = new Mock <IWebElement>();
            var result2List           = new List <IWebElement>()
            {
                resultWebElementMock2.Object
            };
            var resultWebElementMock3 = new Mock <IWebElement>();
            var result3List           = new List <IWebElement>()
            {
                resultWebElementMock3.Object
            };

            var by1Mock = new Mock <OpenQA.Selenium.By>();

            by1Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result1List));

            var by2Mock = new Mock <OpenQA.Selenium.By>();

            by2Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result2List));

            var by3Mock = new Mock <OpenQA.Selenium.By>();

            by3Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result3List));

            var byAny = new ByAny(by1Mock.Object, by2Mock.Object, by3Mock.Object);

            byAny.FindElements(_webElementMock.Object);

            by1Mock.Verify(by => by.FindElements(_webElementMock.Object), Times.Once);
            by2Mock.Verify(by => by.FindElements(_webElementMock.Object), Times.Once);
            by2Mock.Verify(by => by.FindElements(_webElementMock.Object), Times.Once);
        }
Esempio n. 5
0
        public void FindElement_ShouldReturnFirstFoundElement()
        {
            var resultWebElementMock1 = new Mock <IWebElement>();
            var result1List           = new List <IWebElement>()
            {
                resultWebElementMock1.Object
            };
            var resultWebElementMock2 = new Mock <IWebElement>();
            var result2List           = new List <IWebElement>()
            {
                resultWebElementMock2.Object
            };
            var resultWebElementMock3 = new Mock <IWebElement>();
            var result3List           = new List <IWebElement>()
            {
                resultWebElementMock3.Object
            };

            var by1Mock = new Mock <OpenQA.Selenium.By>();

            by1Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result1List));

            var by2Mock = new Mock <OpenQA.Selenium.By>();

            by2Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result2List));

            var by3Mock = new Mock <OpenQA.Selenium.By>();

            by3Mock.Setup(by => by.FindElements(It.IsAny <ISearchContext>())).Returns(() => new ReadOnlyCollection <IWebElement>(result3List));

            var byAny = new ByAny(by1Mock.Object, by2Mock.Object, by3Mock.Object);

            var resultElement = byAny.FindElement(_webElementMock.Object);

            Assert.AreSame(resultElement, resultWebElementMock1.Object);
        }