Tạo mới và cấu hình một test JDBC
Tạo mới một test JDBC
Bước 1: Trên màn hình tab JDBC, click button “New test”, hệ thống hiển thị màn hình "CREATE JDBC"

Bước 2: Nhập đầy đủ và hợp lệ cho các trường thông tin:

| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| Tab Metadata Phần thông tin chung của 1 test jdbc. Tương tự Test Scenario, tham chiếu tới mục Tạo mới một test scenario |
Bước 3: Click “Save”, hệ thống thông báo “Create successful” và chuyển hướng tới trang cấu hình.
Tại bước 3, nếu người dùng không muốn tiếp tục tạo Test JDBC, click “Cancel”.
Cấu hình một test JDBC
Tạo mới SQL
Bước 1: Click vào icon hoặc click "New Sql"

Hệ thống hiển thị màn hình tạo mới Sql

Bước 2: Nhập thông tin vào các trường dữ liệu
Trong đó:
| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| Name | Có | - | Tên của Sql | |
| Command Type | Có | Combobox | Hệ thống hiển thị danh sách kiểu tương tác khi sử dụng JDBC: + Query: Lấy dữ liệu + Execute Update: Chỉnh sửa dữ liệu Người dùng được chọn 1 giá trị. | |
| Config Type | Có | Combobox | Query Builder hiện tại chỉ hỗ trợ thực hiện với kiểu tương tác Query để lấy dữ liệu. Hệ thống hiển thị danh sách kiểu thao tác khi sử dụng trên hệ thống: + Sql: Sử dụng câu SQL trực tiếp + Query Builder: Sử dụng hệ thống hỗ trợ cấu hình theo cấu trúc câu SQL. | |
| Sql Config | Có | Text | Sql Type = “Sql” | Chứa câu lệnh SQL để tương tác với cơ sở dữ liệu. |
| Có | button | Sql Type = “Query Builder” | Click button, hệ thống sẽ hiển thị màn hình Edit Query Builder hỗ trợ xây dựng 1 câu lệnh SQL để tương tác với cơ sở dữ liệu. |
Parameter list
- Lưu trữ các Parameters để phục vụ cho việc chạy 1 test JDBC

| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| - | Button | Cho phép người dùng ẩn/hiện trường dữ liệu “Description” của một Parameter trong test JDBC. | ||
| - | Button | Click button cho phép người dùng tạo một Parameter mới cho test JDBC. | ||
| - | Button | Click button cho phép người dùng xóa tất cả Parameter đã khai báo cho test JDBC. | ||
| - | Check button | Xuất hiện khi click "New parameter" | Nếu button checked | |
| - | Button | Xuất hiện khi click "New parameter" | Click button hệ thống hiển thị ra popup dùng để khai báo data test tương ứng với từng parameter trong test JDBC | |
| - | Button | Xuất hiện khi click "New parameter" | Click button cho phép người dùng xóa 1 Parameter cụ thể đã khai báo cho test JDBC. | |
| Data Type | Có | Combobox | Kiểu dữ liệu của 1 Parameter. Hệ thống khi khởi tạo Parameter mới mặc định là “String”. | |
| Name | Có | Text | Tên phải bắt đầu bằng chữ cái, bắt buộc bao gồm cả số và không chứa ký tự đặc biệt ngoài “_” | Tên của 1 Parameter. |
| Description | - | Text | Trường dữ liệu mô tả của 1 Parameter. |
Output
- Chỉ xuất hiện khi Command Type = “Query”, dùng để lưu trữ các Output chứa giá trị là đầu ra của 1 test JDBC.

| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| - | Button | Cho phép người dùng tạo một trường dữ liệu Output cho test JDBC. | ||
| - | Button | Click button cho phép người dùng xóa 1 trường dữ liệu Output cụ thể đã khai báo cho test JDBC. | ||
| Data Type | Có | Combobox | Kiểu dữ liệu của 1 trường dữ liệu Output. Hệ thống khi khởi tạo Output mới mặc định là “String”. | |
| Name | Có | Text | Tên phải bắt đầu bằng chữ cái, bắt buộc bao gồm cả số và không chứa ký tự đặc biệt ngoài “_” | Tên của 1 trường dữ liệu Output trên hệ thống. |
| Column name | Có | Text | Tên của 1 trường dữ liệu trong Output mà JDBC trả về cho hệ thống. |
Lưu ý: Trường dữ liệu “Name” và “Column name" là khác nhau:
- Name là tên của tham số trên hệ thống chỉ được sử dụng để định danh cho biến output trên hệ thống.
- Column name là tên cột nằm trong kết quả trả về của 1 lần query JDBC test.
Bước 3: Click “Save” để lưu lại cấu hình, hệ thống hiển thị thông báo "Update successful”.
Tại bước 3, nếu người dùng không muốn tiếp tục, click “Back”
SQL
Cấu trúc 1 câu lệnh sql cơ bản bao gồm:
- Đối với Type Query
- SELECT: Gồm các cột mà người dùng muốn truy vấn
- FROM: Chỉ định bảng dữ liệu người dùng muốn truy vấn
- WHERE: Điều kiện truy vấn (Tùy chọn)
- GROUP BY: Nhóm dữ li ệu dựa trên 1 cột hoặc nhiều cột (Tùy chọn)
- ORDER BY: Sắp xếp kết quả (Tùy chọn)
- LIMIT: Giới hạn số lượng kết quả trả về (Tùy chọn)
- OFFSET: Số lượng dòng dữ liệu sẽ được bỏ qua trước khi trả về kết quả (Tùy chọn)
- Đối với Type Execute Update
- UPDATE: Gồm các cột mà người dùng muốn cập nhật dữ liệu
- SET: Xác định cột và giá trị thay đổi dữ liệu
- WHERE: Điều kiện lọc các bản ghi cần thay đổi (Tùy chọn)
Lưu ý:
- Yêu cầu đối với 1 câu SQL là phải đủ các thành phần bắt buộc, các thành phần tùy chọn có thể có hoặc không phụ thuộc vào mục đích của người dùng.
- Hệ thống sẽ không kiểm tra câu lệnh SQL của người dùng có hợp lệ hay không, nếu kịch bản test JDBC bị lỗi, có thể là do câu lệnh SQL có sai sót.
Query Builder
Lưu ý: Query Builder hiện tại chỉ hỗ trợ được Type Query
Edit query Builder
Bước 1: Click button , hệ thống hiển thị màn hình “EDIT QUERY BUILDER”

Mô tả trường thông tin
| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| Client-name | Có | Combobox | Là client ứng với profile của JDBC | |
| Add | - | Button | Thêm cấu hình | |
| Edit | - | Button | Chỉnh sửa cấu hình | |
| Clear | - | Button | Xóa toàn bộ cấu hình bên trong tính từ dòng của button “Clear” | |
| Delete | - | Button | Xóa 1 cấu hình |
Bước 2: Chọn 1 client trong danh sách client đã khai báo - nhưng không biết client được khai báo này là ở đâu? (Chọn 1 connection trong danh sách Profile platform JDBC đã được khai báo từ trước.)

Bước 3: Tiến hành cấu hình 1 câu query hoàn chỉnh.
Lưu ý: Cấu hình query builder nên bắt đầu từ mục FROM để xác định được các bảng dữ liệu sẽ được sử dụng.
SELECT
Bước 1: Click nút "Add" tại dòng SELECT để tạo thông tin đầu ra của jdbc, hệ thống tạo mới 1 dòng thông tin trong list “SELECT”
Bước 2: Click nút "Edit" tại dòng muốn chỉnh sửa, hệ thống hiển thị màn hình thông tin

