public void It_is_exposed_on_the_session() { var robustWrapper = new SpyRobustWrapper(); var session = new Session(new StubDriver(), robustWrapper); Assert.That(session.RobustWrapper, Is.SameAs(robustWrapper)); }
public void It_checks_all_of_the_states_in_a_robust_query_expecting_true() { bool queriedState1 = false; bool queriedState2 = false; var state1 = new State(new LambdaQuery<bool>(() => { queriedState1 = true; return false; })); var state2 = new State(new LambdaQuery<bool>(() => { queriedState2 = true; return true; })); var state3 = new State(new LambdaQuery<bool>(() => true)); state3.CheckCondition(); var robustWrapper = new SpyRobustWrapper(); robustWrapper.StubQueryResult(true, true); var session = BuildSession(robustWrapper); Assert.That(session.FindState(new [] {state1, state2, state3}), Is.SameAs(state3)); Assert.IsFalse(queriedState1); Assert.IsFalse(queriedState2); var query = robustWrapper.QueriesRan<bool>().Single(); var queryResult = query.Run(); Assert.IsTrue(queryResult); Assert.IsTrue(queriedState1); Assert.IsTrue(queriedState2); }
public void SetUp() { driver = new FakeDriver(); spyRobustWrapper = new SpyRobustWrapper(); mockSleepWaiter = new MockSleepWaiter(); session = new Session(driver, spyRobustWrapper, mockSleepWaiter); }
public void SetUp() { driver = new FakeDriver(); spyRobustWrapper = new SpyRobustWrapper(); fakeWaiter = new FakeWaiter(); stubUrlBuilder = new StubUrlBuilder(); session = TestSessionBuilder.Build(driver, spyRobustWrapper, fakeWaiter, new SpyRestrictedResourceDownloader(), stubUrlBuilder); }
public void It_uses_individual_timeout_for_query_leaving() { var individualTimeout = TimeSpan.FromSeconds(321); var spyRobustWrapper = new SpyRobustWrapper(); var session = new Session(null, spyRobustWrapper, null, null, null); session.FindLink("bob").WithTimeout(individualTimeout).Now(); Assert.That(spyRobustWrapper.QueriesRan<Element>().Single().Timeout, Is.EqualTo(individualTimeout)); }
public void It_uses_individual_timeout_for_query_leaving() { var individualTimeout = TimeSpan.FromSeconds(321); var spyRobustWrapper = new SpyRobustWrapper(); var session = new Session(null, spyRobustWrapper, null, null, null); session.FindLink("bob").WithTimeout(individualTimeout).Now(); Assert.That(spyRobustWrapper.QueriesRan <Element>().Single().Timeout, Is.EqualTo(individualTimeout)); }
public void It_returns_through_within_individual_timeout() { var spyRobustWrapper = new SpyRobustWrapper(); var expectedElement = new StubElement(); spyRobustWrapper.AlwaysReturnFromRobustly(expectedElement); var session = new Session(null, spyRobustWrapper, null, null, null); var actualElement = session.FindLink("bob").WithTimeout(TimeSpan.FromSeconds(321)).Now(); Assert.That(actualElement, Is.SameAs(expectedElement)); }
public void SetUp() { driver = new FakeDriver(); spyRobustWrapper = new SpyRobustWrapper(); fakeWaiter = new FakeWaiter(); stubUrlBuilder = new StubUrlBuilder(); sessionConfiguration = new SessionConfiguration(); browserSession = TestSessionBuilder.Build(sessionConfiguration, driver, spyRobustWrapper, fakeWaiter, new SpyRestrictedResourceDownloader(), stubUrlBuilder); elementScope = browserSession.FindXPath("."); }
public void When_query_returns_false_It_raises_an_exception() { var state1 = new State(new AlwaysSucceedsQuery <bool>(false, true, TimeSpan.Zero, SessionConfiguration.RetryInterval)); var state2 = new State(new AlwaysSucceedsQuery <bool>(false, true, TimeSpan.Zero, SessionConfiguration.RetryInterval)); var robustWrapper = new SpyRobustWrapper(); robustWrapper.StubQueryResult(true, false); var session = BuildSession(robustWrapper); try { session.FindState(state1, state2); Assert.Fail("Expected MissingHTMLException"); } catch (MissingHtmlException e) { Assert.That(e.Message, Is.EqualTo("None of the given states was reached within the configured timeout.")); } }
public void It_checks_all_of_the_states_in_a_robust_query_expecting_true() { bool queriedState1 = false; bool queriedState2 = false; var state1 = new State(new LambdaQuery <bool>(() => { queriedState1 = true; return(false); })); var state2 = new State(new LambdaQuery <bool>(() => { queriedState2 = true; return(true); })); var state3 = new State(new LambdaQuery <bool>(() => true)); state3.CheckCondition(); var robustWrapper = new SpyRobustWrapper(); robustWrapper.StubQueryResult(true, true); var session = BuildSession(robustWrapper); Assert.That(session.FindState(new [] { state1, state2, state3 }), Is.SameAs(state3)); Assert.IsFalse(queriedState1); Assert.IsFalse(queriedState2); var query = robustWrapper.QueriesRan <bool>().Single(); var queryResult = query.Run(); Assert.IsTrue(queryResult); Assert.IsTrue(queriedState1); Assert.IsTrue(queriedState2); }
public void SetUp() { driver = new FakeDriver(); spyRobustWrapper = new SpyRobustWrapper(); session = new Session(driver, spyRobustWrapper); }
public void When_query_returns_false_It_raises_an_exception() { var state1 = new State(new AlwaysSucceedsQuery<bool>(false, true, TimeSpan.Zero, SessionConfiguration.RetryInterval)); var state2 = new State(new AlwaysSucceedsQuery<bool>(false, true, TimeSpan.Zero, SessionConfiguration.RetryInterval)); var robustWrapper = new SpyRobustWrapper(); robustWrapper.StubQueryResult(true, false); var session = BuildSession(robustWrapper); try { session.FindState(state1, state2); Assert.Fail("Expected MissingHTMLException"); } catch (MissingHtmlException e) { Assert.That(e.Message, Is.EqualTo("None of the given states was reached within the configured timeout.")); } }