public static NgWebDriver GetWebDriver() { var driver = new NgWebDriver(CreateDriver()); driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(20)); return driver; }
public string ExecuteJavascriptWithReturn(NgWebDriver driver, string script) { IJavaScriptExecutor js = driver.WrappedDriver as IJavaScriptExecutor; string ret = (string)js.ExecuteScript(script); return ret; //return (string)js.ExecuteScript(script); }
public LoginPage(NgWebDriver driver, string url) { _ngDriver = driver; _ngDriver.Url = url; ClearLocalStorage(); }
public void Customers_View_ByDefault() { IWebDriver ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58918/"); Assert.IsTrue(ngDriver.Url.EndsWith("#/customers")); }
public void DeleteCustomerOnCardView() { NgMockE2EModule mockModule = new NgMockE2EModule(@" $httpBackend.whenGET(/^\/app\/partials\//).passThrough(); $httpBackend.whenGET(/^\/app\/views\//).passThrough(); $httpBackend.whenGET('\/api/dataservice/customersSummary?$top=10&$skip=0').respond( // status 200, // body [ { id:1, firstName:'Marcus', lastName:'HighTower', city:'Phoenix', state: { id:1, abbreviation:'AZ', name:' Arizona' }, orderCount:6, gender:'Male' }, { id:2, firstName:'Dan', lastName:'Wahlin', city:'Chandler', state:{ id:1, abbreviation:'AZ', name:' Arizona' }, orderCount:5, gender:'Male' } ], // headers { 'X-InlineCount': 2 } );" ); var ngDriver = new NgWebDriver(driver, mockModule); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var customersPage = new CustomersPage(ngDriver); Assert.AreEqual(2, customersPage.GetCustomersCount()); Assert.AreEqual("Showing 2 of 2 total customers", customersPage.GetFooterText()); // Delete Dan (sorry...) customersPage.DeleteCustomer(2).ConfirmDelete(); Assert.AreEqual(1, customersPage.GetCustomersCount()); Assert.AreEqual("Showing 1 of 1 total customers", customersPage.GetFooterText()); // Fail! }
public void CustomersViewByDefault() { IWebDriver ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58000/"); // Assert default view is 'customers' Assert.IsTrue(ngDriver.Url.EndsWith("#/customers")); }
public MainMenuPage(NgWebDriver driver) : base(driver, null) { // Uncomment this out if you want to clear the cache. //ClearCacheCmd.ClearCache(driver); _nav = _ngDriver.FindElement(By.CssSelector(".nav.navbar-nav")); _navbar = _ngDriver.FindElement(By.CssSelector(".nav.navbar-nav")); }
public void CardViewByDefault() { var ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var customersPage = new CustomersPage(ngDriver); Assert.IsTrue(customersPage.IsCardViewSelected()); }
public void CardViewByDefault() { IWebDriver ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); // Assert 'card view' is selected Assert.IsTrue(ngDriver.FindElement(By.ClassName("cardContainer")).Displayed); Assert.IsFalse(ngDriver.FindElement(By.ClassName("gridContainer")).Displayed); }
public CustomerOrdersPage(NgWebDriver driver) { ngDriver = driver; if (!ngDriver.Url.Contains("#/customerorders/")) { throw new InvalidOperationException("This is not the customer orders page"); } }
public void PeopleTitle() { using (IWebDriver wdriver = new NgWebDriver(new ChromeDriver(@"dependencies"))) { wdriver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(5)); wdriver.Navigate().GoToUrl(baseUrl + "people"); Assert.AreEqual(wdriver.Title, "ui.core: people"); wdriver.Quit(); } }
private static IWebDriver SetAngularProctractorDriver(IWebDriver driver) { driver = new NgWebDriver(driver); driver.Manage() .Timeouts() .SetPageLoadTimeout(TimeSpan.FromSeconds(Configuration.Instance.Selenium.ProtractorTimeOut)); driver.Manage() .Timeouts() .SetScriptTimeout(TimeSpan.FromSeconds(Configuration.Instance.Selenium.ProtractorTimeOut)); return driver; }
public IWebDriver CreateWebDriver() { var driver = new ChromeDriver(); driver.Manage().Window.Maximize(); driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(15)); driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(15)); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5)); var _ngDriver = new NgWebDriver(driver); //_ngDriver.IgnoreSynchronization = true; return _ngDriver; }
public void ShowTop10Customers() { IWebDriver ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); IWebElement cardElement = ngDriver.FindElement(By.ClassName("cardContainer")); var customers = cardElement.FindElements(NgBy.Repeater("customer in filteredCustomers")); Assert.AreEqual(10, customers.Count); IWebElement footer = ngDriver.FindElement(NgBy.Binding("totalRecords")); Assert.AreEqual("Showing 10 of 23 total customers", footer.Text); }
public void Run() { ChromeOptions options = new ChromeOptions(); //options.AddExtension(); if (true) { _webDriver = new ChromeDriver( options); _webDriver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(10)); } NgWebDriver = new NgWebDriver(_webDriver); }
public void Switch_to_List_view() { IWebDriver ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58918/#/customers"); IWebElement listViewMenu = ngDriver.FindElement(By.XPath("//ul//li[contains(.,'List View')]")); Assert.IsFalse(listViewMenu.GetAttribute("class").Contains("active")); listViewMenu.Click(); Assert.IsFalse(ngDriver.FindElement(By.ClassName("cardContainer")).Displayed); Assert.IsTrue(ngDriver.FindElement(By.ClassName("gridContainer")).Displayed); Assert.IsTrue(listViewMenu.GetAttribute("class").Contains("active")); }
public CustomersPage(NgWebDriver driver) { ngDriver = driver; if (!ngDriver.Url.EndsWith("#/customers")) { throw new InvalidOperationException("This is not the customers page"); } cardViewButtonElement = ngDriver.FindElement(By.XPath("//ul[@class='nav']//li[contains(.,'Card View')]")); cardViewElement = ngDriver.FindElement(By.ClassName("cardContainer")); listViewButtonElement = ngDriver.FindElement(By.XPath("//ul[@class='nav']//li[contains(.,'List View')]")); listViewElement = ngDriver.FindElement(By.ClassName("gridContainer")); }
public void ShowCustomerOrders() { var ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var customerOrdersPage = new CustomersPage(ngDriver).GoToCustomerOrders(2); Assert.AreEqual("Dan Wahlin", customerOrdersPage.GetCustomerName()); Assert.AreEqual(5, customerOrdersPage.GetOrdersCount()); }
public void ShouldFilter() { var ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var customersPage = new CustomersPage(ngDriver); Assert.AreEqual(4, customersPage.Filter("Wahlin").GetCustomersCount()); // Fail! }
//ngDriver setup public PackagesPageObjects(IWebDriver driver, string url) { ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl(url); }
/// <summary> /// Creates a new instance of <see cref="NgNavigation"/> by wrapping a <see cref="INavigation"/> instance. /// </summary> /// <param name="ngDriver">The <see cref="NgWebDriver"/> in use.</param> /// <param name="navigation">The existing <see cref="INavigation"/> instance.</param> public NgNavigation(NgWebDriver ngDriver, INavigation navigation) { this.ngDriver = ngDriver; this.navigation = navigation; }
/// <summary> /// Creates a new instance of <see cref="NgWebElement"/> by wrapping a <see cref="IWebElement"/> instance. /// </summary> /// <param name="ngDriver">The <see cref="NgWebDriver"/> in use.</param> /// <param name="element">The existing <see cref="IWebElement"/> instance.</param> public NgWebElement(NgWebDriver ngDriver, IWebElement element) { this.ngDriver = ngDriver; this.element = element; }
public SuperCalculatorPage(IWebDriver driver, string url) { _ngDriver = new NgWebDriver(driver); _ngDriver.Url = url; }
/// <summary> /// Creates a new instance of <see cref="NgNavigation" /> by wrapping a <see cref="INavigation" /> instance. /// </summary> /// <param name="ngDriver">The <see cref="NgWebDriver" /> in use.</param> /// <param name="navigation">The existing <see cref="INavigation" /> instance.</param> public NgNavigation(NgWebDriver ngDriver, INavigation navigation) { NgDriver = ngDriver; WrappedNavigation = navigation; }
public void DeleteCustomerOnCardView() { NgMockE2EModule mockModule = new NgMockE2EModule(@" $httpBackend.whenGET(/^\/app\/partials\//).passThrough(); $httpBackend.whenGET(/^\/app\/views\//).passThrough(); $httpBackend.whenGET('\/api/dataservice/customersSummary?$top=10&$skip=0').respond( // status 200, // body [ { id:1, firstName:'Marcus', lastName:'HighTower', city:'Phoenix', state: { id:1, abbreviation:'AZ', name:' Arizona' }, orderCount:6, gender:'Male' }, { id:2, firstName:'Dan', lastName:'Wahlin', city:'Chandler', state:{ id:1, abbreviation:'AZ', name:' Arizona' }, orderCount:5, gender:'Male' } ], // headers { 'X-InlineCount': 2 } );" ); var ngDriver = new NgWebDriver(driver, mockModule); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var cardElement = ngDriver.FindElement(By.ClassName("cardContainer")); var footer = ngDriver.FindElement(NgBy.Binding("totalRecords")); Assert.AreEqual("Showing 2 of 2 total customers", footer.Text); var customers = cardElement.FindElements(NgBy.Repeater("customer in filteredCustomers")); Assert.AreEqual(2, customers.Count); // Delete Dan (sorry...) foreach (var customer in customers) { if ((long)customer.Evaluate("customer.id") == 2) { // Close card customer.FindElement(By.ClassName("cardClose")).Click(); // Popup to confirm ngDriver.FindElement(By.XPath("//button[contains(.,'Delete Customer')]")).Click(); break; } } Assert.AreEqual(1, cardElement.FindElements(NgBy.Repeater("customer in filteredCustomers")).Count); Assert.AreEqual("Showing 1 of 1 total customers", footer.Text); // Fail! }
public PageObjectBase(NgWebDriver driver, string url) { _ngDriver = driver; if (url != null) { _ngDriver.Url = url; } }
/// <summary> /// Creates a new instance of <see cref="NgWebElement" /> by wrapping a <see cref="IWebElement" /> instance. /// </summary> /// <param name="ngDriver">The <see cref="NgWebDriver" /> in use.</param> /// <param name="element">The existing <see cref="IWebElement" /> instance.</param> public NgWebElement(NgWebDriver ngDriver, IWebElement element) { NgDriver = ngDriver; WrappedElement = element; }
public void ShowTop10Customers() { var ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var customersPage = new CustomersPage(ngDriver); Assert.AreEqual(10, customersPage.GetCustomersCount()); IWebElement footer = ngDriver.FindElement(NgBy.Binding("totalRecords")); Assert.AreEqual("Showing 10 of 23 total customers", footer.Text); }
public void SwitchToListView() { var ngDriver = new NgWebDriver(driver); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var customersPage = new CustomersPage(ngDriver); customersPage.SwitchToListView(); Assert.IsTrue(customersPage.IsListViewSelected()); }
public void SelectAll(NgWebDriver driver) { Actions action = new Actions(driver.WrappedDriver); IAction chord = action.KeyDown(_ele.WrappedElement, OpenQA.Selenium.Keys.Control) .SendKeys("a") .KeyUp(_ele.WrappedElement, OpenQA.Selenium.Keys.Control) .Build(); chord.Perform(); }
public void NoCustomersOnCardView() { NgMockE2EModule mockModule = new NgMockE2EModule(@" $httpBackend.whenGET(/^\/app\/partials\//).passThrough(); $httpBackend.whenGET(/^\/app\/views\//).passThrough(); $httpBackend.whenGET('\/api/dataservice/customersSummary?$top=10&$skip=0').respond( // status 200, // body [], // headers { 'X-InlineCount': 0 } );" ); var ngDriver = new NgWebDriver(driver, mockModule); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var customersPage = new CustomersPage(ngDriver); Assert.AreEqual(0, customersPage.GetCustomersCount()); Assert.AreEqual("No customers found", customersPage.GetFooterText()); }
public void NoCustomersOnCardView() { NgMockE2EModule mockModule = new NgMockE2EModule(@" $httpBackend.whenGET(/^\/app\/partials\//).passThrough(); $httpBackend.whenGET(/^\/app\/views\//).passThrough(); $httpBackend.whenGET('\/api/dataservice/customersSummary?$top=10&$skip=0').respond( // status 200, // body [], // headers { 'X-InlineCount': 0 } );" ); var ngDriver = new NgWebDriver(driver, mockModule); ngDriver.Navigate().GoToUrl("http://localhost:58000/#/customers"); var cardElement = ngDriver.FindElement(By.ClassName("cardContainer")); Assert.AreEqual(0, cardElement.FindElements(NgBy.Repeater("customer in filteredCustomers")).Count); Assert.IsTrue(ngDriver.FindElement(By.XPath("//h4[contains(.,'No customers found')]")).Displayed); }
private IWebDriver GetDriver(DriverTypes type) { IWebDriver driver = null; switch (type) { case DriverTypes.IE: driver = new InternetExplorerDriver( new InternetExplorerOptions { UnexpectedAlertBehavior = InternetExplorerUnexpectedAlertBehavior.Default, EnableNativeEvents = true, //ForceCreateProcessApi = true, //BrowserCommandLineArguments = "-private", EnsureCleanSession = true }); driver = new NgWebDriver(driver); break; case DriverTypes.Chrome: ChromeOptions options = new ChromeOptions(); options.AddArgument("--disable-plugins"); driver = new ChromeDriver(options); driver = new NgWebDriver(driver); break; } ((NgWebDriver)driver).IgnoreSynchronization = true; return driver; }