public void WaitUntilExistsTimeOutExceptionInnerExceptionNotSetToLastExceptionThrown() { var domContainerMock = new Mock <DomContainer>(new object[] { }); var finderMock = new ElementFinderMock(); var counter = 0; finderMock.FindAllElements = () => { counter++; if (counter == 1) { throw new UnauthorizedAccessException(""); } return(new List <Element>()); }; var element1 = new Element(domContainerMock.Object, finderMock); Exceptions.TimeoutException timeoutException = null; try { element1.WaitUntilExists(1); } catch (Exceptions.TimeoutException e) { timeoutException = e; } Assert.IsNotNull(timeoutException, "TimeoutException not thrown"); Assert.IsNull(timeoutException.InnerException, "Unexpected innerexception"); domContainerMock.VerifyAll(); }
public void WaitUntilElementExistsTimeOutException() { // GIVEN var elementFinderMock = new ElementFinderMock { FindAllElements = (() => new List <Element> { (Element)null }) }; var element1 = new Element(new Mock <DomContainer>().Object, elementFinderMock); // WHEN element1.WaitUntilExists(1); // THEN exception }
public void ElementRefresh() { var finderMock = new ElementFinderMock(); var nativeElementMock = new Mock <INativeElement>(); var domContainer = new Mock <DomContainer>(new object[] { }); finderMock.FindAllElements = () => new List <Element> { new Element(domContainer.Object, nativeElementMock.Object) }; nativeElementMock.Expect(native => native.TagName).Returns("mockedtag"); element = new Element(domContainer.Object, finderMock); Assert.AreEqual("mockedtag", element.TagName); element.Refresh(); Assert.AreEqual("mockedtag", element.TagName); Assert.That(finderMock.FindAllImplCounter, Is.LessThanOrEqualTo(2), "Atmost 2 times"); }
public void WaitUntilExistsShouldIgnoreExceptionsDuringWait() { // GIVEN var nativeElementMock = new Mock <INativeElement>(); var elementFinderMock = new ElementFinderMock(); var domContainerMock = new Mock <DomContainer>(new object[] { }); var counter = 0; elementFinderMock.FindAllElements = () => { counter = counter + 1; if (counter <= 5) { return(new List <Element>()); } if (counter <= 9) { throw new UnauthorizedAccessException(""); } return(new List <Element> { new Element(domContainerMock.Object, nativeElementMock.Object) }); }; element = new Element(domContainerMock.Object, elementFinderMock); nativeElementMock.Expect(native => native.GetAttributeValue("innertext")).Returns("succeeded").AtMostOnce(); // WHEN var text = element.Text; // THEN Assert.That(elementFinderMock.FindAllImplCounter, Is.EqualTo(10)); Assert.AreEqual("succeeded", text); nativeElementMock.VerifyAll(); domContainerMock.VerifyAll(); }
public void WaitUntilExistsTimeOutExceptionInnerExceptionSetToLastExceptionThrown() { var domContainerMock = new Mock <DomContainer>(new object[] { }); var finderMock = new ElementFinderMock(); var counter = 0; finderMock.FindAllElements = () => { counter++; if (counter == 1) { throw new Exception(""); } throw new UnauthorizedAccessException("mockUnauthorizedAccessException"); }; element = new Element(domContainerMock.Object, finderMock); Exceptions.TimeoutException timeoutException = null; try { element.WaitUntilExists(1); } catch (Exceptions.TimeoutException e) { timeoutException = e; } Assert.IsNotNull(timeoutException, "TimeoutException not thrown"); Assert.IsInstanceOf(typeof(UnauthorizedAccessException), timeoutException.InnerException, "Unexpected innerexception"); Assert.AreEqual("mockUnauthorizedAccessException", timeoutException.InnerException.Message); domContainerMock.VerifyAll(); }
public void ElementRefresh() { var finderMock = new ElementFinderMock(); var nativeElementMock = new Mock<INativeElement>(); var domContainer = new Mock<DomContainer>( new object[] { }); finderMock.FindAllElements = () => new List<Element> {new Element(domContainer.Object, nativeElementMock.Object)}; nativeElementMock.Expect(native => native.TagName).Returns("mockedtag"); element = new Element(domContainer.Object, finderMock); Assert.AreEqual("mockedtag", element.TagName); element.Refresh(); Assert.AreEqual("mockedtag", element.TagName); Assert.That(finderMock.FindAllImplCounter, Is.LessThanOrEqualTo(2), "Atmost 2 times"); }
public void WaitUntilExistsTimeOutExceptionInnerExceptionSetToLastExceptionThrown() { var domContainerMock = new Mock<DomContainer>(new object[] { }); var finderMock = new ElementFinderMock(); var counter = 0; finderMock.FindAllElements = () => { counter++; if (counter == 1) throw new Exception(""); throw new UnauthorizedAccessException("mockUnauthorizedAccessException"); }; element = new Element(domContainerMock.Object, finderMock); Exceptions.TimeoutException timeoutException = null; try { element.WaitUntilExists(1); } catch (Exceptions.TimeoutException e) { timeoutException = e; } Assert.IsNotNull(timeoutException, "TimeoutException not thrown"); Assert.IsInstanceOfType(typeof (UnauthorizedAccessException), timeoutException.InnerException, "Unexpected innerexception"); Assert.AreEqual("mockUnauthorizedAccessException", timeoutException.InnerException.Message); domContainerMock.VerifyAll(); }
public void WaitUntilExistsTimeOutExceptionInnerExceptionNotSetToLastExceptionThrown() { var domContainerMock = new Mock<DomContainer>( new object[] { }); var finderMock = new ElementFinderMock(); var counter = 0; finderMock.FindAllElements = () => { counter++; if (counter == 1) throw new UnauthorizedAccessException(""); return new List<Element>(); }; var element1 = new Element(domContainerMock.Object, finderMock); Exceptions.TimeoutException timeoutException = null; try { element1.WaitUntilExists(1); } catch (Exceptions.TimeoutException e) { timeoutException = e; } Assert.IsNotNull(timeoutException, "TimeoutException not thrown"); Assert.IsNull(timeoutException.InnerException, "Unexpected innerexception"); domContainerMock.VerifyAll(); }
public void WaitUntilExistsShouldIgnoreExceptionsDuringWait() { // GIVEN var nativeElementMock = new Mock<INativeElement>(); var elementFinderMock = new ElementFinderMock(); var domContainerMock = new Mock<DomContainer>(new object[] { }); var counter = 0; elementFinderMock.FindAllElements = () => { counter = counter + 1; if (counter <= 5) return new List<Element>(); if (counter <= 9) throw new UnauthorizedAccessException(""); return new List<Element> { new Element(domContainerMock.Object, nativeElementMock.Object) }; }; element = new Element(domContainerMock.Object, elementFinderMock); nativeElementMock.Expect(native => native.GetAttributeValue("innertext")).Returns("succeeded").AtMostOnce(); // WHEN var text = element.Text; // THEN Assert.That(elementFinderMock.FindAllImplCounter, Is.EqualTo(10)); Assert.AreEqual("succeeded", text); nativeElementMock.VerifyAll(); domContainerMock.VerifyAll(); }
public void WaitUntilElementExistsTimeOutException() { // GIVEN var elementFinderMock = new ElementFinderMock { FindAllElements = (() => new List<Element> {(Element) null}) }; var element1 = new Element(new Mock<DomContainer>().Object, elementFinderMock); // WHEN element1.WaitUntilExists(1); // THEN exception }