Java có thể tương tác với Excel không?

Người kiểm tra tự động hóa phải tự động hóa một số lượng lớn các hành động của người dùng cuối để theo dõi, đánh giá và xác minh chức năng của trang web. Về cơ bản, họ phải quan sát cách một trang web hoạt động khi người dùng tương tác với các tính năng và dịch vụ khác nhau của nó. Bài viết này sẽ tập trung vào cách tự động hóa một thao tác người dùng như vậy – cách đọc dữ liệu từ tệp Excel trong Selenium WebDriver bằng Java

Selenium là một công cụ kiểm tra tự động được sử dụng rộng rãi để kiểm tra trình duyệt web. Ngôn ngữ lập trình Java cung cấp các lớp hoặc giao diện khác nhau để thực hiện các hành động thao tác với tệp

Các thư viện Apache POI được sử dụng để thực hiện các hoạt động đó. Một số giao diện để đọc hoặc ghi dữ liệu từ các tài nguyên bên ngoài được đưa ra dưới đây

  1. POIFS [Hệ thống tệp triển khai che giấu kém]
  2. HSSF [Định dạng bảng tính khủng khiếp]
  3. XSSF [Định dạng bảng tính XML]
  4. HPSF [Định dạng bộ thuộc tính khủng khiếp]
  5. HWPF [Định dạng bộ xử lý văn bản khủng khiếp]
  6. XWPF [Định dạng bộ xử lý văn bản XML]
  7. HSLF [Định dạng bố cục slide khủng khiếp]
  8. HGDF [Định dạng sơ đồ khủng khiếp]
  9. HDBF [Định dạng nhà xuất bản khủng khiếp]

Apache POI là gì?

Apache POI là một thư viện Java nguồn mở thường được sử dụng để tạo và xử lý các tệp dựa trên Microsoft Office. Người dùng có thể tận dụng POI để thực hiện các thao tác khác nhau [sửa đổi, tạo, hiển thị, đọc] trên các định dạng tệp cụ thể [tệp Excel là một trong số đó]. Vì Java không cung cấp hỗ trợ tích hợp cho các tệp Excel nên người kiểm tra cần API nguồn mở để làm việc với chúng. Apache POI cung cấp API Java cho phép người dùng vận hành và điều khiển các định dạng tệp được xây dựng trên tiêu chuẩn Office Open XML [OOXML] và tiêu chuẩn OLE2 của Microsoft

Để tạo hoặc duy trì Sổ làm việc Excel, Apache POI cung cấp "Sổ làm việc" dưới dạng siêu giao diện của tất cả các lớp. Nó thuộc về tổ chức. apache. poi. ss. gói mô hình người dùng. Nó sử dụng lớp WorkbookFactory để tạo sổ làm việc phù hợp [i. e. HSSFWorkbook hoặc XSSFWorkbook]. Hai lớp triển khai giao diện “Workbook” được đưa ra bên dưới

  • HSSFWorkbook– Các phương thức của lớp này được sử dụng để đọc hoặc ghi dữ liệu vào tệp Microsoft Excel trong. định dạng xls
  • XSSFWorkbook– Các phương thức của lớp này được sử dụng để đọc/ghi dữ liệu vào các tệp Microsoft Excel và OpenOffice XML trong. xls hoặc. định dạng xlsx

Bây giờ hãy tìm hiểu cách định cấu hình pache POI Selenium trong hệ thống.

Cài đặt Apache POI

Bước 1– Tải xuống tệp jar Apache POI từ trang web chính thức và nhấp vào phần Tải xuống. Người ta có thể tải về
Tệp zip phân phối nhị phân

Bước 2 – Sau khi tệp zip được tải xuống, hãy giải nén và lưu nó
Bước 3 – Định cấu hình đường dẫn xây dựng trong Eclipse và thêm tất cả các lọ bên ngoài POI được liệt kê bên dưới
Khi tất cả các tệp Jar được thêm vào, người dùng có thể đọc và ghi dữ liệu từ và vào các tệp Excel

Đọc dữ liệu từ tệp Excel trong Selenium

Mã bên dưới được sử dụng để đọc dữ liệu từ bảng Excel mẫu trong Selenium. Đây là dữ liệu bảng excel sẽ được sử dụng để đọc dữ liệu trong ví dụ này

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class BrowserStackReadExcelTest {
public static void main [String [] args] throws IOException{
//Path of the excel file
FileInputStream fs = new FileInputStream["D:\\DemoFile.xlsx"];
//Creating a workbook
XSSFWorkbook workbook = new XSSFWorkbook[fs];
XSSFSheet sheet = workbook.getSheetAt[0];
Row row = sheet.getRow[0];
Cell cell = row.getCell[0];
System.out.println[sheet.getRow[0].getCell[0]];
Row row1 = sheet.getRow[1];
Cell cell1 = row1.getCell[1];
System.out.println[sheet.getRow[0].getCell[1]];
Row row2 = sheet.getRow[1];
Cell cell2 = row2.getCell[1];
System.out.println[sheet.getRow[1].getCell[0]];
Row row3 = sheet.getRow[1];
Cell cell3 = row3.getCell[1];
System.out.println[sheet.getRow[1].getCell[1]];
//String cellval = cell.getStringCellValue[];
//System.out.println[cellval];
}
}

Trong đoạn mã, dựa trên giá trị ô và hàng, dữ liệu sẽ được đọc và lấy từ tệp Excel. Bây giờ hãy hiểu cách ghi dữ liệu vào tệp Excel

Chạy thử nghiệm Selenium

Viết dữ liệu vào tệp Excel trong Selenium

Đoạn mã dưới đây được sử dụng để ghi dữ liệu vào tệp Excel trong Selenium

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class WriteintoExcel {
public static void main[String[] args] throws IOException {
String path = "D://DemoFile.xlsx";
FileInputStream fs = new FileInputStream[path];
Workbook wb = new XSSFWorkbook[fs];
Sheet sheet1 = wb.getSheetAt[0];
int lastRow = sheet1.getLastRowNum[];
for[int i=0; i

Chủ Đề