/// <summary> /// Initializes a new instance of the <see cref="ListPageCustomerRowComponent"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> public ListPageCustomerRowComponent(By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(selector, driver) { this.pageObjectFactory = pageObjectFactory; }
public void TestSetup() { 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", "Accordian"); accordionComponent = pageObjectFactory.PrepareComponent( new AccordionComponent <WidgetPage>( new AccordionComponentOptions(), By.CssSelector("#accordion"), pageObjectFactory, driver, widgetPage)); }
/// <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); }
/// <summary> /// Initializes a new instance of the <see cref="ListPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public ListPage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, pageSettings.AdminBaseUrl, new UriTemplate("Product/List")) { this.basePage = basePage ?? throw new ArgumentNullException(nameof(basePage)); this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); ProductsGrid = new KGridComponent <IListPage>( new BaseKendoConfiguration(), By.CssSelector("#products-grid"), pageObjectFactory, WrappedDriver, this); SearchPanel = new SearchPanelComponent( By.CssSelector(".panel-search"), pageObjectFactory, WrappedDriver); }
/// <summary> /// Initializes a new instance of the <see cref="HeaderLinksComponent"/> class. /// </summary> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> public HeaderLinksComponent(IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(By.CssSelector(".header-links"), driver) { this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); }
/// <summary> /// Initializes a new instance of the <see cref="ListPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public ListPage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, new Uri(pageSettings.BaseUrl, "Admin/Customer/List")) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; CustomerRoles = new KMultiSelectComponent <IListPage>( By.CssSelector("#SelectedCustomerRoleIds"), WrappedDriver, new KMultiSelectConfiguration(), this); CustomersGrid = new KGridComponent <IListPage>( new BaseKendoConfiguration(), By.CssSelector("#customers-grid"), pageObjectFactory, WrappedDriver, this); ExportDropDownComponent = new DropDownComponent( By.CssSelector(".btn-group"), WrappedDriver); }
public void TestStartup() { driver = webDriverFactory.CreateDriver( MajorWebDriver.Chrome, WindowSize.DefaultDesktop); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(driver); serviceCollection.AddSingleton(new PageOptions { Url = Startup.ServerUrl }); pageObjectFactory = new PageObjectFactory(serviceCollection); var homePage = pageObjectFactory.PreparePage <HomePage>(); widgetPage = homePage.GoToWidget( "Bootstrap", "4.1", "NavsTab"); navsTabComponent = pageObjectFactory.PrepareComponent( new NavsTabComponent <WidgetPage>( By.CssSelector(".container.body-content"), Array.Empty <ILoadableComponent>(), driver, new NavsTabComponentConfiguration(), widgetPage)); }
/// <summary> /// Initializes a new instance of the <see cref="_CreateOrUpdatePage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <exception cref="ArgumentNullException"> /// basePage /// or /// pageObjectFactory /// </exception> public _CreateOrUpdatePage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(driver) { this.basePage = basePage ?? throw new ArgumentNullException(nameof(basePage)); this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); Tabs = new NavsTabComponent <_CreateOrUpdatePage>( By.CssSelector("#product-form"), new ILoadableComponent[] { }, WrappedDriver, new NavsTabComponentConfiguration { ActiveTabContentElementSelector = By.CssSelector(".tab-content .tab-pane.active"), ActiveTabHeaderElementSelector = By.CssSelector(".nav-tabs li.active"), ActiveTabHeaderNameSelector = By.CssSelector(".nav-tabs li.active"), TabContentElementsSelector = By.CssSelector(".tab-content .tab-pane"), TabHeaderElementsSelector = By.CssSelector(".nav-tabs li"), TabHeaderNamesSelector = By.CssSelector(".nav-tabs li") }, this); }
public void TestInitialize() { driver = WebDriverFactory.CreateDriver( MajorWebDriver.Chrome, WindowSize.DefaultDesktop); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(driver); serviceCollection.AddSingleton(new PageSettings { BaseUrl = new Uri("http://nopcommerce410.local/") }); pageObjectFactory = new PageObjectFactory(serviceCollection); var homePage = pageObjectFactory.PreparePage <PublicPO.Home.IHomePage>(); // Login and go to the admin page. this.homePage = homePage .Login("*****@*****.**", "admin") .AdminHeaderLinks .GoToAdmin(); mainHeaderComponent = this.homePage.NavigationBar; }
public void TestStartup() { driver = webDriverFactory.CreateDriver( MajorWebDriver.Chrome, WindowSize.DefaultDesktop); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(driver); serviceCollection.AddSingleton(new PageOptions { Url = Startup.ServerUrl }); pageObjectFactory = new PageObjectFactory(serviceCollection); var homePage = pageObjectFactory.PreparePage <HomePage>(); widgetPage = homePage.GoToWidget( "kendo", "2014.1.318", "KDatePicker"); kDatePicker = pageObjectFactory.PrepareComponent( new KDatePickerComponent <WidgetPage>( new KDatePickerConfiguration(), By.CssSelector("#datepicker"), driver, widgetPage)); }
/// <summary> /// Initializes a new instance of the <see cref="MenuComponent"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory">The pageObjectFactory.</param> /// <param name="driver">The driver.</param> public MenuComponent(By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(selector, driver) { this.pageObjectFactory = pageObjectFactory; }
/// <summary> /// Initializes a new instance of the <see cref="EditPage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public EditPage(IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver, new Uri(pageSettings.BaseUrl, "Admin"), new UriTemplate("Order/Edit/{id}")) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; InfoTab = new OrderDetailsInfoComponent( By.CssSelector("#tab-info"), WrappedDriver, this); Tabs = new NavsTabComponent <IEditPage>( By.CssSelector(".nav-tabs.nav"), new ILoadableComponent[] { InfoTab }, WrappedDriver, new NavsTabComponentConfiguration(), this); }
/// <summary> /// Initializes a new instance of the <see cref="OrderSummaryComponent"/> class. /// </summary> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> public OrderSummaryComponent( IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(By.CssSelector(".order-summary-content"), driver) { this.pageObjectFactory = pageObjectFactory; }
/// <summary> /// Initializes a new instance of the <see cref="CatalogTemplatePage"/> class. /// </summary> /// <param name="basePage">The base page.</param> /// <param name="driver">The driver.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="pageSettings">The page settings.</param> /// <param name="template">The template.</param> public CatalogTemplatePage( IBasePage basePage, IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings, UriTemplate template) : base(driver, pageSettings.BaseUrl, template) { this.basePage = basePage; this.pageObjectFactory = pageObjectFactory; CategoriesComponent = new CatalogBlockComponent( categoryNavigationSelector, WrappedDriver); ManufacturersComponent = new CatalogBlockComponent( manufacturerSelector, WrappedDriver); PopularTagsComponent = new CatalogBlockComponent( popularTagsSelector, WrappedDriver); }
public void TestStartup() { driver = WebDriverFactory.CreateDriver( MajorWebDriver.Chrome, WindowSize.DefaultDesktop); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(driver) .AddSingleton(new PageOptions { Url = Startup.ServerUrl }); pageObjectFactory = new PageObjectFactory(serviceCollection); pageObjectFactory.PreparePage <HomePage>() .GoToWidget( "TinyMCE", "4.0", "TinyMCE"); tinyMCE = pageObjectFactory.PrepareComponent( new TinyMCEComponent( By.CssSelector("textarea"), pageObjectFactory, driver, new TinyMCEOptions())); menu = tinyMCE.Menu; }
/// <summary> /// Initializes a new instance of the <see cref="OrderSummaryRowComponent"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> public OrderSummaryRowComponent(By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(selector, driver) { this.pageObjectFactory = pageObjectFactory; }
/// <summary> /// Initializes a new instance of the <see cref="AccordionComponent{T}"/> class. /// </summary> /// <param name="accordianComponentOptions">The options.</param> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="parent">The parent.</param> public AccordionComponent( AccordionComponentOptions accordianComponentOptions, By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver, T parent) : base(selector, driver, parent) { this.accordianComponentOptions = accordianComponentOptions ?? throw new ArgumentNullException(nameof(accordianComponentOptions)); this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); // Validate the 'Event' property on the accordianComponentOptions. var supportedEvents = new[] { "mouseover", "click" }; if (!supportedEvents.Contains(accordianComponentOptions.Event)) { throw new NotImplementedException(nameof(accordianComponentOptions.Event)); } }
public void TestInitialize() { driver = WebDriverFactory.CreateDriver( MajorWebDriver.Chrome, WindowSize.DefaultDesktop); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(driver); serviceCollection.AddSingleton(new PageSettings { BaseUrl = new Uri("http://nopcommerce410.local/") }); pageObjectFactory = new PageObjectFactory(serviceCollection); var homePage = pageObjectFactory.PreparePage <IHomePage>(); // This verifies that there are at least two products in the cart. cartPage = homePage .Login("*****@*****.**", "admin") .Search("adidas consortium") .GetResults() .First() .GoToProductPage() .SetAttribute( term => { return(term.TextHelper().InnerText.StartsWith( "size", StringComparison.OrdinalIgnoreCase)); }, detail => { var select = new SelectElement( detail.FindElement( By.CssSelector("select"))); select.SelectByIndex(2); }) .AddToCart() .SetAttribute( term => { return(term.TextHelper().InnerText.StartsWith( "color", StringComparison.OrdinalIgnoreCase)); }, detail => { var blueColor = detail.FindElement( By.CssSelector("li:nth-child(2) label")); blueColor.Click(); }) .SetQuantity(4) .AddToCart() .GoToShoppingCart(); orderSummary = cartPage.OrderSummary; }
public void TestStartup() { driver = webDriverFactory.CreateDriver( MajorWebDriver.Chrome, WindowSize.DefaultDesktop); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(driver); serviceCollection.AddSingleton(new PageOptions { Url = Startup.ServerUrl }); pageObjectFactory = new PageObjectFactory(serviceCollection); var homePage = pageObjectFactory.PreparePage<HomePage>(); widgetPage = homePage.GoToWidget( "kendo", "2014.1.318", "KDropDown"); kDropDownComponent = new KDropDownComponent<WidgetPage>( new BaseKendoConfiguration { ControlWithKeyboardInsteadOfMouse = true, DataSource = new DataSourceOptions() }, By.CssSelector("#dropdown"), driver, new KDropDownAnimationOptions(), widgetPage); }
/// <summary> /// Initializes a new instance of the <see cref="AdminMainSideBarComponent"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> public AdminMainSideBarComponent(By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(selector, driver) { this.pageObjectFactory = pageObjectFactory; }
public void TestInitialize() { driver = WebDriverFactory.CreateDriver( MajorWebDriver.Chrome, WindowSize.DefaultDesktop); var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(driver); serviceCollection.AddSingleton(new PageSettings { BaseUrl = new Uri("http://nopcommerce410.local/") }); pageObjectFactory = new PageObjectFactory(serviceCollection); var loginPage = pageObjectFactory.PreparePage <PublicPO.Customer.ILoginPage>(); // Login and go to the admin page. Then go to the admin customers // list page. editPage = loginPage .Login("*****@*****.**", "password") .AdminHeaderLinks .GoToAdmin() .MainSideBar .GetItems() .First(i => i.GetName() == "Customers") .Expand() .GetItems() .First(i => i.GetName() == "Customers") .Select <AdminPO.Customers.IListPage>() .GetListedCustomers() .First() .Edit(); }
public void TestSetup() { 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( "Bootstrap", "4.1", "Collapsable"); collaspableComponent = pageObjectFactory.PrepareComponent( new CollapsableComponent <WidgetPage>( new CollapsableOptions( By.CssSelector("#multiCollapseExample1"), new[] { By.CssSelector("#toggle-first") }), driver, widgetPage)); }
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())); }
public void FluidTest() { var factory = new WebDriverFactory(); var driver = factory.CreateDriver( MajorWebDriver.Chrome, WindowSize.DefaultDesktop); pageObjectFactory = new PageObjectFactory(driver); using (driver) { pageObjectFactory .StartWithPage <IMockAPage>() .ContinueWithPage <IMockAPage, IMockBPage>( pageA => { var searchBar = new InputElement( pageA.WrappedDriver.FindElement( By.CssSelector("*[name='q']"))); searchBar.SetValue("Testing 1 2 3"); searchBar.SendKeys(Keys.Enter); }, pageA => pageObjectFactory.PreparePage <IMockBPage>()) .ContinueWithPage <IMockBPage, IMockDPage>( pageB => { Console.WriteLine("Testing with IMockB."); }, pageB => { var pageA = pageObjectFactory.PreparePage <IMockAPage>(); var pageD = new MockDPage(pageA, pageB, pageObjectFactory, pageB.WrappedDriver); pageD.Load( new Dictionary <string, string> { { "q", "selenium" } }); return(pageD); }) .ContinueWithPage <IMockDPage>( pageC => { Console.WriteLine("Testing with IMockC."); pageC.WrappedDriver .Navigate() .GoToUrl("https://www.google.com/search?q=testing"); Console.WriteLine("Should not reach here."); throw new InternalTestFailureException(); }); } }
/// <summary> /// Initializes a new instance of the <see cref="ButtonGroupMenuItemComponent"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory"></param> /// <param name="driver">The driver.</param> public ButtonGroupMenuItemComponent(By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(selector, pageObjectFactory, driver) { this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); }
/// <summary> /// Initializes a new instance of the <see cref="ListPageProductRowComponent"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> public ListPageProductRowComponent(By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(selector, driver) { this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); }
/// <summary> /// Initializes a new instance of the <see cref="BasePage"/> class. /// </summary> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public BasePage(IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(driver) { this.pageObjectFactory = pageObjectFactory; this.pageSettings = pageSettings; }
/// <summary> /// Initializes a new instance of the <see cref="_CreateOrUpdateImpersonateComponent"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> public _CreateOrUpdateImpersonateComponent(By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(selector, driver) { this.pageObjectFactory = pageObjectFactory; }
/// <summary> /// Initializes a new instance of the <see cref="SearchPanelComponent"/> class. /// </summary> /// <param name="selector">The selector.</param> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> public SearchPanelComponent(By selector, IPageObjectFactory pageObjectFactory, IWebDriver driver) : base(selector, driver) { this.pageObjectFactory = pageObjectFactory ?? throw new ArgumentNullException(nameof(pageObjectFactory)); }
/// <summary> /// Initializes a new instance of the <see cref="AdminHeaderLinksComponent"/> class. /// </summary> /// <param name="pageObjectFactory">The page object factory.</param> /// <param name="driver">The driver.</param> /// <param name="pageSettings">The page settings.</param> public AdminHeaderLinksComponent( IPageObjectFactory pageObjectFactory, IWebDriver driver, PageSettings pageSettings) : base(By.CssSelector(".admin-header-links"), driver) { this.pageSettings = pageSettings; this.pageObjectFactory = pageObjectFactory; }
public PageObjectC(IWebElement webElement, IPageObjectFactory pageFactory) { WebElement = webElement; PageFactory = pageFactory; }