Ejemplo n.º 1
0
        public void It_clears_the_scope_after_executing_action()
        {
            var expectedScope = new StubElement();
            session.Within(() => expectedScope, () => {});

            Assert.That(driver.Scope, Is.Null);
        }
Ejemplo n.º 2
0
        private StubElement StubField(string locator, Options options = null)
        {
            var stubField = new StubElement{Id = Guid.NewGuid().ToString()};
            var fieldXpath = new Html(sessionConfiguration.Browser.UppercaseTagNames).Field(locator, options ?? sessionConfiguration);
            driver.StubAllXPath(fieldXpath, new []{stubField}, browserSession, options ?? sessionConfiguration);

            return stubField;
        }
        public void It_clears_the_scope_after_executing_action()
        {
            const string locator = "Fieldset locator";

            var fieldset = new StubElement();
            driver.StubFieldset(locator, fieldset);

            session.WithinFieldset(locator, () => {});

            Assert.That(driver.Scope, Is.Null);
        }
        public void It_clears_the_scope_after_executing_action()
        {
            const string locator = "IFrame locator";

            var iframe = new StubElement();
            driver.StubIFrame(locator, iframe);

            session.WithinIFrame(locator, () => {});

            Assert.That(driver.Scope, Is.Null);
        }
Ejemplo n.º 5
0
        public void It_clears_the_scope_after_exception_in_action()
        {
            var expectedScope = new StubElement();

            Assert.Throws<ExplicitlyThrownTestException>(
                () => session.Within(
                    () => expectedScope,
                    () => {throw new ExplicitlyThrownTestException("Exception from action within scope");}));

            Assert.That(driver.Scope, Is.Null);
        }
        public void It_clears_the_scope_after_executing_action()
        {
            const string locator = "Section locator";

            var section = new StubElement();
            driver.StubSection(locator, section);

            session.WithinSection(locator, () => {});

            Assert.That(driver.Scope, Is.Null);
        }
Ejemplo n.º 7
0
        private StubElement StubOption(string fieldLocator, string optionLocator, Options options = null)
        {
            var stubSelect = new StubElement { Id = Guid.NewGuid().ToString() };
            var stubOption = new StubElement { Id = Guid.NewGuid().ToString() };
            var selectXpath = new Html(sessionConfiguration.Browser.UppercaseTagNames).Select(fieldLocator, options ?? sessionConfiguration);
            var optionXpath = new Html(sessionConfiguration.Browser.UppercaseTagNames).Option(optionLocator, options ?? sessionConfiguration);
            driver.StubAllXPath(selectXpath, new[] { stubSelect }, browserSession, options ?? sessionConfiguration);
            driver.StubAllXPath(optionXpath, new[] { stubOption }, new SnapshotElementScope(stubSelect, browserSession, options), options ?? sessionConfiguration);

            return stubOption;
        }
Ejemplo n.º 8
0
        public void It_sets_the_scope_before_executing_action()
        {
            var expectedScope = new StubElement();
            Element actualScope = null;
            session.Within(() => expectedScope, () =>
            {
                actualScope = driver.Scope;
            });

            Assert.That(actualScope, Is.SameAs(expectedScope));
        }
Ejemplo n.º 9
0
        public void It_makes_robust_call_to_underlying_driver()
        {
            var element = new StubElement();
            session.Click(element);

            Assert.That(driver.ClickedElements, Is.Empty);

            spyRobustWrapper.DeferredActions.Single()();

            Assert.That(driver.ClickedElements, Has.Member(element));
        }
Ejemplo n.º 10
0
        public void When_filling_in_a_field_It_doesnt_click_to_ensure_focus_by_default()
        {
            var element = new StubElement();
            driver.StubField("Some field locator", element, browserSession);

            browserSession.FillIn("Some field locator").With("some value for the field");

            RunQueryAndCheckTiming();

            Assert.That(driver.ClickedElements, Is.Empty);
        }
Ejemplo n.º 11
0
        public void When_filling_in_a_field_It_clicks_to_ensure_focus()
        {
            var element = new StubElement();
            driver.StubField("Some field locator", element);

            session.FillIn("Some field locator").With("some value for the field");

            Assert.That(driver.ClickedElements,Is.Empty);
            spyRobustWrapper.DeferredActions.Single()();

            Assert.That(driver.ClickedElements, Has.Member(element));
        }
        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 It_finds_element_robustly_and_returns_selected_negative()
        {
            var stubElement = new StubElement { Selected = false };
            driver.StubId("some-element", stubElement, browserSession);

            spyRobustWrapper.AlwaysReturnFromRobustly(stubElement);

            Assert.That(browserSession.FindId("some-element").Selected, Is.EqualTo(false));

            var queryResult = RunQueryAndCheckTiming();

            Assert.That(queryResult, Is.SameAs(stubElement));
        }
