• 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
  • 相关阅读:
    按照鬼哥学so变化,四,第一章的例子
    浏览器发送总共下载文件2第二个请求,如何“下载”仅仅记录1次要?
    hdu 3371 Connect the Cities
    自己写RTPserver——大约RTP协议
    cocos2d-x3.2中将XCode发展project转移到VS2010可能会发生错误
    apache kafkac系列lient发展-java
    大约++和--了解运营商
    socket计划——一个简单的例子
    PhotoShop基本工具 -- 移动工具
    ZA7783:MIPI转LVDS/MIPI转RGB888/RGB转LVDS
  • 原文地址:https://www.cnblogs.com/JulyLeo/p/3178343.html
Copyright © 2020-2023  润新知