public void Task17Test() { driver.Url = "http://localhost/litecart/admin/"; IWebElement element = wait.Until(d => d.FindElement(By.Name("username"))); driver.FindElement(By.Name("username")).SendKeys("admin"); IWebElement element2 = wait.Until(d => d.FindElement(By.Name("password"))); driver.FindElement(By.Name("password")).SendKeys("password123"); driver.FindElement(By.Name("login")).Click(); wait.Until(d => d.Title == "My Store"); driver.Url = catalogUrl; wait.Until(d => d.Title == "Catalog | My Store"); var count = driver.FindElements(By.CssSelector("tr.row [href*=edit]:not([title=Edit])")).Count; for (int i = 0; i < count; i++) { driver.FindElements(By.CssSelector("tr.row [href*=edit]:not([title=Edit])"))[i].Click(); wait.Until(d => d.Title.Contains("Edit Product")); foreach (var entry in driver.Manage().Logs.GetLog(LogType.Browser)) { Console.WriteLine("{0}:{1} - {2}", entry.Timestamp, entry.Level, entry.Message); } driver.Url = catalogUrl; wait.Until(d => d.Title == "Catalog | My Store"); } }
public static IWebElement GetElement(By by, int timeoutSeconds = 10) { WaitElement(by, timeoutSeconds); if (Driver.FindElements(by).Count > 0) { return(Driver.FindElement(by)); } return(null); }
private void OpenClosedFolders() { var closedFolders = _driver.FindElements(By.ClassName("fa-folder")); if (closedFolders.Count > 0) { var closedFolderLink = closedFolders[0].FindElement(By.XPath("./..//a")); closedFolderLink.Click(); OpenClosedFolders(); } }
public void Can_Add_Comment() { DatabaseHelper.ExecuteCommand("DELETE FROM Messages"); DatabaseHelper.ExecuteCommand("INSERT INTO Messages (Message) VALUES('foo'),('Bar')"); using (var driver = new EventFiringWebDriver(new ChromeDriver())) { driver.Navigate().GoToUrl("http://localhost/TDDDemoApp/"); var loadingWait = new WebDriverWait(driver, new TimeSpan(0, 0, 30)); loadingWait.Until(x => !x.FindElement(By.Id("message-loading")).Displayed); const string inputMessage = "this is my message"; var inputElement = driver.FindElement(By.Id("message-text-input")); inputElement.SendKeys(inputMessage); var buttonElement = driver.FindElement(By.Id("add-message-button")); buttonElement.Click(); var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 5)); wait.Until(x => string.IsNullOrEmpty(x.FindElement(By.Id("message-text-input")).Text)); Thread.Sleep(1000); var messages = driver.FindElements(By.TagName("blockquote")); Assert.That(messages.Any(x => x.Text.Contains(inputMessage))); } }
public void WhenIAddAMessageToItemInTheOrder(int item_no) { IWebElement order_details = driver.FindElement(By.Id("block-order-detail")); IWebElement product_selector = driver.FindElement(By.Name("id_product")); List <IWebElement> products_list = new List <IWebElement>(); products_list = driver.FindElements(By.TagName("option")).ToList(); try { Assert.IsTrue(item_no <= products_list.Count, "There arent that many products in the order"); Console.Write("A screenshot has been triggered upon assertion failure."); } catch (Exception e) { string message = "Exception- " + DateTime.Now.ToString("yyyy-MM-dd-hhmm-ss"); var screenshot = driver.TakeScreenshot(); Screenshot ss = ((ITakesScreenshot)driver).GetScreenshot(); ss.SaveAsFile(message + ".png", ScreenshotImageFormat.Png); } product_selector.SendKeys(products_list[item_no].Text); IWebElement text_input = driver.FindElement(By.Name("msgText")); input_text_for_message = "This message should be added to product: " + products_list[item_no].Text; text_input.SendKeys(input_text_for_message); IWebElement send_button = driver.FindElement(By.XPath("//button[@name='submitMessage']")); send_button.Click(); }
public void RunCatalog() { IList <IWebElement> rowItems = driver.FindElements(By.CssSelector("tr.row")); bool closeFolderIsPresent; int rowIndex = 0; int folderIndex = 0; do { closeFolderIsPresent = false; do { if (rowItems[rowIndex].FindElements(By.CssSelector("i.fa-folder")).Count > 0) { rowItems[rowIndex].FindElement(By.CssSelector("td:nth-child(3) > a")).Click(); closeFolderIsPresent = true; rowIndex = folderIndex++; } else if (rowItems[rowIndex].FindElements(By.CssSelector("td:nth-child(3) > img")).Count > 0) { rowItems[rowIndex].FindElement(By.CssSelector("td:nth-child(3) > a")).Click(); wait.Until(ExpectedConditions.TitleContains("Edit Product:")); GetBrowserLogs("Product page : "); //GetPerformanceLogs("Product page : "); driver.Navigate().Back(); WaitPage("Catalog | My Store"); GetBrowserLogs("Catalog page : "); //GetPerformanceLogs("Catalog page : "); rowIndex++; } else { rowIndex++; } rowItems = driver.FindElements(By.CssSelector("tr.row")); } while (!closeFolderIsPresent && (rowIndex < rowItems.Count)); } while (closeFolderIsPresent); }
public bool IsElementNotPresent(EventFiringWebDriver driver, By locator) { _driver = driver; try { _driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(0)); return(_driver.FindElements(locator).Count == 0); } finally { _driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(_waitDefaultTime)); } }
public static bool WaitElement(By by, int timeoutSeconds = 10) { int count = 0; bool displayed = false; while (driver.FindElements(by).Count.Equals(0) || !displayed) { if (driver.FindElements(by).Any(e => e.Displayed)) { displayed = true; } Wait(1000); count++; if (count > timeoutSeconds) { break; } } return(displayed); }
public void Home_Page_Shows_Existing_Messages() { DatabaseHelper.ExecuteCommand("DELETE FROM Messages"); DatabaseHelper.ExecuteCommand("INSERT INTO Messages (Message) VALUES('foo'),('Bar')"); using (var driver = new EventFiringWebDriver(new ChromeDriver())) { driver.Navigate().GoToUrl("http://localhost/TDDDemoApp/"); var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 30)); wait.Until(x => !x.FindElement(By.Id("message-loading")).Displayed); var messages = driver.FindElements(By.TagName("blockquote")); Assert.That(messages.Count, Is.EqualTo(2)); Thread.Sleep(2000); } }
public List <BankAccount> SetAccountList(EventFiringWebDriver pDriver) { List <BankAccount> list = new List <BankAccount>(); IReadOnlyCollection <IWebElement> accList = pDriver.FindElements(By.CssSelector("#tabDep_sub_table1 tbody tr")); foreach (IWebElement el in accList) { BankAccount bankAccount = new BankAccount { Num = el.FindElement(By.CssSelector("td:nth-child(2)")).Text, Balance = el.FindElement(By.CssSelector("td:nth-child(4)")).Text }; list.Add(bankAccount); } return(list); }
private void products(By locator) { List <IWebElement> listProd = driver.FindElements(locator).ToList(); int countProd = listProd.Count(); string first = driver.FindElement(By.CssSelector("table tr:nth-child(5)")).GetAttribute("rowIndex"); int productItem = Convert.ToInt32(first) + 1; IWebElement item; for (int i = productItem; i < countProd + productItem; i++) { item = driver.FindElement(By.CssSelector($"tr:nth-child({i}) td:nth-child(3) > a")); item.Click(); wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector("h1"))); driver.FindElement(By.Name("cancel")).Click(); } Console.WriteLine("LOGS"); logs(); }
// 계좌 선택 private void AccountList_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { blindDriver.Navigate().GoToUrl("https://spib.wooribank.com/pib/Dream?withyou=PSINQ0028"); // 상세조회 화면 Thread.Sleep(1000); blindDriver.ExecuteScript("beforeAddDate('4');"); try { while (blindDriver.FindElement(By.CssSelector(".pop-content")).Displayed) { Thread.Sleep(1000); } } catch (Exception) { Console.WriteLine("조회중"); } List <PayVO> list = new List <PayVO>(); IReadOnlyCollection <IWebElement> elList = blindDriver.FindElements(By.CssSelector(".gridHeaderTableDefault .grid_body_row")); foreach (IWebElement el in elList) { PayVO payVO = new PayVO(); payVO.No = el.FindElement(By.CssSelector("td:nth-child(1)")).Text; payVO.PayDt = el.FindElement(By.CssSelector("td:nth-child(2)")).Text; payVO.Briefs = el.FindElement(By.CssSelector("td:nth-child(3)")).Text; payVO.Memo = el.FindElement(By.CssSelector("td:nth-child(4)")).Text; payVO.OutAmt = el.FindElement(By.CssSelector("td:nth-child(5)")).Text; payVO.InAmt = el.FindElement(By.CssSelector("td:nth-child(6)")).Text; payVO.Balance = el.FindElement(By.CssSelector("td:nth-child(7)")).Text; payVO.Point = el.FindElement(By.CssSelector("td:nth-child(8)")).Text; list.Add(payVO); } PayList.ItemsSource = list; }
public void AdminPageLogin() { Login(); ReadOnlyCollection <IWebElement> menu = driver.FindElements(By.CssSelector("#app- > a")); for (int i = 0; i < menu.Count; i++) { IWebElement listItem = menu[i]; listItem.Click(); ReadOnlyCollection <IWebElement> menu2 = driver.FindElements(By.CssSelector("#app- > li > a")); if (menu2.Count != 0) { foreach (IWebElement el in menu2) { el.Click(); Assert.True(IsElementPresent(By.CssSelector("h1"))); } } else { Assert.True(IsElementPresent(By.CssSelector("h1"))); } menu = driver.FindElements(By.CssSelector("#app- > a")); } }