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();
      }
    }
  • 相关阅读:
    关于Maven项目的pom.xml中的依赖或插件失效的解决方法
    java引用数据类型在方法中的值传递
    java匹配http或https的url的正则表达式20180912
    java正则表达式的进阶使用20180912
    java线程池 多线程 搜索包含关键字的文件路径
    魔术球问题
    [SDOI2009]晨跑
    [洛谷P2045]方格取数加强版
    最小路径覆盖问题
    最长不下降子序列问题
  • 原文地址:https://www.cnblogs.com/hjhsysu/p/5744269.html
Copyright © 2011-2022 走看看