public static void Setup(TestContext testContext)
        {
            webDriverFactory = new WebDriverFactory();

            driver = webDriverFactory.CreateDriver(
                MajorWebDriver.Chrome,
                WindowSize.DefaultDesktop);

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddSingleton(driver)
            .AddSingleton(new PageOptions
            {
                Url = Startup.ServerUrl
            });

            pageObjectFactory = new PageObjectFactory(serviceCollection);

            widgetPage = pageObjectFactory.PreparePage <HomePage>()
                         .GoToWidget(
                "jQueryUI",
                "1.12",
                "TagEditor");

            tagEditor = pageObjectFactory.PrepareComponent(
                new TagEditorComponent <WidgetPage>(
                    By.CssSelector("#tageditor"),
                    driver,
                    widgetPage,
                    new TagEditorConfiguration()));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GeneralInformationComponent"/> class.
        /// </summary>
        /// <param name="selector">The selector.</param>
        /// <param name="pageObjectFactory">The page object factory.</param>
        /// <param name="driver">The driver.</param>
        public GeneralInformationComponent(By selector,
                                           IPageObjectFactory pageObjectFactory,
                                           IWebDriver driver)
            : base(selector, driver)
        {
            FullDescriptionComponent = new TinyMCEComponent(
                fullDescriptionSelector,
                pageObjectFactory,
                WrappedDriver,
                new TinyMCEOptions());

            ProductTagsComponent = new TagEditorComponent <GeneralInformationComponent>(
                productTagsSelector,
                WrappedDriver,
                this,
                new TagEditorConfiguration());

            AvailableEndDateComponent = new KDatePickerComponent <GeneralInformationComponent>(
                new KDatePickerConfiguration(),
                availableEndDateSelector,
                WrappedDriver,
                this);

            AvailableStartDateComponent = new KDatePickerComponent <GeneralInformationComponent>(
                new KDatePickerConfiguration(),
                availableStartDateSelector,
                WrappedDriver,
                this);
        }