Ejemplo n.º 14
0
        public void When_checking_a_checkbox_It_find_fields_and_checks_robustly()
        {
            var element = new StubElement();
            driver.StubField("Some checkbox locator", element);

            session.Check("Some checkbox locator");

            Assert.That(driver.CheckedElements, Has.No.Member(element));

            spyRobustWrapper.DeferredActions.Single()();

            Assert.That(driver.CheckedElements, Has.Member(element));
        }
Ejemplo n.º 15
0
        public void When_choosing_a_radio_button_It_finds_field_and_chooses_robustly()
        {
            var element = new StubElement();
            driver.StubField("Some radio locator", element);

            session.Choose("Some radio locator");

            Assert.That(driver.ChosenElements, Has.No.Member(element));

            spyRobustWrapper.DeferredActions.Single()();

            Assert.That(driver.ChosenElements, Has.Member(element));
        }
        public void It_makes_robust_call_to_find_then_hover_element_on_underlying_driver()
        {
            var element = new StubElement();
            driver.StubCss("something.to hover", element, browserSession);
            spyRobustWrapper.AlwaysReturnFromRobustly(element);

            browserSession.FindCss("something.to hover").Hover();

            RunQueryAndCheckTiming();

            Assert.That(driver.FindCssRequests, Is.Empty, "Finder call not deferred");
            Assert.That(driver.HoveredElements, Has.Member(element));
        }
Ejemplo n.º 17
0
        public void When_choosing_a_radio_button_It_finds_field_and_chooses_robustly()
        {
            var element = new StubElement();
            driver.StubField("Some radio locator", element, browserSession);

            browserSession.Choose("Some radio locator");

            Assert.That(driver.ChosenElements, Has.No.Member(element));

            RunQueryAndCheckTiming();

            Assert.That(driver.ChosenElements, Has.Member(element));
        }
Ejemplo n.º 18
0
        public void When_filling_in_an_field_already_found_It_sets_value_robustly()
        {
            var element = new StubElement();

            browserSession.FillIn(element).With("some value for the field");

            Assert.That(driver.SetFields, Has.No.Member(element));

            RunQueryAndCheckTiming();

            Assert.That(driver.SetFields.Keys, Has.Member(element));
            Assert.That(driver.SetFields[element].Value, Is.EqualTo("some value for the field"));
        }
Ejemplo n.º 19
0
        public void When_filling_in_an_field_already_found_It_sets_value_robustly()
        {
            var element = new StubElement();

            session.FillIn(element).With("some value for the field");

            Assert.That(driver.SetFields, Has.No.Member(element));

            spyRobustWrapper.DeferredActions.Single()();

            Assert.That(driver.SetFields.Keys, Has.Member(element));
            Assert.That(driver.SetFields[element], Is.EqualTo("some value for the field"));
        }
Ejemplo n.º 20
0
        public void When_checking_a_checkbox_It_find_fields_and_checks_robustly()
        {
            var element = new StubElement();
            driver.StubField("Some checkbox locator", element, browserSession);

            browserSession.Check("Some checkbox locator");

            Assert.That(driver.CheckedElements, Has.No.Member(element));

            RunQueryAndCheckTiming();

            Assert.That(driver.CheckedElements, Has.Member(element));
        }
Ejemplo n.º 21
0
        public void It_finds_element_robustly_and_returns_name()
        {
            var stubElement = new StubElement { Name = "actual-name" };
            driver.StubId("some-element", stubElement, browserSession);

            spyRobustWrapper.AlwaysReturnFromRobustly(stubElement);

            Assert.That(browserSession.FindId("some-element").Name, Is.EqualTo("actual-name"));

            var queryResult = RunQueryAndCheckTiming();

            Assert.That(queryResult, Is.SameAs(stubElement));
        }
Ejemplo n.º 22
0
        public void It_makes_robust_call_to_find_then_hover_element_on_underlying_driver()
        {
            var element = new StubElement();
            driver.StubId("something_to_hover", element, browserSession, sessionConfiguration);
            SpyTimingStrategy.AlwaysReturnFromSynchronise(element);

            browserSession.FindId("something_to_hover").Hover();

            Assert.That(driver.HoveredElements, Has.No.Member(element));
            
            RunQueryAndCheckTiming();

            Assert.That(driver.HoveredElements, Has.Member(element));
        }
