public PageContext(WebDriverResolver driverResolver, IProvideWebElementResolvers elementResolvers) { Guard.NotNull(nameof(driverResolver), driverResolver); Guard.NotNull(nameof(elementResolvers), elementResolvers); _driverResolver = driverResolver; _elementResolvers = elementResolvers; }
public void when_resolve_web_driver() { act = () => _webDriver = _browserContext.CreatePageContext().Driver; it["should throw"] = expect <InvalidOperationException>(); context["with custom web driver resolver"] = () => { before = () => { _target.WithWebDriverResolver(_driverResolver); }; context["when custom web driver resolver is null"] = () => { beforeAll = () => _driverResolver = null; it["should throw"] = expect <ArgumentNullException>(); }; context["when web driver resolved as null"] = () => { beforeAll = () => _driverResolver = () => null; it["should throw"] = expect <InvalidOperationException>(); }; context["when web driver resolved"] = () => { beforeAll = () => _driverResolver = () => ExpectedWebDriver; it["should return expected web driver"] = () => { _webDriver.Should().BeSameAs(ExpectedWebDriver); }; }; }; }
private static WebDriverResolver CreateWebDriverResolver(WebDriverResolver driverResolver) { return(() => { var driver = driverResolver(); if (driver == null) { var message = "Can't resolve WebDriver. Resolver returns null."; throw new InvalidOperationException(message); } return driver; }); }
public IBrowserConfiguration WithWebDriverResolver(WebDriverResolver resolver) { Guard.NotNull(nameof(resolver), resolver); _driverResolver = resolver; return(this); }