예제 #1
0
        Task ISubSystem.Start()
        {
            return(Task.Factory.StartNew(() => {
                var settings = StoryTellerEnvironment.Get <SerenityEnvironment>();
                WebDriverSettings.Import(settings);

                FubuMvcPackageFacility.PhysicalRootPath = _settings.PhysicalPath;
                _runtime = _runtimeSource();


                var browserLifecycle = WebDriverSettings.GetBrowserLifecyle(ChooseBrowserType());
                _hosting = _settings.RootUrl.IsEmpty() ? (ISerenityHosting) new KatanaHosting() : new ExternalHosting();

                _application = _hosting.Start(_settings, _runtime, browserLifecycle);
                _applicationAlterations.Each(x => x(_application));

                _binding = _application.Services.GetInstance <BindingRegistry>();
                _bindingRegistrations.Each(x => x(_binding));

                configureApplication(_application, _binding);

                _contextualProviders = _runtime.Factory.GetAll <IContextualInfoProvider>();


                _runtime.Facility.Register(typeof(IApplicationUnderTest), ObjectDef.ForValue(_application));
                _runtime.Facility.Register(typeof(IRemoteSubsystems), ObjectDef.ForValue(this));
            }));
        }
예제 #2
0
        protected override IWebDriver constructDriver()
        {
            var fileSystem = new FileSystem();
            var settings   = StoryTellerEnvironment.Get <SerenityEnvironment>();

            return(fileSystem.FileExists(settings.WorkingDir, File)
                ? new ChromeDriver(settings.WorkingDir)
                : new ChromeDriver());
        }
예제 #3
0
        protected override IWebDriver constructDriver()
        {
            var fileSystem = new FileSystem();
            var settings   = StoryTellerEnvironment.Get <SerenityEnvironment>();

            if (fileSystem.FileExists(settings.WorkingDir, File))
            {
                return(new PhantomJSDriver(settings.WorkingDir));
            }

            return(new PhantomJSDriver(AppDomain.CurrentDomain.BaseDirectory));
        }
        protected EmbeddedBrowserLifecycle()
        {
            var settings = StoryTellerEnvironment.Get <SerenityEnvironment>();

            _extractor = new EmbeddedDriverExtractor <TEmbeddedDriver>(settings, new FileSystem());
        }