自動化測試框架selenium+java+TestNG——讀取csv文件


      讀取csv文件可以直接讀取,也可以使用javacsv.jar,后者比較簡單,這個也可以變相認為是對表格的處理,我們可以在表格中做好數據,存儲成csv格式的文件,后續對xlsx表格的操作抽個時間再記錄下。

package com.testngDemo;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import com.csvreader.CsvReader;

public class Demo_testngCsv {
    
    public static void main(String args[])
    {
        ArrayList<String []> list = readCsv("E:/csv測試表.csv");
        
        for(int i=0;i<list.size();i++)
        {
            System.out.println(list.get(i)[0]);//name
            System.out.println(list.get(i)[1]);//age
            System.out.println(list.get(i)[2]);//sex
            System.out.println("-------------------");
        }
    }
    public static ArrayList<String []> readCsv(String filePath)
    {
        ArrayList<String[]> list = new ArrayList<String []>();//創建保存數據集合
        //創建csvreader讀取
        CsvReader cReader = null;
        try {
            cReader = new CsvReader(filePath,',',Charset.forName("GBK"));
            //是否跳過表頭
            cReader.readHeaders();
            //錄入數據
            while(cReader.readRecord()){
                list.add(cReader.getValues());
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            cReader.close();
        }
        //如果使用testng的DataProvider,可以返回一個二維數組
        Object data[][] = new Object[list.size()][];
        for(int i=0;i<list.size();i++)
        {
            data[i]=list.get(i);
        }
        
        
        return list;
    }
}

在E盤下有個csv文件表:

運行可以看見:

 

————————————————————————————————————————————————————————————————

總結下,這也可以作為一種數據驅動的方式,用表格存儲測試數據,甚至是元素屬性,實現數據和代碼的分離。這樣更能降低代碼的耦合度,腳本也更容易維護。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM