Hướng dẫn dựng project cơ bản sử dụng JBehave và Serenity BDD frameworks trong Windows

Wednesday, January 23, 2019
Edit this post


Về mặt định nghĩa của JBehave và Serenity BDD thì các bạn tự google nhé. Về mặt technical thì JBehave giúp map giữa story và script implementation một cách đơn giản, không cần phải cấu hình phức tạp. Serenity hỗ trợ sẵn bên trong nó JUnit cùng khả năng tạo report chi tiết và đẹp mắt.

Project mẫu có thể tải về ở link bên dưới, sau đó import vào Eclipse dưới dạng Maven project.


Vì sử dụng ngôn ngữ lập trình Java nên hẳn nhiên chúng ta cần phải cài JDK trước. Hướng dẫn cài JDK các bạn xem thêm ở link sau.

Để bắt đầu, trong Eclipse, hãy tạo mới một Maven project. Tất nhiên là máy tính bạn đang sử dụng phải có kết nối Internet thì Maven mới có thể tải các thư viện về được.

Để apply JBehave và Serenity, trong file pom.xml, chỉ cần đơn giản edit lại section dependencies như sau (version của các dependency bên dưới chạy ổn định trên máy tính của tôi ở thời điểm viết bài):


Tạo class AppTest kế thừa SerenityStory với nội dung như bên dưới. Class này sẽ là class main run. Khi chạy class này, nó sẽ tự động tìm và chạy tất cả các story trong thư mục stories.


Và đây là nội dung file test.story của chúng ta.


Trong file story, một scenario tương đương với một test case. Test case này bao gồm 2 step When, một là mở trang Facebook, hai là đăng nhập vào Facebook sử dụng account data từ bảng Examples bên dưới. Khi chạy, bạn sẽ thấy scenario này được chạy 2 lần với lần đầu sử dụng data cstoigian@gmail.com và lần thứ hai sử dụng data cstoigian@yahoo.com. Data-driven này được hỗ trợ hoàn toàn bởi framework, chúng ta không cần phải làm gì hết.


Tạo mới class BaseSteps với nội dung như bên dưới. Đây chính là phần implementation cụ thể map với 2 step When trong story test.story. Như đã thấy, các step này được map với nhau bởi annotation @When, bản chất của các step này là một Java method. Bên trong tôi chỉ đơn giản là in ra console các câu thông báo mà thôi. Tùy vào requirement cụ thể mà các bạn sẽ có các implement phức tạp hơn vào bên trong chúng.


Vậy BDD định nghĩa nghe có vẻ rắc rối và cao siêu nhưng thực tế ứng dụng thì các bạn sẽ thấy chúng ta viết các story và implement cụ thể bằng Java ở bên dưới. Tại sao phải phức tạp như vậy? Điều này thực ra sẽ giúp tối ưu resource cho team automation. Với cách viết script thuần code thông thường, bạn sẽ phải có 1 team automation gồm toàn những người biết code và có dev skills mới có thể làm được. Nhưng với cách viết này, chỉ cần 1-2 người chuyên làm nhiệm vụ code phần implementation bên dưới, còn để viết story bên trên, có thể load vào team manual QA cũng được, họ sẽ không cần phải care tới việc cấu hình cũng như dev skills. Hơn nữa, viết scenario story sử dụng ngôn ngữ cực kỳ con người nên sẽ map dễ dàng hơn với các manual test case.

Sau khi chạy xong, report của Serenity sẽ được tạo ra ở đường dẫn [đường dẫn tới project]/target/site/serenity/index.html. Ví dụ: D:\workspace\cstoigian.bdd.test\target\site\serenity\index.html

Còn đây là tổng quan cấu trúc project mẫu của chúng ta. Rất đơn giản phải không nào? Từ project mẫu này, các bạn có thể phát triển lên tiếp để adapt vào các dự án với quy mô lớn hơn.


Đơn giản vậy thôi, chúc các bạn thành công!!!

.
Xin vui lòng chờ đợi
Dữ liệu bài viết đang được tải về

💻Nhận dạy online 1 kèm 1 Automation Test từ cơ bản tới nâng cao (From Zero to Hero) 😁😁😁
Lộ trình gồm 3 phần:
1) Kỹ thuật lập trình và tư duy lập trình cơ bản
2) Nhập môn kiểm thử (Manual Test)
3) Kiểm thử tự động (Automation Test) + Chuẩn bị cho phỏng vấn
* Lộ trình chi tiết: Xem tại đây

🎓Đối tượng người học:
- Những bạn bị mất gốc căn bản môn lập trình.
- Những bạn muốn theo con đường kiểm thử (testing), đặc biệt là kiểm thử tự động (Automation Test).

🦘Người giảng dạy:
- Mình sẽ là người trực tiếp hướng dẫn.
- Nếu là các vấn đề ngoài chuyên môn hoặc sở trường, mình sẽ nhờ các anh chị em khác cũng làm trong ngành.

🤓Giới thiệu:
- Mình đã có hơn 10 năm kinh nghiệm làm IT ở cả trong và ngoài nước. Trong đó 3 năm đầu là làm lập trình viên Java, sau đó bén duyên với mảng Automation Test và theo nghề tới tận bây giờ. Mình được đào tạo chính quy về IT từ một trường Đại học danh tiếng ở TP.HCM (hệ kỹ sư 4 năm rưỡi), có chứng chỉ ISTQB, có thể giao tiếp tốt bằng tiếng Anh và có kinh nghiệm làm việc thực tế ở cả 2 mảng Outsource và Product. Title chính thức của mình là QA Automation Engineer, tuy nhiên, mình vẫn làm những dự án cá nhân chuyên về lập trình ứng dụng như Học Tiếng Anh StreamlineSách Nhạc. Mình là người có thái độ làm việc chuyên nghiệp, chăm chỉ và luôn nhiệt tình trong công việc.

💵Chi phí và hình thức thanh toán:
- Các bạn vui lòng liên hệ qua email songtoigianvn@gmail.com (email, chat, hoặc call) để book nội dung và khung giờ học (từ 8h tối trở đi).
- Mức phí: 150.000đ/buổi, mỗi buổi 60 phút.
- Lộ trình From Zero to Hero: 4.350.000đ (29 buổi).
- Bạn có thể học riêng và đóng tiền theo từng phần nếu muốn.
- Có thể học trước 1-2 buổi trước khi quyết định đi full lộ trình hoặc từng phần.
- Thanh toán qua Momo, chuyển khoản v.v...
BÌNH LUẬN
© Copyright by CUỘC SỐNG TỐI GIẢN
Loading...