JMeter Series – Hướng Dẫn Đọc Dữ Liệu Từ File Csv Để Test Login Form

Chia sẻ
5/5 - (3 bình chọn)

Tại bài viết JMeter Series – Hướng Dẫn Sử Dụng JMeter Test Login Form mình đã hướng dẫn cách test login form có thành công hay không bằng việc thêm Parameters username và password. Tuy nhiên nếu chúng ta muốn test login với nhiều user cùng lúc thì sẽ thực hiện như thế nào?

Bài viết hôm nay mình sẽ hướng dẫn cách đọc dữ liệu từ file csv (dữ liệu này có thể được export từ database) để thực hiện test login form liệu có thành công.

Test plan cần thực hiện

  • Thực hiện tạo test plan đọc dữ liệu từ file userList.csv test login form tại trang: https://practice.expandtesting.com/login
  • Số lượng users: 3
  • Thời gian: 1s
  • Report: Summary report, Tree report, Table report
  • File csv userList có data 2 cột username, password như sau:
    practice,111111
    practice,SuperSecretPassword!
    practice,222222
  • Kiểm tra việc đăng nhập có thành công hay không với response text: “You logged into a secure area!

Các bước tạo test plan đọc dữ liệu từ file csv

1. Add Thread Group

Viettel-4G
Click nhận ưu đãi các gói data 4G

Click phải vào Test Plan > Chọn Add > Chọn Threads (Users) > Chọn Thread Group

JMeter add thread group
Add Thread Group

2. Add HTTP Request

Click phải vào Thread Group > Chọn Add > Chọn Sampler > Chọn HTTP Request

JMeter add HTTP Request
Add HTTP Request

3. Config HTTP Request

Để thực hiện login tại trang https://practice.expandtesting.com/login cần config thông tin như sau:

  • Protocol: http
  • Server Name or IP: practice.expandtesting.com
  • Method: POST
  • Path: authenticate
  • Nhấn Add để thêm Parameters:
    1) Name: “username”, Value: “${username}”
    2) Name: “password”, Value: “${password}”
    Name là “username” và “password” được lấy từ input name trên trang web nhé.
    Value điền tên biến ${username} và ${password}
jmeter-read-csv-config-request
Config HTTP Request
jmeter-read-csv-param
Parameters Name

4. Config Thread Group

Thiết lập Thread Properties:

  • Number of Threads (users): Số lượng users giả lập được gửi vào trang web
  • Ramp-Up Period (in seconds): Thời gian gửi lượng users vào trang web
  • Loop Count: Số lần lặp
  • Forever: Check để lặp không giới hạn, uncheck để lặp bằng số Loop Count
jmeter-read-csv-config-thread-group
Add Thread Group

5. Add Listener

Thêm report thống kê để theo dõi kết quả test.
Click phải vào Thread Group > Chọn Add > Chọn Listener > Chọn Summary Report / View Results in Table / View Results Tree.

jmeter-test-login-report
Add Listener

6. Add Response Assertion

Để biết rằng sau khi login thành công trang web có trả về kết quả mong muốn hay không ta thêm vào một Response Assertion.

Thêm Response Assertion: Click phải vào HTTP Request > Chọn Add > Chọn Response Assertion
Chọn Field to Test: Text Response
Thêm text cần kiểm tra sau khi login thành công: Chọn Add > Thêm text Hello docgihocgi

jmeter-read-csv-assertion
Add Response Assertion
jmeter-read-csv-assertion-text
Config Response Assertion
login-success
Message trả về sau khi login thành công

7. Add CSV Data Set Config

Trước tiên ta tạo file userList.csv chứa dữ liệu cần import bao gồm 2 cột username và password

csv-import
tạo userList.csv

Sau đó thêm vào CSV Data Set Config để đọc dữ liệu từ file đã tạo:
Click phải vào Thread Group > Chọn Add > Chọn Config Element > Chọn CSV Data Set Config

jmeter-add-csv-data-set-config
Add CSV Data Set Config

Thiết lập các thông tin sau:

  • Filename: D:/Docgihocgi.com/JMeter/userList.csv
    (Chọn file userList.csv đã được tạo)
  • Variable Names: username, password
    (username và password là 2 biến ${username}, ${password} cần truyền vào tại bước 3. Add HTTP Request )
  • Delimiter: dấu , (hoặc dấu 😉
    (Dấu phân cách giữa 2 cột username và password trong file csv)
csv-delimiter
csv-data-set-config

8. Start Test

Nhấn vào icon start / start no pause để bắt đầu chạy test

jmeter-start

jmeter-start-no-pause
csv-data-set-config-start-test
Start Test

9. Test Report

Sau khi start test thì bạn đã có thể xem được kết quả test đang chạy cho đến khi kết thúc.

jmeter-read-csv-summary-report
Summary Report
jmeter-read-csv-view-result-tree
View Results Tree
view-results-in-table
View Results in Table

Giải thích các thông số:

#Samples: Tổng số lần run của request. #Samples = Number of Threads (users) * Loop Count
Average: Thời gian phản hồi trung bình (Response Time) của request, tính cho đến lần gửi cuối cùng
Min: Respone Time thấp nhất của request đã gửi
Max: Respone Time cao nhất của request đã gửi
Std Dev.: Độ lệch chuẩn đo lường sự thay đổi của 1 tập hợp data, dựa trên thống kê.
Error %: % số lượng request bị lỗi
Throughput: Throughput = (Tổng số lượng requests) / (Tổng thời gian) * (Đơn vị chuyển đổi). Lượng requests được hệ thống (server) xử lý trong 1 đơn vị thời gian, có thể là giây, phút, hoặc giờ.
Received KB/sec: Dung lượng nhận được từ server
Sent KB/sec: Dung lượng gửi lên server
Avg. Bytes: Dung lượng trung bình của 1 lần response tính bằng bytes

Kết quả trả về request 2 thành công do thông tin username, password tại row 2 trong file csv có thể login được.
Request 1 và 3 tương ứng với row 1,3 trong csv bị lỗi do thông tin đăng nhập không đúng.
Chọn HTML và tab Response data để xem kết quả

result-login-success
Successful Login
result-login-fail
Failed Login

10. Save Report

Sau khi chạy test plan xong bạn có thể lưu lại kết quả test về file .csv
Tại Summary Report nhấn vào Save Table Data > Nhập File Name > Nhấn Save

jmeter-read-csv-save-report
Save report

File .csv được lưu hiển thị như sau

jmeter-read-csv-report
Csv report

Lời Kết

Như vậy qua bài viết trên bạn đã có thể tạo test plan để đọc dữ liệu từ file csv sử dụng vào test performance login form rồi đấy.
Tuy nhiên đây chỉ là ví dụ cơ bản khi test login với 2 biến username và password. Tùy từng yêu cầu của dự án nên bạn cần sử dụng biến và kiểm tra dữ liệu được đọc vào cho phù hợp.

Hẹn gặp lại các bạn trong những bài viết tiếp theo trong JMeter Series nhé.

Viettel-4G
Click nhận ưu đãi các gói data 4G

2 thoughts on “JMeter Series – Hướng Dẫn Đọc Dữ Liệu Từ File Csv Để Test Login Form”

  1. Em làm giống như trên ad chỉ, file csv của em có 3 tài khoản cũng 2 tài khoản sai pass hoặc user nhưng không báo lỗi như ad ạ, thêm trjang thái succcessfull Login thì chạy cái này bị sai còn 3 tài khoản login vẫn chạy đúng ạ

Leave a Comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Scroll to Top
Scroll to Top