1. 程式人生 > >java結合testng,利用txt做資料來源的資料驅動例項

java結合testng,利用txt做資料來源的資料驅動例項

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

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

public class TxtDataHelper { public static List<Map<String, String>> getDataList(String filePath){ List<Map<String, String>> list=new ArrayList<Map<String, String>>();; FileInputStream fileInputStream = null; try { fileInputStream
= new FileInputStream(filePath); InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream); BufferedReader br = new 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",value); list.add(map); } br.close(); } catch (Exception e) { e.printStackTrace(); } return list; } @DataProvider public Object[][] txTDataMethod() { List<Map<String, String>> result = getDataList("d:\\data.txt"); Object[][] files = new Object[result.size()][]; for (int i = 0; i < result.size(); i++) { files[i] = new Object[]{result.get(i)}; } return files; } @Test(dataProvider = "txTDataMethod") public void test(Map<String,String> param) { System.out.println(param.get("userName")+"\t"+param.get("passWord")); } }