zoukankan      html  css  js  c++  java
  • Selenium2学习-026-WebUI自动化实战实例-024-获取页面元素

    非常简单的方法封装,就不啰嗦了,直接上码咯 ^_^

      1     /**
      2      * Get element. It will be return null when there is not such element.
      3      * 
      4      * @author Aaron.ffp
      5      * @version V1.0.0: autoSeleniumDemo main.aaron.sele.core SeleniumCore.java getWebElement, 2015-7-31 13:56:59 Exp $
      6      * 
      7      * @param by : By
      8      * 
      9      * @return WebElement
     10      */
     11     public WebElement getElement(By by){
     12         try {
     13             return this.webdriver.findElement(by);
     14         } catch (Exception e) {
     15             return null;
     16         }
     17     }
     18 
     19     /**
     20      * Get element by locator(ID, name, cssSelector, xpath, linkText, className, partialLinkText, tagName)
     21      * 
     22      * @author Aaron.ffp
     23      * @version V1.0.0: autoUISelenium main.java.aaron.sele.demo IsWebelementExist.java getElement, 2015-1-22 3:15:57 Exp $
     24      * 
     25      * @param locator  : the expression of locator(ID, name, cssSelector, xpath, linkText, className, partialLinkText, tagName)
     26      * 
     27      * @return WebElement
     28      */
     29     public WebElement getElement(String locator){
     30         WebElement webelement = null;
     31         
     32         /* by ID */
     33         try {
     34             return this.webdriver.findElement(By.id(locator));
     35         } catch (NoSuchElementException e) {
     36             this.logger.error(e);
     37             webelement = null;
     38         }
     39         
     40         /* by name */
     41         try {
     42             return this.webdriver.findElement(By.name(locator));
     43         } catch (NoSuchElementException e) {
     44             this.logger.error(e);
     45             webelement = null;
     46         }
     47         
     48         /* by xpath */
     49         try {
     50             return this.webdriver.findElement(By.xpath(locator));
     51         } catch (NoSuchElementException e) {
     52             this.logger.error(e);
     53             webelement = null;
     54         }
     55         
     56         /* by cssSelector */
     57         try {
     58             return this.webdriver.findElement(By.cssSelector(locator));
     59         } catch (NoSuchElementException e) {
     60             this.logger.error(e);
     61             webelement = null;
     62         }
     63         
     64         /* by linkText */
     65         try {
     66             return this.webdriver.findElement(By.linkText(locator));
     67         } catch (NoSuchElementException e) {
     68             this.logger.error(e);
     69             webelement = null;
     70         }
     71         
     72         /* by className */
     73         try {
     74             return this.webdriver.findElement(By.className(locator));
     75         } catch (NoSuchElementException e) {
     76             this.logger.error(e);
     77             webelement = null;
     78         }
     79         
     80         /* by partialLinkText */
     81         try {
     82             return this.webdriver.findElement(By.partialLinkText(locator));
     83         } catch (NoSuchElementException e) {
     84             this.logger.error(e);
     85             webelement = null;
     86         }
     87         
     88         /* by tagName */
     89         try {
     90             return this.webdriver.findElement(By.tagName(locator));
     91         } catch (NoSuchElementException e) {
     92             this.logger.error(e);
     93             webelement = null;
     94         }
     95         
     96         return webelement;
     97     }
     98     
     99     /**
    100      * Get element by locator(ID, name, cssSelector, xpath, linkText, className, partialLinkText, tagName)
    101      * 
    102      * @author Aaron.ffp
    103      * @version V1.0.0: autoUISelenium main.java.aaron.sele.demo IsWebelementExist.java getElement, 2015-1-22 3:15:57 Exp $
    104      * 
    105      * @param webdriver      : WebDriver
    106      * @param locator        : the expression of locator(ID, name, cssSelector, xpath, linkText, className, partialLinkText, tagName)
    107      * 
    108      * @return WebElement
    109      */
    110     public WebElement getElement(WebDriver webdriver, String locator){
    111         WebElement webelement = null;
    112         
    113         /* by ID */
    114         try {
    115             return webdriver.findElement(By.id(locator));
    116         } catch (NoSuchElementException e) {
    117             this.logger.error(e);
    118             webelement = null;
    119         }
    120         
    121         /* by name */
    122         try {
    123             return webdriver.findElement(By.name(locator));
    124         } catch (NoSuchElementException e) {
    125             this.logger.error(e);
    126             webelement = null;
    127         }
    128         
    129         /* by xpath */
    130         try {
    131             return webdriver.findElement(By.xpath(locator));
    132         } catch (NoSuchElementException e) {
    133             this.logger.error(e);
    134             webelement = null;
    135         }
    136         
    137         /* by cssSelector */
    138         try {
    139             return webdriver.findElement(By.cssSelector(locator));
    140         } catch (NoSuchElementException e) {
    141             this.logger.error(e);
    142             webelement = null;
    143         }
    144         
    145         /* by linkText */
    146         try {
    147             return webdriver.findElement(By.linkText(locator));
    148         } catch (NoSuchElementException e) {
    149             this.logger.error(e);
    150             webelement = null;
    151         }
    152         
    153         /* by className */
    154         try {
    155             return webdriver.findElement(By.className(locator));
    156         } catch (NoSuchElementException e) {
    157             this.logger.error(e);
    158             webelement = null;
    159         }
    160         
    161         /* by partialLinkText */
    162         try {
    163             return webdriver.findElement(By.partialLinkText(locator));
    164         } catch (NoSuchElementException e) {
    165             this.logger.error(e);
    166             webelement = null;
    167         }
    168         
    169         /* by tagName */
    170         try {
    171             return webdriver.findElement(By.tagName(locator));
    172         } catch (NoSuchElementException e) {
    173             this.logger.error(e);
    174             webelement = null;
    175         }
    176         
    177         return webelement;
    178     }

    至此,WebUI 自动化功能测试脚本第 024-获取页面元素 顺利完结,希望此文能够给初学 Selenium 的您一份参考。

    最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

     

  • 相关阅读:
    Tips/Tricks#4:不同页面之间传递值
    NHibernate之旅(2):第一个NHibernate程序
    Silverlight 2 (beta1)数据操作(7)——调用FlickR REST APIs来查询图片
    NHibernate之旅(5):探索Insert, Update, Delete操作
    Tips/Tricks#3:利用JavaScript选择GridView行
    PyCharm 设置菜单字体大小
    Python 多重继承
    Python 全局变量 global
    调整微信(浏览器)的音量
    PyQt5实现从主窗口打开子窗口的方法
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/4695486.html
Copyright © 2011-2022 走看看