Ejemplo n.º 23
0
        public void When_filling_in_a_text_field_It_finds_field_and_sets_value_robustly()
        {
            var element = new StubElement();
            driver.StubField("Some field locator", element, browserSession);

            browserSession.FillIn("Some field locator").With("some value for the field");

            Assert.That(driver.SetFields.Keys, Has.No.Member(element));

            RunQueryAndCheckTiming();

            Assert.That(driver.SetFields.Keys, Has.Member(element));
            Assert.That(driver.SetFields[element].Value, Is.EqualTo("some value for the field"));
        }
Ejemplo n.º 24
0
        public void It_finds_element_robustly_and_returns_innerHTML()
        {
            var native = new object();
            var stubElement = new StubElement { InnerHTML = "actual-innnerHTML" };
            driver.StubId("some-element", stubElement, browserSession);

            spyRobustWrapper.AlwaysReturnFromRobustly(stubElement);

            Assert.That(browserSession.FindId("some-element").InnerHTML, Is.SameAs("actual-innnerHTML"));

            var queryResult = RunQueryAndCheckTiming();

            Assert.That(queryResult, Is.SameAs(stubElement));
        }
Ejemplo n.º 25
0
        public void It_finds_element_robustly_and_returns_attributes()
        {
            var stubElement = new StubElement();
            stubElement.StubAttribute("href","http://some.href");
            driver.StubId("some-element", stubElement, browserSession);

            spyRobustWrapper.AlwaysReturnFromRobustly(stubElement);

            Assert.That(browserSession.FindId("some-element")["href"], Is.EqualTo("http://some.href"));

            var queryResult = RunQueryAndCheckTiming();

            Assert.That(queryResult, Is.SameAs(stubElement));
        }
        public void It_clears_the_scope_after_exception_in_action()
        {
            const string locator = "IFrame locator";

            var iframe = new StubElement();
            driver.StubIFrame(locator, iframe);

            Assert.Throws<ExplicitlyThrownTestException>(
                () => session.WithinIFrame(
                    locator,
                    () => {throw new ExplicitlyThrownTestException("Exception from action within scope");}));

            Assert.That(driver.Scope, Is.Null);
        }
        public void It_sets_the_scope_before_executing_action()
        {
            const string locator = "Section locator";

            var section = new StubElement();
            driver.StubSection(locator, section);

            Element actualScope = null;
            session.WithinSection(locator, () =>
            {
                actualScope = driver.Scope;
            });

            Assert.That(actualScope, Is.SameAs(section));
        }
        public void It_finds_then_synchronises_click_element_on_underlying_driver()
        {
            var element = new StubElement();
            driver.StubId("something_to_click", element, browserSession, sessionConfiguration);
            SpyTimingStrategy.AlwaysReturnFromSynchronise(element);

            var elementScope = browserSession.FindId("something_to_click");
            elementScope.Click();

            Assert.That(driver.ClickedElements, Has.No.Member(elementScope), "Click was not synchronised");

            RunQueryAndCheckTiming();

            Assert.That(driver.ClickedElements, Has.Member(elementScope));
        }
        public void It_sets_the_scope_on_the_driver()
        {
            browserSession = TestSessionBuilder.Build(new SessionConfiguration(), driver, new ImmediateSingleExecutionFakeRobustWrapper(), fakeWaiter, null, stubUrlBuilder);
            var section = new StubElement();
            var expectedLink = new StubElement();
            driver.StubSection("some section", section, browserSession);

            var innerScope = browserSession.FindSection("some section");

            driver.StubLink("some link", expectedLink, innerScope);

            var actualLink = innerScope.FindLink("some link").Now();

            Assert.That(actualLink, Is.SameAs(expectedLink));
        }
        public void It_sets_the_scope_before_executing_action()
        {
            const string locator = "IFrame locator";

            var iframe = new StubElement();
            driver.StubIFrame(locator, iframe);

            Element actualScope = null;
            session.WithinIFrame(locator, () =>
            {
                actualScope = driver.Scope;
            });

            Assert.That(actualScope, Is.SameAs(iframe));
        }
Ejemplo n.º 31
0
 public void ReturnOnceThenExecuteImmediately(StubElement stubElement)
 {
     executeImmediatelyOnceThenReturn = stubElement;
 }