zoukankan      html  css  js  c++  java
  • Selenium

      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 }
    View Code
  • 相关阅读:
    简单明了的带你理解springboot原理和三大核心注解
    Spring Boot(一):入门篇
    【Mysql优化】聚簇索引与非聚簇索引概念
    Mysql索引原理与优化
    Mysql全文索引的使用
    索引的优缺点,如何创建索引
    184 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 04 例:字符串与byte(即:字节)数组间的相互转换
    183 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 03 String常用方法(下)
    182 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 02 String常用方法(上)
    181 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 01 String常用方法简介
  • 原文地址:https://www.cnblogs.com/JulyLeo/p/3178343.html
Copyright © 2011-2022 走看看