Пример #1
0
        /// <summary>
        /// Fixture constructor takes driver and configuration
        /// </summary>
        /// <param name="webDriver"></param>
        /// <param name="configuration"></param>
        public Fixture(IWebDriver webDriver, SeleniumFixtureConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }

            Initialize(webDriver, configuration);
        }
Пример #2
0
        private void SetupDependencyInjection(IWebDriver webDriver,
                                              SeleniumFixtureConfiguration configuration,
                                              DefaultFixtureConfiguration dataConfiguration)
        {
            Data = new SimpleFixture.Fixture(dataConfiguration);

            Data.Return(this);
            Data.Return(webDriver);
            Data.Return(configuration.BaseAddress).WhenNamed("BaseAddress");
            Data.Return(() => Data.Configuration.Locate <IConstraintHelper>());

            Driver = webDriver;

            Data.Behavior.Add((r, o) =>
            {
                if (o.GetType().IsValueType || o is string)
                {
                    return(o);
                }

                PageFactory.InitElements(webDriver, o);

                return(o);
            });

            Data.Behavior.Add(ImportPropertiesOnLocate);

            _actionProvider = new FixtureActionProvider(this);

            Data.Return(_actionProvider);

            if (Configuration.ExecuteValidate)
            {
                Data.Behavior.Add(ValidateBehavior);
            }

            Data.Export <AutoFillAction>().As <IAutoFillAction>();
            Data.Export <AutoFillAsActionProvider>().As <IAutoFillAsActionProvider>();
            Data.Export <ClearAction>().As <IClearAction>();
            Data.Export <ClickAction>().As <IClickAction>();
            Data.Export <DoubleClickAction>().As <IDoubleClickAction>();
            Data.Export <FillAction>().As <IFillAction>();
            Data.Export <GetAction>().As <IGetAction>();
            Data.Export <MouseMoveAction>().As <IMouseMoveAction>();
            Data.Export <NavigateAction>().As <INavigateAction>();
            Data.Export <SendToAction>().As <ISendToAction>();
            Data.Export <SwitchAction>().As <ISwitchToAction>();
            Data.Export <TakeScreenshotAction>().As <ITakeScreenshotAction>();
            Data.Export <WaitAction>().As <IWaitAction>();
            Data.Export <YieldsAction>().As <IYieldsAction>();
        }
Пример #3
0
        protected void Initialize(IWebDriver webDriver, SeleniumFixtureConfiguration configuration)
        {
            Configuration = configuration;

            var dataConfiguration = configuration.DataConfiguration;

            dataConfiguration.Export <ITypePropertySelector>(g => new SeleniumTypePropertySelector(g.Locate <IConstraintHelper>()));
            dataConfiguration.Export <IPropertySetter>(g => new Impl.PropertySetter());

            SetupDependencyInjection(webDriver, configuration, dataConfiguration);

            if (!(webDriver is IJavaScriptExecutor))
            {
                configuration.AlwaysWaitForAjax = false;
            }
        }