Trong đó: Thông tin đầu ra phụ thuộc vào “Select column type”
Select column type bao gồm
- Min, max, avg, sum, count, countOne: Các hàm tổng hợp (aggregate functions) là các phép tính trên một tập hợp các giá trị và trả về một giá trị duy nhất.
- TruncDate: Hàm xử lý Date
- Case: Biểu thức điều kiện là Case
- Column: Hàm lấy dữ liệu theo trường dữ liệu
- QuerySelect: Hàm lấy dữ liệu từ 1 block query con bên trong SELECT
Các thông tin đầu ra được gắn vào Column alias và được map tới các Output được khai báo tại tab Config.
FROM
Bước 1: Click nút "Add" tại dòng FROM để tạo thông tin bảng sử dụng, hệ thống tạo mới 1 dòng thông tin "table name as" trong list “FROM”.
Bước 2: Click nút "Edit" tại table muốn chỉnh sửa, hệ thống hiển thị màn hình thông tin của 1 Table.
Trong đó: Type query là kiểu query giúp xác định cách thức sử dụng bảng trong JDBC, bao gồm 3 loại:
- Query Table: Sử dụng 1 bảng độc lập
- Query Join: Sử dụng từ nhiều bảng
- Query Select: Sử dụng dữ liệu từ 1 block query con
Query Table
Màn hình tùy chỉnh "queryTable"

| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| Schema name | Có | Combobox | Người dùng chọn Schema có chứa Table muốn sử dụng trong đó | |
| Table name | Có | Combobox | Người dùng chọn Table name muốn sử dụng | |
| Alias | Có | Text | Tên tạm thời của bảng được sử dụng trong mục khác, giúp rút gọn tên bảng hơn. Hệ thống sẽ tự sinh Alias từ Table Name, người dùng có thể chỉnh sửa |
Ví dụ: Thực hiện cấu hình câu query "Select … from public.nhanvien as nhanvien"

Sau khi lựa chọn các thành phần, người dùng ấn "Save", câu query vừa cấu hình được thay đổi trong "FROM.
Query Join
Màn hình tùy chỉnh "queryJoin"

Query có kết nối ít nhất 2 bảng lại với nhau.
- Join type bao gồm tất cả các kiểu join được cho phép trong driver của Connection đã chọn như “LEFT JOIN”, “RIGHT JOIN”, “INNER JOIN”, …
Các trường thông tin của bảng được join thao tác chọn thông tin tương tự một bảng độc lập tại "queryTable".
Sau khi click "Save", hệ thống cập nhật câu query trên danh sách "FROM".

Cấu hình kết nối giữa 2 bảng
Tại câu query trên danh sách "FROM", click button
giao diện hiển thị thêm dòng "ON" 
Button "Edit" tại dòng "ON" được sử dụng để kiểm soát điều kiện kết nối giữa 2 bảng “AND” hoặc “OR”.

Các bước cấu hình cho phần "CONDITION" xử lý tương tự phần "CONDITION" trong mục "WHERE".
Query Select
Màn hình tùy chỉnh "querySelect"
Khi click "Save", hệ thống tự động sinh ra 1 block cấu hình query con mới tại dòng table được chọn chỉnh sửa.

Thao tác thực hiện và các trường thông tin tương tự như cấu hình Builder cho block query ban đầu.
Dữ liệu trả về từ block query sẽ được gắn vào 1 table tạm và có thể sử dụng trong toàn bộ query builder.
WHERE
Trong mỗi câu điều kiện gồm 2 thành phần:
- Condition List: Chứa các điều kiện lọc dữ liệu.
- Condition Group List: Chứa 1 câu điều kiện cùng cấp với Condition List kết nối bằng điều kiện “AND” hoặc “OR”.

Tại hình minh họa có ý nghĩa tìm các bản ghi có điều kiện (1) và (2) đúng hoặc là (3) và (4) đúng.
Edit CONDITION
Bước 1: Tại dòng "CONDITION LIST", click button "Add", hệ thống thêm một câu điều kiện.

Bước 2: Tại các dòng điều kiện nằm trong "CONDITION LIST", click button "Edit", hiển thị màn hình cấu hình cho câu điều kiện.

Bước 3: Điền các thông tin phù hợp cho điều kiện cần sử dụng.

Trong đó
| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| Operation | Có | Combobox | Hiển thị danh sách các toán tử điều kiện được cho phép sử dụng trong driver Connection đã lựa chọn. Người dùng chọn 1 toán tử. | |
| IgnoreNull | Có | Combobox | Hiển thị 2 lựa chọn để kiểm soát: + True: nếu câu điều kiện có thể null + False: nếu câu điều kiện không được null | |
| Query Type | Có | Combobox | Hiển thị 2 lựa chọn loại query: + queryColumn: Thực hiện query giữa 2 trường dữ liệu + querySelect: Thực hiện viết câu query con để lấy dữ liệu trong câu điều kiện Người dùng thực hiện chọn 1 lựa chọn. | |
| QueryColumn 1 QueryColumn 2 Chỉ hiển thị khi queryType = “queryColumn” | ||||
| Format | Text | Chỉ sử dụng cho các điều kiện liên quan tới kiểu dữ liệu Date | Định dạng Date của dữ liệu VD: dd/MM/yyyy | |
| ColumnType | Có | Combobox | Hiển thị giá tr ị cho phép người dùng chọn 1: + Column: Sử dụng dữ liệu từ cột trong JDBC. + Value: Sử dụng dữ liệu truyền vào từ hệ thống | |
| Column alias | Có | Combobox | Hiển thị giá trị cho phép người dùng chọn 1: + Column: Sử dụng dữ liệu từ cột trong jdbc. + Value: Sử dụng dữ liệu truyền vào từ hệ thống | |
| Alias | Có | Combobox | Chỉ xuất hiện khi ColumnType = “Column” | Hiển thị giá trị của các table alias đã được khai báo trong giai đoạn cấu hình Edit Query Buider. Người dùng được phép chọn 1. |
| Column name | Có | Text (Combobox - phải check lại) | Chỉ xuất hiện khi ColumnType = “Column” | Hiển thị giá trị các cột trong table alias đã được chọn. Người dùng nhập tên trường |
| Type | Có | Combobox | Chỉ xuất hiện khi ColumnType = “Value” | Hiển thị giá trị của Value: + value: Dữ liệu được truyền thẳng vào phần cấu hình + parameterName: Dữ liệu sẽ được truyền vào khi call JDBC trong các kịch bản test |
| Value | Có | Text | Chỉ xuất hiện khi Type = “Value”. | Giá trị của cột so sánh. |
| isList | Có | Combobox | Chỉ xuất hiện khi ColumnType = “Value”. | Hiển thị giá trị Boolean: + true: Dữ liệu truyền vào là 1 List. + false: Dữ liệu truyền vào không phải là 1 List. |
| isNull | Có | Combobox | Chỉ xuất hiện khi ColumnType = “Value”. | Hiển thị giá trị Boolean: + true: Dữ liệu truyền vào sẽ là null. + false: Dữ liệu truyền vào không được null. |
| ValueType | Có | Combobox | Chỉ xuất hiện khi ColumnType = “Value”. | Hiển thị các kiểu giá trị của dữ liệu. Hệ thống mặc định khi tạo mới là “String” |
| IgnoreNull (Value) | Có | Combobox | Chỉ xuất hiện khi ColumnType = “Value”. | Hiển thị 2 lựa chọn để kiểm soát: + true: nếu dữ liệu có thể null + false: nếu dữ liệu không được null |
| ParameterName | Có | Text | Chỉ xuất hiện khi Query value Type = “parameterName”. | Nhập vào parameter đã được khởi tạo tại phần params List tại phần cấu hình |
Khi queryType = “querySelect”, hệ thống tự động sinh thêm block query con tại dòng "CONDITION" đã chỉnh sửa.

