zoukankan      html  css  js  c++  java
  • Selenium Webdriver——Table类封装

    WebTable.java

    import java.util.List;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebElement;
    
    public class WebTable {
        
        private WebElement webTable;
        public WebTable(WebElement webElement){
            this.webTable = webElement;
        }
        
        //等到表格的行数
        public int getRowCount(){
            List<WebElement>rowCounts = webTable.findElements(By.tagName("tr"));
            return rowCounts.size();
        }
        
        //得到指定行的列数
        public int getColCount(int rowId){
            List<WebElement>rowCounts = webTable.findElements(By.tagName("tr"));
            //取得当前的tr
            WebElement rowNum = rowCounts.get(rowId);
            //计算当前的td数
            List<WebElement>colCounts =rowNum.findElements(By.tagName("td"));
            return colCounts.size();
        }
        
        // 得到指定单元格的内容
        public  String getCellText(int rowIdx, int colIdx) {
            
            String text = "";
            
            try{
                List<WebElement> rowCounts = webTable.findElements(By.tagName("tr"));
                WebElement currentRow = rowCounts.get(rowIdx);
                List<WebElement> td = currentRow.findElements(By.tagName("td"));
                WebElement cell = td.get(colIdx);
                 text = cell.getText();       
            }catch(IndexOutOfBoundsException e){
                System.out.println("超出table边界值");
            }
            
            return text; 
        }
    }

    对webTable类进行测试

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.testng.Assert;
    import org.testng.annotations.Test;
    
    public class testTable {
        
      @Test
      public void testTableWebElement() {
          
          WebDriver driver = new FirefoxDriver();
          driver.manage().window().maximize();
          driver.get("F:\table.html");
          WebTable webtable = new WebTable(driver.findElement(By.tagName("table")));
          Assert.assertEquals(4, webtable.getRowCount());
          Assert.assertEquals(5, webtable.getColCount(1));
          System.out.println( webtable.getCellText(1, 1));
          driver.quit();
      }
    }
  • 相关阅读:
    190. Reverse Bits
    150. Evaluate Reverse Polish Notation
    【UML】状态图与活动图
    【UML】类图与对象图
    【UML】用例图
    【运维】Dell R710如何开启VT服务
    【运维】Dell R710如何做Raid0与Raid5
    【运维】略谈Raid级别
    【VMware vSphere】VMware vSphere简单了解
    【Linux】在Linux上安装VNC
  • 原文地址:https://www.cnblogs.com/hjhsysu/p/5744269.html
Copyright © 2011-2022 走看看