public void CountrySortingTest() { AdminHomePage homePage = LoginPage.LoginToAdmin(); homePage.GoToCountries(); // verify that countries have orrect order var listOfCountriesForSorting = homePage.GetAllCountries(); listOfCountriesForSorting.Sort(); var listOfCountriesUnsorted = homePage.GetAllCountries(); Assert.AreEqual(listOfCountriesForSorting, listOfCountriesUnsorted); var listOfCountriesNames = new List <string>(); var listOfZonesIndex = new List <string>(); var rowsFull = driver.FindElements(By.CssSelector(".dataTable .row")); foreach (var webElement in rowsFull) { listOfCountriesNames.Add(webElement.FindElement(By.CssSelector("td:nth-of-type(5) a")).GetAttribute("innerText")); listOfZonesIndex.Add(webElement.FindElement(By.CssSelector("td:nth-of-type(6)")).Text); } // var listOfZoneIndexes = listOfZones.Select((s,i) =>new{s,i}).Where(p => p.s != "0").Select(p=>p.i).ToList(); var listOfIndexesWithZones = new List <int>(); // above string doing same sorting for (int i = 0; i < listOfZonesIndex.Count; i++) { if (listOfZonesIndex[i] != "0") { listOfIndexesWithZones.Add(i); } } // find countries with zones var listOfCountriesWithZones = new List <string>(); for (int i = 0; i < listOfIndexesWithZones.Count; i++) { listOfCountriesWithZones.Add(listOfCountriesNames[listOfIndexesWithZones[i]]); } // verify that zones for every counrty have correct order of zones foreach (var country in listOfCountriesWithZones) { driver.FindElement(By.XPath(".//*[@class='dataTable']//a[text()='" + country + "']")).Click(); var listOfSybZonesForSorting = homePage.GetAllZonesFromSubZones(); listOfSybZonesForSorting.Sort(); var listOfSybZonesUnsorted = homePage.GetAllZonesFromSubZones(); Assert.AreEqual(listOfSybZonesForSorting, listOfSybZonesUnsorted); homePage.GoToCountries(); } }
public void LinksOpensInNewTabsTest() { AdminHomePage homePage = LoginPage.LoginToAdmin(); homePage.GoToCountries(); driver.FindElement(By.CssSelector(".button")).Click(); string maninWindow = driver.CurrentWindowHandle; var allExternalLinks = driver.FindElements(By.CssSelector(".fa.fa-external-link")); foreach (var link in allExternalLinks) { link.Click(); CloseNewWindowAndReturnToMain(maninWindow); } }
public void ProductsPageLoadsWithoutErrorsTest() { LoginPage.LoginToAdmin(); string CssProducts = "a[href*=\"edit_product&category_id\"]:not([title=\"Edit\"])"; string productsURL = "http://localhost/litecart/admin/?app=catalog&doc=catalog&category_id=1"; driver.Url = productsURL; var products = driver.FindElements(By.CssSelector(CssProducts)); for (int i = 0; i < products.Count; i++) { var nodes = driver.FindElements(By.CssSelector(CssProducts)); nodes[i].Click(); Assert.IsFalse(BrowserLogsHasErrors(), "the page has errors in logs"); driver.Url = productsURL; } }
public void GeoZonesSortingTest() { AdminHomePage homePage = LoginPage.LoginToAdmin(); homePage.GoToGeozones(); var geoZonesMainCount = driver.FindElements(By.XPath(".//*[@class='dataTable']//tr/td[3]/a")).Count; for (int i = 0; i < geoZonesMainCount; i++) { var zones = driver.FindElements(By.XPath(".//*[@class='dataTable']//tr/td[3]/a")); zones[i].Click(); var listOfZonesForSorting = homePage.GetAllZones(); listOfZonesForSorting.Sort(); var listOfZonesUnsorted = homePage.GetAllZones(); Assert.AreEqual(listOfZonesForSorting, listOfZonesUnsorted); homePage.GoToGeozones(); } }
public void AllMenuElementsTest() { AdminHomePage homePage = LoginPage.LoginToAdmin(); var mainNodesBlock = driver.FindElements(By.CssSelector(AdminHomePage.CssNodes)); for (int i = 0; i < mainNodesBlock.Count; i++) { var nodes = driver.FindElements(By.CssSelector(AdminHomePage.CssNodes)); nodes[i].Click(); Assert.IsTrue(this.IsElementPresent(By.CssSelector(AdminHomePage.CssHeader)), "element {0} was not found", AdminHomePage.CssHeader); var subNodesCount = driver.FindElements(By.CssSelector(AdminHomePage.CssSubNodes)).Count; if (subNodesCount != 0) { for (int j = 0; j < subNodesCount; j++) { var subNodes = driver.FindElements(By.CssSelector(AdminHomePage.CssSubNodes)); subNodes[j].Click(); Assert.IsTrue(this.IsElementPresent(By.CssSelector(AdminHomePage.CssHeader)), "element {0} was not found", AdminHomePage.CssHeader); } } } }
public void CanAddNewProductTest() { AdminHomePage homePage = LoginPage.LoginToAdmin(); homePage.GoToCatalog(); driver.FindElement(By.CssSelector(".button[href$=\"edit_product\"]")).Click(); var statusRadioEnabled = driver.FindElement(By.CssSelector("#tab-general label> [value=\"1\"]")); var name = driver.FindElement(By.CssSelector("[name=\"name[en]\"]")); var ubberDucksCheck = driver.FindElement(By.CssSelector("[data-name=\"Rubber Ducks\"]")); var uniSexCheck = driver.FindElement(By.CssSelector("[name=\"product_groups[]\"][value=\"1-3\"]")); var quantity = driver.FindElement(By.CssSelector("[name=\"quantity\"]")); var uploadImageBnt = driver.FindElement(By.CssSelector("[name=\"new_images[]\"]")); var dateFrom = driver.FindElement(By.CssSelector("[name=\"date_valid_from\"]")); var dateTo = driver.FindElement(By.CssSelector("[name=\"date_valid_to\"]")); string pathToImage = "E:\\SOS\\GitHub\\steam.png"; string productName = this.GenerateProductName(); var saveBtn = driver.FindElement(By.CssSelector("[name=\"save\"]")); // bool isSeleced = false; // if (!ubberDucksCheck.Selected) // { // ubberDucksCheck.Click(); // } statusRadioEnabled.Click(); name.SendKeys(productName); ubberDucksCheck.Click(); uniSexCheck.Click(); quantity.SendKeys("10"); uploadImageBnt.SendKeys(pathToImage); dateFrom.SendKeys("07-12-2016"); dateTo.SendKeys("07-12-2017"); // open Information tab var informationTab = driver.FindElement(By.CssSelector("[href=\"#tab-information\"]")); informationTab.Click(); var manufactirerCombo = driver.FindElement(By.CssSelector("[name=\"manufacturer_id\"]")); var supplierCombo = driver.FindElement(By.CssSelector("[name=\"supplier_id\"]")); var descriptionShort = driver.FindElement(By.CssSelector("[name=\"short_description[en]\"]")); var descriptionPane = driver.FindElement(By.CssSelector(".trumbowyg-editor")); var headTitle = driver.FindElement(By.CssSelector("[name=\"head_title[en]\"]")); manufactirerCombo.Click(); var options = driver.FindElements(By.CssSelector("[name=\"manufacturer_id\"] > option")); foreach (var option in options) { string text = option.GetAttribute("innerText"); if (text == "ACME Corp.") { option.Click(); break; } } string paneText = "Электрический камин Royal Flame 3D Etna VA -2683 с реалистичным 3D эффект горения.\r\n\r\nЗвук горения дров\r\nТермостат для регулирования заданной температуры в помещении\r\nПульт дистанционного управления\r\n"; descriptionShort.SendKeys("Short Sescription"); descriptionPane.SendKeys(paneText); headTitle.SendKeys("Head Title"); // open Prices tab var priceTab = driver.FindElement(By.CssSelector("[href=\"#tab-prices\"]")); priceTab.Click(); var purchasePrice = driver.FindElement(By.CssSelector("[name=\"purchase_price\"]")); var currencyCombo = driver.FindElement(By.CssSelector("[name=\"purchase_price_currency_code\"]")); var priceUsd = driver.FindElement(By.CssSelector("[name=\"prices[USD]\"]")); purchasePrice.SendKeys("1"); currencyCombo.Click(); var curencies = driver.FindElements(By.CssSelector("[name=\"purchase_price_currency_code\"]>option")); foreach (var item in curencies) { string text = item.GetAttribute("innerText"); if (text == "USD") { item.Click(); break; } } priceUsd.SendKeys("19"); saveBtn.Click(); Assert.IsTrue(AdminHomePage.IsProductPresent(productName), "product {0} was not found in catalog", productName); }
public void CanLoginWithValidCredentialsTest() { LoginPage.LoginToAdmin(); wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector(AdminHomePage.CssLitecartLogo))); }