GROUP BY
Bước 1: Click nút "Add" tại dòng "GROUP BY" để tạo thông tin gom nhóm của JDBC, hệ thống tạo mới 1 dòng thông tin trong list “GROUP BY”.
Bước 2: Click nút "Edit" tại dòng muốn chỉnh sửa, hệ thống hiển thị màn hình thông tin.
Trong đó:
| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| Alias | Có | Combobox | Hiển thị tên tạm thời của table đã được khai báo tại phần "FROM". Người dùng được phép chọn 1. | |
| Column name | Có | Text | Hiển thị cột dữ liệu của table alias đã chọn. Người dùng nhập tên trường dữ liệu |
Sau khi click "Save", hệ thống cập nhật câu query trên danh sách "GROUP BY".
ORDER BY
Bước 1: Click button "Add" tại dòng "ORDER BY" để tạo thông tin sắp xếp của dữ liệu JDBC trả về, hệ thống tạo mới 1 dòng thông tin trong list “ORDER BY”.
Bước 2: Click button "Edit" tại dòng muốn chỉnh sửa, hệ thống hiển thị màn hình thông tin.

Trong đó:
| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| Alias | Có | Combobox | Hiển thị tên tạm thời của table đã được khai báo tại phần "FROM". Người dùng được phép chọn 1. | |
| Column name | Có | Text | Hiển thị cột dữ liệu của table alias đã chọn. Người dùng nhập tên trường dữ liệu | |
| Order Direction | Có | Combobox | Hiển thị tùy chọn sắp xếp được cho phép trong driver Connection đã chọn: + ASC: Sắp xếp tăng dần + DESC: Sắp xếp giảm dần Người dùng được phép chọn 1. |
Sau khi click "Save", hệ thống cập nhật câu query trên danh sách "ORDER BY".
LIMIT
Bước 1: Click nút "Edit" tại dòng "LIMIT" để tạo thông tin số lượng kết quả đầu ra của JDBC:
Bước 2: Hệ thống hiển thị màn hình thông tin, người dùng tiến hành nhập:

Trong đó:
| Tên trường | Bắt buộc | Định dạng | Ràng buộc | Mô tả |
|---|---|---|---|---|
| Type | Có | Combobox | Hiển thị giá trị của Value: + value: Dữ liệu được truyền trực tiếp vào phần cấu hình + parameterName: Dữ liệu sẽ được truyền vào khi call JDBC trong các kịch bản test Người dùng được phép chọn 1. | |
| Value | Có | Text | Chỉ xuất hiện khi Type = “Value” | Giá trị của cột so sánh. |
| isList | Có | Combobox | Hiển thị giá trị Boolean: + True : Dữ liệu truyền vào là 1 List. + False: Dữ liệu truyền vào không phải là 1 List. Người dùng được phép chọn 1. | |
| isNull | Có | Combobox | Chỉ xuất hiện khi ColumnType = “Value” | Hiển thị giá trị Boolean: + True : Dữ liệu truyền vào là 1 List. + False: Dữ liệu truyền vào không phải là 1 List. Người dùng được phép chọn 1. |
| ValueType | Có | Combobox | Hiển thị các kiểu giá trị của dữ liệu. Người dùng được phép chọn 1. Hệ thống mặc định khi tạo mới là “String” | |
| IgnoreNull | Có | Combobox | Hiển thị 2 lựa chọn để kiểm soát: + True : nếu câu điều kiện có thể null + False : nếu câu điều kiện không được null Người dùng thực hiện chọn 1. | |
| ParameterName | Có | Text | Chỉ xuất hiện khi ColumnType = “parameterName” | Nhập vào parameter đã được khởi tạo tại phần params List tại phần cấu hình |
| isNull | Có | Combobox | Chỉ xuất hiện khi ColumnType = “Value” | Hiển thị giá trị Boolean: + True : Dữ liệu truyền vào sẽ là null. + False: Dữ liệu truyền vào không được null. Người dùng được phép chọn 1. |
Sau khi click "Save" hệ thống cập nhật câu query trên dòng "LIMIT".
OFFSET
Các trường thông tin và thao tác tương tự như mục “LIMIT”