美文网首页爬虫我爱编程
Selenium-java-(Excel-元素管理篇)

Selenium-java-(Excel-元素管理篇)

作者: Test木羽 | 来源:发表于2017-05-09 16:33 被阅读88次

    Selenium-java-(Excel-元素管理篇)

    在selenium进行自动化测试时,对元素剥离可以方便对代码的维护。
    我们可以使用到excel文件进行对元素的管理。
    首先我们需要在maven项目pom中导入poi解析excel的jar包。

            <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.16</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.16</version>
            </dependency>
    

    这里是我的excel文件是这样编写管理的:



    有了Excel文件之后,需要做的只需把元素的列表解析封存即可。

    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.ss.usermodel.Sheet;
    import org.apache.poi.ss.usermodel.Workbook;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    /**
     * 提供Excel各种方法
     * @Author taoxu
     */
    public class Excel {
        private String file;
        public Workbook workbook;
        private InputStream input = null;
    
        public Excel(String file) {
            this.file = file;
            ClassLoader classLoader = Excel.class.getClassLoader();
            URL resource = classLoader.getResource(file);
            String path = resource.getPath();
            try {
                input = new FileInputStream(path);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            //获得一个工作簿对象
            try {
                workbook = new XSSFWorkbook(input);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 提供获取表的方法
         * @param i 第几个表
         * @return 返回一个表对象
         */
        public Sheet getSheet(int i){
            Sheet sheet = workbook.getSheetAt(i);
            return sheet;
        }
          /**
         * 提供退出方法
         */
        public void  close(){
            try {
                input.close();
                workbook.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        /**
         * 提供获得元素的方法
         * @return 返回一个元素集
         */
        private List<String> setEle()  {
            List<String> eles = new ArrayList();
            Sheet sheet = getSheet(1);
            //获得表中行的迭代器
            Iterator<Row> rows =  sheet.rowIterator();
            while (rows.hasNext()){
                Row row =  rows.next();
                Cell cell = row.getCell(1);
                //获得每一行的第二列
                String cel = cell.getStringCellValue().toString();
                eles.add(cel);
            }
            return eles;
        }
    
        /**
         * 提供调用获取的元素集
         * @return 返回一个元素集
         */
        public List<String> getEle(){
            return this.setEle();
        }
    
    
    }
    

    这样我们就封装成功了,使用的时候传入一个excel文件即可。

    Excel excel = new Excel("yuansu.xlsx");
    List<String>  eles = excel.getEle();
    excel.close();
    

    相关文章

      网友评论

        本文标题:Selenium-java-(Excel-元素管理篇)

        本文链接:https://www.haomeiwen.com/subject/qpcitxtx.html