Nhảy tới nội dung
Phiên bản: 1.0.1

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"

alt text

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

alt text

Tên trườngBắt buộcĐịnh dạngRàng buộcMô 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 alt text hoặc click "New Sql"

alt text

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

alt text

Bước 2: Nhập thông tin vào các trường dữ liệu

Trong đó:

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
NameCó-Tên của Sql
Command TypeCóComboboxHệ 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 TypeCóComboboxQuery 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 ConfigCóTextSql Type = “Sql”Chứa câu lệnh SQL để tương tác với cơ sở dữ liệu.
alt textCóbuttonSql 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

alt text

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
alt text-ButtonCho phép người dùng ẩn/hiện trường dữ liệu “Description” của một Parameter trong test JDBC.
alt text-ButtonClick button cho phép người dùng tạo một Parameter mới cho test JDBC.
alt text-ButtonClick button cho phép người dùng xóa tất cả Parameter đã khai báo cho test JDBC.
alt text-Check buttonXuất hiện khi click "New parameter"Nếu button checked alt text : Xác định dữ liệu trên tham số trong json đó trở thành 1 List. VD: Nếu data Type của biến là “String” được chọn là 1 list. Dữ liệu Type nhập vào cho biến này phải là 1 List
alt text-ButtonXuấ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
alt text-ButtonXuấ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 TypeCóComboboxKiểu dữ liệu của 1 Parameter.
Hệ thống khi khởi tạo Parameter mới mặc định là “String”.
NameCóTextTê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-TextTrườ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.

alt text

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
alt text-ButtonCho phép người dùng tạo một trường dữ liệu Output cho test JDBC.
alt text-ButtonClick 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 TypeCóComboboxKiể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”.
NameCóTextTê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 nameCóTextTê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 alt text, hệ thống hiển thị màn hình “EDIT QUERY BUILDER”

alt text

Mô tả trường thông tin

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
Client-nameCóComboboxLà client ứng với profile của JDBC
Add-ButtonThêm cấu hình
Edit-ButtonChỉnh sửa cấu hình
Clear-ButtonXóa toàn bộ cấu hình bên trong tính từ dòng của button “Clear”
Delete-ButtonXó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.)

alt text

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”

alt text

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

alt text

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”.

alt text

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"

alt text

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
Schema nameCóComboboxNgười dùng chọn Schema có chứa Table muốn sử dụng trong đó
Table nameCóComboboxNgười dùng chọn Table name muốn sử dụng
AliasCóTextTê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"

alt text

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.

alt text

Query Join

Màn hình tùy chỉnh "queryJoin"

alt text

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".

alt text

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 alt text

alt text

giao diện hiển thị thêm dòng "ON" alt text

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”.

alt text

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"

alt text

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.

alt text

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”.

alt text

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.

alt text

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.

alt text

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

alt text

Trong đó

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
OperationCóComboboxHiể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ử.
IgnoreNullCóComboboxHiể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 TypeCóComboboxHiể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”
FormatTextChỉ 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
ColumnTypeCóComboboxHiể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 aliasCóComboboxHiể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
AliasCóComboboxChỉ 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 nameCó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
TypeCóComboboxChỉ 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
ValueCóTextChỉ xuất hiện khi Type = “Value”.Giá trị của cột so sánh.
isListCóComboboxChỉ 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.
isNullCóComboboxChỉ 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.
ValueTypeCóComboboxChỉ 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óComboboxChỉ 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
ParameterNameCóTextChỉ 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.

alt text

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”.

alt text

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.

alt text

Trong đó:

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
AliasCóComboboxHiể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 nameCóTextHiể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”.

alt text

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.

alt text

Trong đó:

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
AliasCóComboboxHiể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 nameCóTextHiể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 DirectionCóComboboxHiể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:

alt text

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:

alt text

Trong đó:

Tên trườngBắt buộcĐịnh dạngRàng buộcMô tả
TypeCóComboboxHiể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.
ValueCóTextChỉ xuất hiện khi Type = “Value”Giá trị của cột so sánh.
isListCóComboboxHiể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.
isNullCóComboboxChỉ 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.
ValueTypeCóComboboxHiể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”
IgnoreNullCóComboboxHiể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.
ParameterNameCóTextChỉ 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
isNullCóComboboxChỉ 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".

alt text

OFFSET​

Các trường thông tin và thao tác tương tự như mục “LIMIT”