java结合testng,利用txt做数据源的数据驱动实例

前端之家收集整理的这篇文章主要介绍了java结合testng,利用txt做数据源的数据驱动实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
import org.testng.annotations.DataProvider;
 org.testng.annotations.Test;

 java.io.BufferedReader;
 java.io.FileInputStream;
 java.io.IOException;
 java.io.InputStreamReader;
 java.util.ArrayList;
 java.util.HashMap;
 java.util.List;
 java.util.Map;

public class TxtDataHelper {


    static List<Map<String,String>>  getDataList(String filePath){
        List<Map<String,String>> list=new ArrayList<Map<String,1)">();;
        FileInputStream fileInputStream = null;
        try {
            fileInputStream = new FileInputStream(filePath);
            InputStreamReader inputStreamReader =  InputStreamReader(fileInputStream);
            BufferedReader br =  BufferedReader(inputStreamReader);
            for (String line = br.readLine(); line != null; line = br.readLine()) {
                Map<String,String> map = new HashMap<>();
                String key=line.split(",")[0];
                String value=line.split(",")[1];
                map.put("userName",key);
                map.put("passWord"catch (Exception e) {
            e.printStackTrace();
        }
        return list;

    }

    @DataProvider
    public Object[][] txTDataMethod() {
        List<Map<String,String>> result = getDataList("d:\\data.txt");
        Object[][] files =  Object[result.size()][];
        for (int i = 0; i < result.size(); i++) {
            files[i] =  Object[]{result.get(i)};
        }
         files;
    }


    @Test(dataProvider = "txTDataMethod")
    void test(Map<String,String> param) {
        System.out.println(param.get("userName")+"\t"+param.get("passWord"));
    }
}

 

猜你在找的Selenium相关文章