Posts

Showing posts from November, 2013

Selenium: Handling NoSuchElementException

Seleniuim throws NoSuchElementException when it can't find the element on the screen. This blog lists down the scenarios and strategy to handle them. Element is hidden by an overlapping <div> This is the easiest to resolve. In case, there's a lightbox, create an action to close it before clicking on the desired element. Page hasn't loaded With Dojo usage, sometimes the page takes lot of time to load - at times causing "stop script" alerts as well. To remedy this, set a page load timeout. driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.MINUTES); Consume the alert. public void acceptAlertIfPresent() { try { // Check the presence of alert Alert alert = driver.switchTo().alert(); // if present consume the alert alert.accept(); } catch (NoAlertPresentException ex) { // Alert not present ex.printStackTrace(); } } Lot of Ajax processing In an app involving lot of Ajax processing e.g. a GWT app, it's im...