public void ShouldNotThrowIfElementBecomesStale() { Mock <IAllDriver> driver = new Mock <IAllDriver>(); Mock <IAllElement> elem1 = new Mock <IAllElement>(); Mock <IAllElement> elem2 = new Mock <IAllElement>(); Mock <IAllElement> elem3 = new Mock <IAllElement>(); Mock <IAllElement> elem4 = new Mock <IAllElement>(); var elems12 = new List <IWebElement>() { elem1.Object, elem2.Object }.AsReadOnly(); var elems34 = new List <IWebElement>() { elem3.Object, elem4.Object }.AsReadOnly(); driver.Setup(_ => _.FindElements(by.Mechanism, by.Criteria)).Returns(elems12); elem1.Setup(_ => _.FindElements(by2)).Throws(new StaleElementReferenceException()); elem2.Setup(_ => _.FindElements(by2)).Returns(elems34); ByChained byChained = new ByChained(by, by2); Assert.That(byChained.FindElements(driver.Object), Is.EquivalentTo(elems34)); driver.Verify(_ => _.FindElements(by.Mechanism, by.Criteria), Times.Once); elem1.Verify(_ => _.FindElements(by2), Times.Once); elem2.Verify(_ => _.FindElements(by2), Times.Once); }
public void FindElementsZeroBy() { Mock <IAllDriver> driver = new Mock <IAllDriver>(); ByChained byChained = new ByChained(); Assert.That(byChained.FindElements(driver.Object), Is.EqualTo(new List <IWebElement>().AsReadOnly())); }
public void FindElements_TwoBys_ShouldReturnZero() { driver.Url = nestedPage; driver.Navigate(); var by = new ByChained(By.Name("classes"), By.CssSelector(".NotFound")); Assert.AreEqual(0, by.FindElements(driver).Count); }
public void FindElements_ShouldReturnMultiple() { driver.Url = nestedPage; driver.Navigate(); var by = new ByChained(By.Name("div1")); Assert.AreEqual(4, by.FindElements(driver).Count); }
public void FindElementsNotFound_ShouldBeZero() { driver.Url = nestedPage; driver.Navigate(); var by = new ByChained(By.Name("NotFoundAtAll")); Assert.AreEqual(0, by.FindElements(driver).Count); }
public void FindElements_TwoBys_ShouldReturnMultiple() { driver.Url = nestedPage; driver.Navigate(); var by = new ByChained(By.Name("classes"), By.CssSelector(".one")); Assert.That(by.FindElements(driver).Count, Is.EqualTo(2)); }
public void FindElementsOneByEmpty() { Mock <IAllDriver> driver = new Mock <IAllDriver>(); var elems = new List <IWebElement>().AsReadOnly(); driver.Setup(_ => _.FindElements(by.Mechanism, by.Criteria)).Returns(elems); ByChained byChained = new ByChained(by); Assert.That(byChained.FindElements(driver.Object), Is.EqualTo(elems)); }
public void FindElementsOneByEmpty() { Mock <IAllDriver> driver = new Mock <IAllDriver>(); var elems = new List <IWebElement>().AsReadOnly(); driver.Setup(_ => _.FindElementsByName(It.Is <string>(x => x == "cheese"))).Returns(elems); ByChained by = new ByChained(By.Name("cheese")); Assert.That(by.FindElements(driver.Object), Is.EqualTo(elems)); }
public void FindElementsOneBy() { Mock <IAllDriver> driver = new Mock <IAllDriver>(); Mock <IAllElement> elem1 = new Mock <IAllElement>(); Mock <IAllElement> elem2 = new Mock <IAllElement>(); var elems12 = new List <IWebElement>() { elem1.Object, elem2.Object }.AsReadOnly(); driver.Setup(_ => _.FindElements(by.Mechanism, by.Criteria)).Returns(elems12); ByChained byChained = new ByChained(by); Assert.That(elems12, Is.EqualTo(byChained.FindElements(driver.Object))); driver.Verify(_ => _.FindElements(by.Mechanism, by.Criteria), Times.Once); }
public void FindElementsOneBy() { Mock <IAllDriver> driver = new Mock <IAllDriver>(); Mock <IAllElement> elem1 = new Mock <IAllElement>(); Mock <IAllElement> elem2 = new Mock <IAllElement>(); var elems12 = new List <IWebElement>() { elem1.Object, elem2.Object }.AsReadOnly(); driver.Setup(_ => _.FindElementsByName(It.Is <string>(x => x == "cheese"))).Returns(elems12); ByChained by = new ByChained(By.Name("cheese")); Assert.AreEqual(by.FindElements(driver.Object), elems12); driver.Verify(_ => _.FindElementsByName("cheese"), Times.Once); }
public void FindElementsTwoByEmptyChild() { Mock <IAllDriver> driver = new Mock <IAllDriver>(); Mock <IAllElement> elem1 = new Mock <IAllElement>(); Mock <IAllElement> elem2 = new Mock <IAllElement>(); Mock <IAllElement> elem3 = new Mock <IAllElement>(); Mock <IAllElement> elem4 = new Mock <IAllElement>(); Mock <IAllElement> elem5 = new Mock <IAllElement>(); var elems = new List <IWebElement>().AsReadOnly(); var elems12 = new List <IWebElement>() { elem1.Object, elem2.Object }.AsReadOnly(); var elems34 = new List <IWebElement>() { elem3.Object, elem4.Object }.AsReadOnly(); var elems5 = new List <IWebElement>() { elem5.Object }.AsReadOnly(); var elems345 = new List <IWebElement>() { elem3.Object, elem4.Object, elem5.Object }.AsReadOnly(); driver.Setup(_ => _.FindElements(by.Mechanism, by.Criteria)).Returns(elems12); elem1.Setup(_ => _.FindElements(by2)).Returns(elems); elem2.Setup(_ => _.FindElements(by2)).Returns(elems5); ByChained byChained = new ByChained(by, by2); Assert.That(byChained.FindElements(driver.Object), Is.EqualTo(new[] { elem5.Object })); driver.Verify(_ => _.FindElements(by.Mechanism, by.Criteria), Times.Once); elem1.Verify(_ => _.FindElements(by2), Times.Once); elem2.Verify(_ => _.FindElements(by2), Times.Once); }
public void FindElementsTwoByEmptyChild() { Mock <IAllDriver> driver = new Mock <IAllDriver>(); Mock <IAllElement> elem1 = new Mock <IAllElement>(); Mock <IAllElement> elem2 = new Mock <IAllElement>(); Mock <IAllElement> elem3 = new Mock <IAllElement>(); Mock <IAllElement> elem4 = new Mock <IAllElement>(); Mock <IAllElement> elem5 = new Mock <IAllElement>(); var elems = new List <IWebElement>().AsReadOnly(); var elems12 = new List <IWebElement>() { elem1.Object, elem2.Object }.AsReadOnly(); var elems34 = new List <IWebElement>() { elem3.Object, elem4.Object }.AsReadOnly(); var elems5 = new List <IWebElement>() { elem5.Object }.AsReadOnly(); var elems345 = new List <IWebElement>() { elem3.Object, elem4.Object, elem5.Object }.AsReadOnly(); driver.Setup(_ => _.FindElementsByName(It.Is <string>(x => x == "cheese"))).Returns(elems12); elem1.Setup(_ => _.FindElements(It.Is <By>(x => x.Equals(By.Name("photo"))))).Returns(elems); elem2.Setup(_ => _.FindElements(It.Is <By>(x => x.Equals(By.Name("photo"))))).Returns(elems5); ByChained by = new ByChained(By.Name("cheese"), By.Name("photo")); Assert.That(by.FindElements(driver.Object), Is.EqualTo(new[] { elem5.Object })); driver.Verify(_ => _.FindElementsByName("cheese"), Times.Once); elem1.Verify(_ => _.FindElements(By.Name("photo")), Times.Once); elem2.Verify(_ => _.FindElements(By.Name("photo")), Times.Once); }