- Selenium 教程
- Selenium - 首頁
- Selenium - 概述
- Selenium - 元件
- Selenium - 自動化測試
- Selenium - 環境搭建
- Selenium - 遠端控制
- Selenium IDE 教程
- Selenium - IDE 簡介
- Selenium - 特性
- Selenium - 限制
- Selenium - 安裝
- Selenium - 建立測試
- Selenium - 建立指令碼
- Selenium - 控制流
- Selenium - 儲存變數
- Selenium - 警報和彈出視窗
- Selenium - Selenese 命令
- Selenium - 操作命令
- Selenium - 訪問器命令
- Selenium - 斷言命令
- Selenium - Assert/Verify 方法
- Selenium - 定位策略
- Selenium - 指令碼除錯
- Selenium - 驗證點
- Selenium - 模式匹配
- Selenium - JSON 資料檔案
- Selenium - 瀏覽器執行
- Selenium - 使用者擴充套件
- Selenium - 程式碼匯出
- Selenium - 程式碼輸出
- Selenium - JavaScript 函式
- Selenium - 外掛
- Selenium WebDriver 教程
- Selenium - 簡介
- Selenium WebDriver vs RC
- Selenium - 安裝
- Selenium - 第一個測試指令碼
- Selenium - 驅動程式會話
- Selenium - 瀏覽器選項
- Selenium - Chrome 選項
- Selenium - Edge 選項
- Selenium - Firefox 選項
- Selenium - Safari 選項
- Selenium - 雙擊
- Selenium - 右鍵單擊
- Python 中的 HTML 報告
- 處理編輯框
- Selenium - 單個元素
- Selenium - 多個元素
- Selenium Web 元素
- Selenium - 檔案上傳
- Selenium - 定位器策略
- Selenium - 相對定位器
- Selenium - 查詢器
- Selenium - 查詢所有連結
- Selenium - 使用者互動
- Selenium - WebElement 命令
- Selenium - 瀏覽器互動
- Selenium - 瀏覽器命令
- Selenium - 瀏覽器導航
- Selenium - 警報和彈出視窗
- Selenium - 處理表單
- Selenium - 視窗和選項卡
- Selenium - 處理連結
- Selenium - 輸入框
- Selenium - 單選按鈕
- Selenium - 複選框
- Selenium - 下拉框
- Selenium - 處理 IFrame
- Selenium - 處理 Cookie
- Selenium - 日期時間選擇器
- Selenium - 動態 Web 表格
- Selenium - Actions 類
- Selenium - Action 類
- Selenium - 鍵盤事件
- Selenium - 鍵上/下
- Selenium - 複製和貼上
- Selenium - 處理特殊鍵
- Selenium - 滑鼠事件
- Selenium - 拖放
- Selenium - 筆事件
- Selenium - 滾動操作
- Selenium - 等待策略
- Selenium - 顯式/隱式等待
- Selenium - 支援功能
- Selenium - 多選
- Selenium - 等待支援
- Selenium - 選擇支援
- Selenium - 顏色支援
- Selenium - ThreadGuard
- Selenium - 錯誤和日誌記錄
- Selenium - 異常處理
- Selenium - 其他
- Selenium - 處理 Ajax 呼叫
- Selenium - JSON 資料檔案
- Selenium - CSV 資料檔案
- Selenium - Excel 資料檔案
- Selenium - 跨瀏覽器測試
- Selenium - 多瀏覽器測試
- Selenium - 多視窗測試
- Selenium - JavaScript 執行器
- Selenium - 無頭執行
- Selenium - 捕獲螢幕截圖
- Selenium - 捕獲影片
- Selenium - 頁面物件模型
- Selenium - 頁面工廠
- Selenium - 記錄和回放
- Selenium - 框架
- Selenium - 瀏覽上下文
- Selenium - DevTools
- Selenium Grid 教程
- Selenium - 概述
- Selenium - 架構
- Selenium - 元件
- Selenium - 配置
- Selenium - 建立測試指令碼
- Selenium - 測試執行
- Selenium - 端點
- Selenium - 自定義節點
- Selenium 報告工具
- Selenium - 報告工具
- Selenium - TestNG
- Selenium - JUnit
- Selenium - Allure
- Selenium 和其他技術
- Selenium - Java 教程
- Selenium - Python 教程
- Selenium - C# 教程
- Selenium - Javascript 教程
- Selenium - Kotlin 教程
- Selenium - Ruby 教程
- Selenium - Maven 和 Jenkins
- Selenium - 資料庫測試
- Selenium - LogExpert 日誌記錄
- Selenium - Log4j 日誌記錄
- Selenium - Robot Framework
- Selenium - AutoIT
- Selenium - Flash 測試
- Selenium - Apache Ant
- Selenium - Github 教程
- Selenium - SoapUI
- Selenium - Cucumber
- Selenium - IntelliJ
- Selenium - XPath
- Selenium 其他概念
- Selenium - IE 驅動程式
- Selenium - 自動化框架
- Selenium - 關鍵字驅動框架
- Selenium - 資料驅動框架
- Selenium - 混合驅動框架
- Selenium - SSL 證書錯誤
- Selenium - 替代方案
- Selenium 有用資源
- Selenium - 問答
- Selenium - 快速指南
- Selenium - 有用資源
- Selenium - 自動化實踐
- Selenium - 討論
Selenium WebDriver - CSV 資料檔案
Selenium Webdriver 可用於與 csv 資料檔案互動。在自動化測試中,通常會透過 csv 檔案傳遞大量資料以支援資料驅動框架。csv 檔案看起來類似於 Excel 檔案,並且副檔名為 .csv。
Java 提供了一些類和方法,可以使用 OpenCSV 庫對 csv 檔案執行讀寫資料操作。OpenCSV 擁有兩個最重要的類 - CSVReader 和 CSVWriter,用於對 csv 檔案執行讀寫操作。
如何安裝 OpenCSV?
步驟 1 - 從連結 OpenCSV 將 OpenCSV 依賴項新增到 pom.xml 檔案中。
步驟 2 - 儲存包含所有依賴項的 pom.xml 並更新 Maven 專案。
讀取 CSV 中的所有值
讓我們以下面名為 Details1.csv 的 csv 檔案為例,我們將讀取整個 csv 檔案並使用 CSVReader 類及其方法 readNext() 檢索其所有值。
請注意 - Details1.csv 檔案放置在專案下的 Resources 資料夾中,如下面的影像所示。
示例
package org.example;
import com.opencsv.CSVReader;
import com.opencsv.exceptions.CsvValidationException;
import java.io.FileReader;
import java.io.IOException;
public class CSVRead {
public static void main(String[] args) throws InterruptedException,
IOException, CsvValidationException {
// object of CSVReader class
CSVReader r = new CSVReader(new FileReader("./Resources/Details1.CSV"));
// store csv data in string array
String [] csvValues;
// iterate through csv till the end of the values
while ((csvValues = r.readNext())!= null){
// iterate through rows
for (String csvValue : csvValues){
System.out.println(csvValue);
}
}
}
}
新增到 pom.xml 的依賴項。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>SeleniumJava</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>16</maven.compiler.source>
<maven.compiler.target>16</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.opencsv/opencsv -->
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.9</version>
</dependency>
</dependencies>
</project>
輸出
Name Street Ram Street 12 Rohan Street 110 Process finished with exit code 0
在上面的示例中,我們讀取了整個 csv 檔案並在控制檯中獲取了其所有值。
最後,收到訊息 Process finished with exit code 0,表示程式碼已成功執行。
在 CSV 中寫入和讀取值
讓我們再舉一個例子,我們將建立一個名為 Details2.csv 的 csv 檔案,該檔案位於專案中的 Resources 資料夾下,並使用 CSVWriter 類及其方法:writeNext() 或 writeAll() 以及 flush() 寫入一些值。最後,使用 CSVReader 類及其方法 readNext() 讀取這些值。
示例
package org.example;
import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;
import com.opencsv.exceptions.CsvValidationException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CSVReadWrite {
public static void main(String[] args) throws InterruptedException,
IOException, CsvValidationException {
// object of CSVWriter class
CSVWriter w = new CSVWriter(new FileWriter("./Resources/Details2.CSV"));
// stores values in csv
String [] rows1 = {"Name", "Street"};
String [] rows2 = {"Ram", "Street 12"};
String [] rows3 = {"Rohan", "Street 110"};
// add values to be written to list
List<String[]> write = new ArrayList<>();
write.add(rows1);
write.add(rows2);
write.add(rows3);
// write and flush all values
w.writeAll(write);
w.flush();
CSVReader r = new CSVReader(new FileReader("./Resources/Details2.CSV"));
// store csv data in string array
String [] csvValues;
// iterate through csv till the end of the values
while ((csvValues = r.readNext())!= null){
// iterate through rows
for (String csvValue : csvValues){
System.out.println(csvValue);
}
}
}
}
新增到 pom.xml 的依賴項。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>SeleniumJava</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>16</maven.compiler.source>
<maven.compiler.target>16</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.opencsv/opencsv -->
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.9</version>
</dependency>
</dependencies>
</project>
輸出
Name Street Ram Street 12 Rohan Street 110 Process finished with exit code 0
在上面的示例中,我們在專案內的 Resources 資料夾下建立了一個名為 Details2.csv 的 csv 檔案,並在其中寫入了一些值。然後我們讀取所有這些值,最後在控制檯中獲取它們。
最後,收到訊息 Process finished with exit code 0,表示程式碼已成功執行。
此外,名為 Details2.csv 的 csv 檔案已在專案目錄中建立。單擊它,我們將獲得透過上述程式碼寫入的值。
結論
這總結了我們關於 Selenium Webdriver CSV 資料檔案的教程的全面內容。我們首先描述了什麼是 OpenCSV 庫,如何安裝 OpenCSV,並逐步演示瞭如何在 csv 中讀取和寫入值,藉助 OpenCSV 以及 Selenium Webdriver。這使您能夠深入瞭解 Selenium Webdriver 中的 CSV 資料檔案。明智的做法是繼續練習您所學的內容,並探索與 Selenium 相關的其他內容,以加深您的理解並擴充套件您的視野。
