1 public class Base { 2 SimpleDateFormat formatterTime = new SimpleDateFormat("yyyyMMdd_hhmmssa"); 3 SimpleDateFormat formatterDate = new SimpleDateFormat("yyyyMMdd"); 4 5 private Calendar now() { 6 Calendar now = Calendar.getInstance(); 7 return now; 8 } 9 10 public static Map<String, String> initialProperties(String properityName) { 11 String key = ""; 12 String value = ""; 13 Map<String, String> map = null; 14 ResourceBundle bound = PropertyResourceBundle.getBundle(properityName, Locale.ENGLISH); 15 Enumeration<String> enumeration = bound.getKeys(); 16 if (enumeration != null) { 17 map = new HashMap<String, String>(); 18 while (enumeration.hasMoreElements()) { 19 key = (String) enumeration.nextElement(); 20 value = bound.getString(key); 21 map.put(key, value); 22 } 23 } 24 return map; 25 } 26 27 public static WebDriver setUp_IEDriver() throws Exception { 28 System.setProperty("webdriver.ie.driver", "./IEDriverServer.exe"); 29 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); 30 capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); 31 WebDriver driver = new InternetExplorerDriver(capabilities); 32 driver.manage().window().maximize(); 33 return driver; 34 } 35 36 public WebDriver setUp_ChromeDriver(){ 37 System.setProperty("webdriver.chrome.driver", "./chromedriver.exe"); 38 WebDriver driver = new ChromeDriver(); 39 driver.manage().window().maximize(); 40 return driver; 41 } 42 43 public WebDriver setUp_FirefoxDriver(){ 44 System.setProperty("webdriver.ie.driver", "C:/Program Files/Mozilla Firefox"); 45 WebDriver driver = new FirefoxDriver(); 46 return driver; 47 } 48 49 public static boolean isElementPresent(WebDriver driver, By by) { 50 try { 51 driver.findElement(by); 52 return true; 53 } catch (NoSuchElementException e) { 54 e.printStackTrace(); 55 return false; 56 } 57 } 58 59 public void screenshot(WebDriver driver, String path){ 60 File folder = new File(path); 61 try { 62 if(!folder.exists()){ 63 folder.mkdirs(); 64 } 65 Dimension window_size = driver.manage().window().getSize(); 66 // BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); 67 BufferedImage image = new Robot().createScreenCapture(new Rectangle(window_size.getWidth(), window_size.getHeight())); 68 String screenshotName = path+formatterTime.format(now().getTime())+".png"; 69 ImageIO.write(image, "png", new File(screenshotName)); 70 System.out.println("Screenshot "+screenshotName+" has been saved to " + path); 71 } catch (HeadlessException e) { 72 e.printStackTrace(); 73 } catch (AWTException e) { 74 e.printStackTrace(); 75 } catch (IOException e) { 76 e.printStackTrace(); 77 } 78 } 79 80 public void pageshot(WebDriver driver, String path){ 81 File folder = new File(path); 82 try { 83 if(!folder.exists()){ 84 folder.mkdirs(); 85 } 86 String screenshotName = path+formatterTime.format(now().getTime())+".png"; 87 File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 88 FileUtils.copyFile(screenshot, new File(screenshotName)); 89 System.out.println("Screenshot "+screenshotName+" has been saved to " + path); 90 } catch (HeadlessException e) { 91 e.printStackTrace(); 92 } catch (IOException e) { 93 e.printStackTrace(); 94 } 95 } 96 97 public boolean windowStatus(WebDriver driver, final String window_status){ 98 WebDriverWait wait = new WebDriverWait(driver, 120); 99 boolean windowStatus = wait.until(new ExpectedCondition<Boolean>(){ 100 public Boolean apply(WebDriver driver){ 101 JavascriptExecutor js = (JavascriptExecutor) driver; 102 return js.executeScript("return window.status").toString().trim().equals(window_status); 103 }}); 104 return windowStatus; 105 } 106 107 public void waitForElementLoadByXpath(WebDriver driver, final String xpath){ 108 WebDriverWait wait = new WebDriverWait(driver, 300); 109 wait.until(new ExpectedCondition<WebElement>(){ 110 public WebElement apply(WebDriver driver) { 111 WebElement element = driver.findElement(By.xpath(xpath)); 112 return element; 113 } 114 }); 115 } 116 117 public void waitForPageLoad(WebDriver driver){ 118 WebDriverWait wait = new WebDriverWait(driver, 300); 119 wait.until(new ExpectedCondition<Boolean>(){ 120 public Boolean apply(WebDriver driver) { 121 return ((JavascriptExecutor)driver).executeScript("return document.readyState").toString().equalsIgnoreCase("complete"); 122 } 123 }); 124 } 125 126 public static void waitForDivLoad(WebDriver driver) { 127 WebDriverWait wait = new WebDriverWait(driver, 30); 128 wait.until(new ExpectedCondition<Boolean>() { 129 public Boolean apply(WebDriver driver) { 130 return ((JavascriptExecutor) driver).executeScript("return document.getElementById('ctl00_ContentPlaceHolder1_ClientProgress').style.display").toString().equalsIgnoreCase("block"); 131 } 132 }); 133 } 134 }