Thực hiện automation test với hệ thống có yêu cầu xác thực email

Tram Ho

I. Yêu cầu:

Việc đăng ký, đăng nhập là một thủ tục rất quen thuộc trong các hệ thống. Trong khi đó, nhiều hệ thống yêu cầu xác thực email khi đăng ký tài khoản. Khi bạn thực hiện test hệ thống, chắc đã quá quen với việc đăng ký và xác thực này.

Tuy nhiên, số lượng email cá nhân là có hạn, vậy làm sao có đủ email để thực hiện test đi test lại chức năng này, chưa kể khi test các chức năng phía sau cần phải đăng nhập vào, có thể nói số lượng email phải sử dụng là rất lớn. Vì vậy chúng ta có các dịch vụ disposable email (nôm na là email sử dụng một lần), chắc hẳn nhiều bạn đã quen với các dịch vụ/hệ thống này, vậy nay mình xin liệt kê lại một vài website có hỗ trợ disposable email:

Các hệ thống disposable email phổ biến:

Vậy cách thức thực hiện như nào?

Thông thường, disposable email mình có thể tự nhập tên email, phía sau @ sẽ sử dụng domain của các hệ thống này.
Ví dụ với qa.team, khi đăng ký chúng ta có thể sử dụng email [email protected] để đăng ký, sau đó vào qa.team nhập tam.nguyen và có thể nhận các email bình thường.

Đối với hệ thống temporary email như https://temp-mail.org, hệ thống sẽ tự generate email cho chúng ta, chúng ta chỉ việc copy email đó để đăng ký và quay lại hệ thống để nhận mail.

Vậy thực hiện automation với hệ thống có yêu cầu email verification thì thế nào?

Tương tự như manual, chúng ta có thể thực hiện nó ngay trên tầng UI. Manual như nào thì chúng ta có thể thực hiện với automation như vậy. Mặc dù các hệ thống này có support API, tuy nhiên để gần với user behavior nhất thì trong bài viết này mình sẽ sử dụng Selenium Java để thực hiện automation ngay trên UI.

II. Sử dụng Selenium java để thưc hiện automate cho hệ thống yêu cầu email verification

Hãy cùng thử viết một project automation cho website https://playground.mailslurp.com/

1. Import các thư viện cần thiết

Đầu tiên, hãy cũng tạo một project demo cho yêu cầu này. Mình sử dụng Maven project và add các depedencies cần thiết vào:
Ở đây chỉ là thư viện của Selenium, TestNG và WebDriverManager để quản lý webdriver

2. Các bước đăng ký có verify email cho website demo https://playground.mailslurp.com/

Các bước manual ở đây sẽ như sau:

1. Đăng ký

register

2. Đăng nhập

  • Điền email vừa đăng ký
  • Nhập password
  • Nhấn nút đăng nhập
  • Kiểm tra đăng nhập thành công

login

Tương tự như vậy, bắt tay vào viết 1 class để chạy nhé

2. Viết class test để thực hiện automate cho các step bên trên

Ở đây mình có một class sử dụng Java, Selenium và TestNG để automate các bước phía trên như sau:

Ở phía trên, hầu hết các câu lệnh đã được giải thích trong comment, hầu hết là thực hiện các bước y như manual. Nếu các bạn có câu hỏi nào có thể google hoặc để lại comment nhé

Ở đây mình chỉ tạo một class viết step by step, mọi người tự áp dụng vào framework của mình nhé

Referencies:
https://github.com/npmtam/Automation-Testing-Articles/issues/2

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo