接口测试3-2csv格式

csv文件数据
IntellJ IDEA打开终端:view-tool windows-terminal,可以在终端中查看文件路径
阿里 马云
京东 刘强东
京东 马化腾

#java
//读取csv文件,该模版来自网易高手
package utils;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

/**
 * @author by LiHe on 2018/8/11.16:50
 */
public class CsvReader {

    public static Object[][] getTestData(String fileName) throws IOException {

        List<Object[]> records = new ArrayList<Object[]>();
        String record;
        /**
         * 设定UTF-8字符集,使用带缓冲区的字符输入流BufferedReader读取文件内容
         */

        BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), "UTF-8"));

        /**
         * 目录要src开始,如src/test/java/testdata/testforpeople.csv
         * 忽略读取CSV文件的标题行(第一行)
         */

        file.readLine();

        /**
         * 遍历读取文件中除第一行外的其他所有行内容 并存储在名为records的ArrayList中
         * 每一个recods中存储的对象为一个String数组
         */
        while ((record = file.readLine()) != null) {
            String fileds[] = record.split(",");
            records.add(fileds);
        }
        file.close();

        /**
         *   定义函数返回值,即Object[][]
         *   将存储测试数据的list转换为一个Object的二维数组
         */

        Object[][] result = new Object[(records.size())][];
        for (int i = 0; i < records.size(); i++) {
            result[i] = records.get(i);
        }
        return result;
    }


}
//测试代码
package testdata;

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import java.io.IOException;

public class CsvTestdemo {
    @DataProvider(name="csv")
    public  Object[][] testData() throws IOException {
        return CsvReader.ggetTestData("src/test/java/testdata/testforpeople.csv");
    }
    @Test(dataProvider="csv")
    public void test(String compay,String people){
        System.out.println(compay+"\t"+people);
    }
}

  • 阿里 马云
    京东 刘强东
    京东 马化腾

===============================================
Default Suite
Total tests run: 3, Failures: 0, Skips: 0
=============================================== *

posted on 2018-08-14 21:59  singleSpace  阅读(283)  评论(0编辑  收藏  举报