Hôm nọ dự án bên mình cần tạo một lượng lớn data về mail gởi đến hệ thống trong thời gian ngắn và kiểm tra performance khi có quá nhiều mail gởi đến cùng lúc. Và đây là một trong những cách mình tìm hiểu được. Hi vọng sẽ giúp ích cho bạn.
Bài viết của mình sẽ gồm những phần sau:
1. Gởi mail bằng Gmail thông qua Jmeter
1.1. Sử dụng mật khẩu đăng nhập Gmail
1.2. Sử dụng mật khẩu tự tạo từ Gmail bằng “Use an App Password”
1.3 Các bước gởi mail
2. Gởi mail tự động với nội dung lấy từ file CSV
3. Gởi mail tự động với nội dung lấy từ database
Trong bài này mình sẽ viết phần “1. Gởi mail bằng Gmail thông qua Jmeter”.*
1. Gửi mail tự động bằng Jmeter
Mình sẽ sử dụng SMTP Sampler của Jmeter. Bản thân Jmeter không thể gởi mail đi được, vì nó không phải 1 server mail. Nhưng để gửi từ Gmail bằng Jmeter thì chúng ta phải qua được bước xác thực của Google. Ở đây sẽ có 2 cách, tùy theo yêu cầu về tính bảo mật mà bạn chọn cách phù hợp nhé.
1.1. Sử dụng mật khẩu đăng nhập Gmail
Với cách này bạn bắt buộc phải tắt những chế độ bảo mật khác của Gmail:
-
Tắt 2-Step Verification theo hướng dẫn: https://support.google.com/accounts/answer/1064203?co=GENIE.Platform%3DDesktop&hl=vi
-
Bật chế độ “Less secure app access / Cho phép truy cập từ ứng dụng ít bảo mật” (Phải tắt 2-Step Verification trước)
Bước 1: Login Gmail và truy cập: https://sal.vn/As0XXD
Bước 2: Turn off chế độ “Less secure app access”
=> Sau khi hoàn thành chúng ta sẽ dùng mật khẩu đăng nhập Gmail của bạn khi gởi mail từ Jmeter.
1.2. Sử dụng mật khẩu riêng với “Use an App Password”
Với cách này thì bạn bắt buộc phải bật 2-Step Verification và có thể giữ nguyên những chế độ bảo mật Gmail khác bằng cách tạo ra 1 mật khẩu riêng.
Để hiểu hơn và biết cách bật “Use an App Password” bạn đọc thêm ở đây nhé: https://support.google.com/accounts/answer/185833 (Đọc phần “Tạo và sử dụng Mật khẩu ứng dụng“ để bật ứng dụng)
=> Sau khi bật ứng dụng này thì bạn dùng mật khẩu đã đặt ra ở đây để đăng nhập Gmail khi dùng Jmeter.
1.3. Các bước gởi mail
Sau khi chọn được con đường chân lý thì bây giờ chúng ta mới đi vào phần quan trọng này =))
Bước 1: Tạo Thread Group
Bước 2: Tạo View Result Tree
Bước 3: Tạo SMTP Sampler
Bước 4: Điền thông tin cho SMTP Sampler
Thông tin điền như sau:
(1) Name: Tên của SMTP Sampler
(2) Comments: comment của bạn
(3) Server settings: phụ thuộc server mail mà bạn dùng
Đối với Gmail:
Server: smtp.googlemail.com
Port: 587
(4) Address From: địa chỉ email của người gửi
(5) Address To: địa chỉ email của người nhận
(6) Use Auth:
(7) Username & Password: thông tin đăng nhập của người gửi
Password bạn dùng ở đây có thể là mật khẩu đăng nhập Gmail (Cách 1.1) hoặc mật khẩu từ được tạo từ "Use an App Password" (Cách 1.2)
(8) Use StartTLS: tùy thuộc server mail, đối với thì nó là bắt buộc
(9) Subject: Chủ đề cho mail của bạn
(10) Message: Nội dung mail
(11) Attach file (s): Attachment đính kèm
Bước 5: Send mail
Sau khi setup ổn thỏa thì click “Start” để send mail thôi nào.
Đây là những bước để setup để gởi mail bằng Jmeter, nhớ tùy chỉnh số lượng mail muốn gởi đi ở Thread Group nhé.
Để đáp ứng những nhu cầu về số lượng người nhận và nội dung email khác nhau thì chúng ta có thể lấy data từ file CSV hoặc từ database, mình sẽ đề cập tiếp ở phần 2 và 3.
Kết quả
Nguồn: https://dzone.com/articles/send-jmeter-test-reports-on-email-automatically https://www.blazemeter.com/blog/load-testing-your-email-server-how-send-and-receive-e-mails-jmeter https://www.fehcom.de/qmail/smtpauth.html