美文网首页爬虫我爱编程
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