protected override void Load(ContainerBuilder builder) { var selenoHost = new SelenoHost(); selenoHost.Run("ContosoUniversity", 12365, c => c.WithRouteConfig(RouteConfig.RegisterRoutes)); builder.RegisterInstance(selenoHost).AsSelf().SingleInstance(); builder.RegisterType <WebUiDriver>().AsSelf(); DependenciesConfig.ConfigureDependencies(builder); //builder.RegisterGeneric(typeof(ViewStudentDetailsScenario)) // .AsSelf() // .PropertiesAutowired() // .InstancePerLifetimeScope(); builder.RegisterSource(new ContravariantRegistrationSource()); builder.RegisterAssemblyTypes(typeof(IMediator).Assembly).AsImplementedInterfaces(); builder.RegisterAssemblyTypes(typeof(FunctionalTestsAutofacModule).Assembly).AsImplementedInterfaces(); builder.Register <SingleInstanceFactory>(ctx => { var c = ctx.Resolve <IComponentContext>(); return(t => c.Resolve(t)); }); builder.Register <MultiInstanceFactory>(ctx => { var c = ctx.Resolve <IComponentContext>(); return(t => (IEnumerable <object>)c.Resolve(typeof(IEnumerable <>).MakeGenericType(t))); }); builder.RegisterType <StudentDetailsPage>().As(typeof(IPage <Student>)); }
public void Closing_SelenoHost_should_close_child_browser(string driverName) { // ARRANGE Process.GetProcessesByName(driverName).ForEach(StopProcess); var selenoHost = new SelenoHost(); Func <RemoteWebDriver> driver = GetBrowserFactory(driverName); selenoHost.Run("TestStack.Seleno.AcceptanceTests.Web", 12346, c => c.WithRemoteWebDriver(driver)); // Somehow, Firefox spawns 6 processes const int NumberOfFirefoxProcesses = 6; int NumberOfExpectedProcesses; switch (driverName) { case Firefox: NumberOfExpectedProcesses = NumberOfFirefoxProcesses; break; default: NumberOfExpectedProcesses = 1; break; } Process.GetProcessesByName(driverName).Length.Should().Be(NumberOfExpectedProcesses); // ACT selenoHost.Dispose(); // ASSERT Process.GetProcessesByName(driverName).Should().BeEmpty(); }
public void FixtureSetup() { _host = new SelenoHost(); _host.Run("TestStack.Seleno.AcceptanceTests.Web", 12324, x => x.WithRouteConfig(RouteConfig.RegisterRoutes) .WithEnvironmentVariable("FunctionalTest", "SomeVal")); }
public void FixtureSetup() { _host = new SelenoHost(); _host.Run(x => x .WithWebServer(new InternetWebServer("http://www.google.com/")) ); _host.Application.Browser.Manage().Window.Size = new Size(750, 750); }
public static void Start() { SelenoHost.Run(@"SelenoTest.App", 12346, c => c .UsingLoggerFactory(new ConsoleFactory()) .WithRouteConfig(RouteConfig.RegisterRoutes) .WithRemoteWebDriver(GetChromeDriver) ); }
public void FixtureSetup() { _host = new SelenoHost(); _host.Run(x => x .WithWebServer(new InternetWebServer("http://www.google.com/")) ); _host.Application.Browser.Manage().Window.Size = new Size(750,750); }
// should be straight to the db, not through the UI public void Given_that_I_am_a_logged_in_user() { _homePage = SelenoHost.NavigateToInitialPage <HomeController, HomePage>(x => x.Index()) .Menu .GoToAdminForAnonymousUser() .GoToRegisterPage() .CreateValidUser(ObjectMother.CreateRegisterModel()); }
public void SetUp() { SelenoHost.Run("TestStack.Seleno.AcceptanceTests.Web", 12346, c => c .UsingLoggerFactory(new ConsoleFactory()) .WithMinimumWaitTimeoutOf(TimeSpan.FromSeconds(1)) .WithRouteConfig(RouteConfig.RegisterRoutes) ); }
protected override void Load(ContainerBuilder builder) { var selenoHost = new SelenoHost(); selenoHost.Run("ContosoUniversity", 12365, c => c.WithRouteConfig(RouteConfig.RegisterRoutes)); builder.RegisterInstance(selenoHost).AsSelf().SingleInstance(); builder.RegisterType <BrowserHost>().AsSelf(); }
static Host() { Instance = new SelenoHost(); Instance.Run("WebApplication", 7055); Instance.Application.Browser.Manage().Window.Maximize(); Thread.Sleep(5000); //new code changes //Instance.Run("WebApplication", 54881, configure => configure.WithRouteConfig(WebApplication.RouteConfig.RegisterRoutes).WithMinimumWaitTimeoutOf(System.TimeSpan.FromSeconds(3))); }
public void FixtureSetup() { _host = new SelenoHost(); _host.Run(x => x .UsingDomCapture(DomCaptureFolderPath) .WithWebServer(new InternetWebServer("https://www.google.com/")) .WithMinimumWaitTimeoutOf(TimeSpan.FromMilliseconds(100)) .UsingLoggerFactory(new ConsoleFactory(LoggerLevel.Debug)) ); }
public void GivenAUserIsntRegistered_WhenRegisteringThem_TheyEndUpBackOnTheHomepageAndLoggedIn() { var page = SelenoHost.NavigateToInitialPage <HomePage>() .GoToRegisterPage() .RegisterUser(ObjectMother.NewUser); Assert.That(page.Title, Is.EqualTo("Home")); Assert.That(page.LoginPanel.IsLoggedIn, Is.True); Assert.That(page.LoginPanel.LoggedInUserName, Is.EqualTo(ObjectMother.NewUser.UserName)); }
public void FixtureSetup() { _host = new SelenoHost(); _host.Run(x => x .UsingCamera(@"c:\screenshots") .WithWebServer(new InternetWebServer("http://www.google.com/")) .WithMinimumWaitTimeoutOf(TimeSpan.FromMilliseconds(100)) .UsingLoggerFactory(new ConsoleFactory(LoggerLevel.Debug)) ); }
public void Dispose() { if (_selenoHost == null || _selenoHost.Application == null) { return; } _selenoHost.Dispose(); _selenoHost = null; }
public void Function_correctly_with_checkbox_and_radio_lists() { var enteredViewModel = ObjectMother.ModelBindingViewModels.BasicValid; var page = SelenoHost.NavigateToInitialPage <HomePage>() .GoToModelBindingExamplePage2() .Submit(enteredViewModel); Assert.That(page.GetFormValues(), IsSame.ViewModelAs(enteredViewModel)); Assert.That(page.HasValidationErrors(), Is.False, "There are validation errors on the page"); }
private static void RunIisExpress() { var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SelenoScreenShots"); _instance = new SelenoHost(); _instance.Run("NGL.Web", 12345, c => c.WithRouteConfig(RouteConfig.RegisterRoutes) .UsingControlIdGenerator(new MvcControlIdGenerator()) .WithEnvironmentVariable("ConnectionString", DatabaseManager.ConnectionString) .UsingCamera(filePath)); }
public void Closing_SelenoHost_should_close_child_browser(string driverName) { Process.GetProcessesByName(driverName).ForEach(StopProcess); var selenoHost = new SelenoHost(); Func<RemoteWebDriver> driver = GetBrowserFactory(driverName); selenoHost.Run("TestStack.Seleno.AcceptanceTests.Web", 12346, c => c.WithRemoteWebDriver(driver)); Process.GetProcessesByName(driverName).Length.Should().Be(1); selenoHost.Dispose(); Process.GetProcessesByName(driverName).Should().BeEmpty(); }
public void RunTest() { using (var host = new SelenoHost()) { host.Run( x => x.WithRemoteWebDriver(() => WebDriver) .WithWebServer(new InternetWebServer("http://www.google.com/"))); var title = host.NavigateToInitialPage <Page>().Title; Assert.That(title, Is.EqualTo("Google")); } }
public void RunTest() { using (var host = new SelenoHost()) { host.Run( x => x.WithRemoteWebDriver(() => WebDriver) .WithWebServer(new InternetWebServer("http://www.google.com/"))); var title = host.NavigateToInitialPage<Page>().Title; Assert.That(title, Is.EqualTo("Google")); } }
public void Closing_SelenoHost_should_close_child_browser(string driverName) { Process.GetProcessesByName(driverName).ForEach(StopProcess); var selenoHost = new SelenoHost(); Func <RemoteWebDriver> driver = GetBrowserFactory(driverName); selenoHost.Run("TestStack.Seleno.AcceptanceTests.Web", 12346, c => c.WithRemoteWebDriver(driver)); Process.GetProcessesByName(driverName).Length.Should().Be(1); selenoHost.Dispose(); Process.GetProcessesByName(driverName).Should().BeEmpty(); }
public void Closing_SelenoHost_should_close_Iis_Express() { PatientlyStopProcess(IisExpress); Process.GetProcessesByName("chromedriver").ForEach(StopProcess); var selenoHost = new SelenoHost(); selenoHost.Run("TestStack.Seleno.AcceptanceTests.Web", 12346, c => c.WithRemoteWebDriver(BrowserFactory.Chrome)); Process.GetProcessesByName(IisExpress).Length.Should().Be(1); selenoHost.Dispose(); Process.GetProcessesByName("chromedriver").Should().BeEmpty(); Process.GetProcessesByName(IisExpress).Should().BeEmpty(); }
public void Can_buy_an_Album_when_registered() { var orderedPage = SelenoHost.NavigateToInitialPage <HomeController, HomePage>(x => x.Index()) .Menu .GoToAdminForAnonymousUser() .GoToRegisterPage() .CreateValidUser(ObjectMother.CreateRegisterModel()) .GenreMenu .SelectGenreByName("Disco") .SelectAlbumByName("Le Freak") .AddAlbumToCart() .Checkout() .SubmitShippingInfo(ObjectMother.CreateShippingInfo(), "Free"); orderedPage.Title.Should().Be("Checkout Complete"); }
public void Can_buy_an_Album_when_registered() { var homepage = SelenoHost.NavigateToInitialPage <HomeController, HomePage>(x => x.Index()); var registerPage = homepage .GoToAdminForAnonymousUser() .GoToRegisterPage(); registerPage.Username = "******"; registerPage.Email = "*****@*****.**"; registerPage.Password = "******"; registerPage.ConfirmPassword = "******"; homepage = registerPage.SubmitRegistration(); var orderedPage = PlaceOrder(homepage); orderedPage.Title.Should().Be("Checkout Complete"); }
internal void Initalise() { switch (RunProfile) { case RunProfile.Remote: DesiredCapabilities capability = PopulateCapabilities(); SetBrowserStackCredentials(capability); Browser = new RemoteWebDriver(new Uri(browserStackBrowserUri), capability); var selenoHost = new SelenoHost(); selenoHost.Run(config => { config .WithRemoteWebDriver(() => Browser) .WithWebServer(new InternetWebServer(RootUrl)); }); Seleno = selenoHost; Seleno.Application.Browser.Manage().Window.Maximize(); break; case RunProfile.Owasp: var zapHost = ConfigurationManager.AppSettings["zapHost"]; var zapPort = ConfigurationManager.AppSettings["zapPort"]; Proxy proxy = new Proxy { SslProxy = $"{zapHost}:{zapPort}", HttpProxy = $"{zapHost}:{zapPort}", FtpProxy = $"{zapHost}:{zapPort}", }; Seleno = LocalBrowserHost.GetInstanceFor(BrowserName, RootUrl, proxy); RootUrl = Seleno.Application.WebServer.BaseUrl; break; case RunProfile.Local: default: Seleno = LocalBrowserHost.GetInstanceFor(BrowserName, RootUrl); RootUrl = Seleno.Application.WebServer.BaseUrl; Seleno.Application.Browser.Manage().Window.Maximize(); break; } }
public static SelenoHost GetInstanceFor(string key, string remoteRootUrl, Proxy proxy = null) { int counter = 0; if (!localSelenoInstances.ContainsKey(key)) { var instance = new SelenoHost(); if (InitiateInstance(instance, key, remoteRootUrl, proxy)) { localSelenoInstances.GetOrAdd(key, instance); } else { if (counter < 3) { counter++; Thread.Sleep(30000); GetInstanceFor(key, remoteRootUrl, proxy); } } } return(localSelenoInstances[key]); }
public void Given_browser_is_on_a_page() { Page = SelenoHost.NavigateToInitialPage <HomePage>(); }
public WebUiDriver(SelenoHost host) { Host = host; }
public void When_I_navigate_to_the_Movie_List_page() { _page = SelenoHost.NavigateToInitialPage <MoviesController, MovieListPage>(x => x.Index()); }
protected void Given_a_filled_in_form() { Page = SelenoHost .NavigateToInitialPage <HomePage>() .GoToWriteModelPage(); }
public void SetUp() { _selenoHost = new SelenoHost(); _browserConfiguration = new BrowserConfiguration(); _sut = Substitute.ForPartsOf <BrowserHost>(_selenoHost, _browserConfiguration); }
public void SetUp() { SelenoHost.Run("ChameleonForms.Example", 12345, c => c .WithMinimumWaitTimeoutOf(TimeSpan.FromSeconds(1)) ); }
public void Given_an_element_doesnt_exist_on_the_page() { _page = SelenoHost.NavigateToInitialPage <HomePage>() .GoToReadModelPage(); }
public BrowserHost(SelenoHost selenoHost, BrowserConfiguration browserConfiguration = null) { _selenoHost = selenoHost; Configuration = browserConfiguration ?? new BrowserConfiguration(); }