Đánh giá các công cụ kiểm tra tự động hóa Selenium tốt nhất: Robot Framework vs Katalon Studio

Gần đây tôi có cơ hội làm việc với một số nhóm thử nghiệm phần mềm để giúp họ bắt đầu với những nỗ lực tự động hóa thử nghiệm của họ. Các nhóm bao gồm hầu hết những người thử nghiệm thủ công và một số người đã có kinh nghiệm với tự động hóa thử nghiệm trước đó, nhưng không ai trong số họ quen thuộc với lập trình như các nhà phát triển. Các ứng dụng chủ yếu dựa trên web, với các ứng dụng di động đồng hành. Chúng tôi đã lập một danh sách ngắn gồm một số công cụ kiểm tra, bao gồm cả công cụ miễn phí và không miễn phí, sau đó đưa ra hai công cụ tốt nhất - Robot Framework và Katalon Studio. Chúng là những lựa chọn khá tốt nói chung, vì vậy tôi nghĩ sẽ rất thú vị khi so sánh cạnh nhau và xem chúng sẽ hoạt động như thế nào trong tương lai.

Công nghệ

Cả hai đều được xây dựng trên đỉnh Selenium - khung tự động hóa hiện đang được hỗ trợ bởi các nhà phát triển trình duyệt web hàng đầu (Google, Microsoft, Apple, Mozilla). Có thể nói rằng Selenium là cách tốt nhất để tự động hóa trình duyệt web của bạn bây giờ.

Selenium cũng có thể được sử dụng để tự động hóa các ứng dụng di động thông qua Appium. Được cho rằng Google và Apple đều đưa ra cách thức tự động hóa của riêng họ, sử dụng Selenium và Appium có nghĩa là chúng ta có thể sử dụng lại mã nguồn và kiến ​​thức trong nhiều nền tảng - học một lần, viết ở mọi nơi.

Vì vậy, đối với công nghệ, nó có một cà vạt. Robot Framework - Katalon Studio: 1 Phi1.

Giá bán

Cả hai đều miễn phí mà không có nghĩa vụ. Chạy các phần mềm doanh nghiệp đã lỗi thời của Wap như UFT chỉ là chi phí cấm đối với chúng tôi.

Robot Framework - Katalon Studio: 1 Phi1.

Lắp đặt & Linh kiện

Robot Framework đi kèm với hai thành phần riêng biệt: người chạy thử và IDE. Nó là một chút phức tạp để cài đặt các thành phần này, nhưng một khi mọi thứ đã được thực hiện, bạn tốt để đi. Đầu tiên, bạn cần cài đặt Python trên máy tính của bạn. Sau đó chạy một số dòng lệnh. Nếu bạn sử dụng Windows, bạn có thể gặp phải sự cố vì HĐH này không phải là công dân hạng nhất của Python, nhưng chúng hiếm khi xảy ra và các giải pháp có thể được giải quyết dễ dàng.

Thực sự có một thành phần không chính thức của thứ ba, mà tôi sẽ đề cập sau.

Đối với Katalon Studio, theo ý kiến ​​của tôi, đây là một trong những trải nghiệm cài đặt tốt nhất. Nếu bạn đã cài đặt Eclipse, thì bạn sẽ biết nó. Đối với Windows, bạn sẽ phải tải xuống tệp ZIP và giải nén. Đối với macOS, có tệp DMG sẵn sàng cho bạn. Khá gọn gàng.

Khung Robot - Katalon Studio: 0,5 Hàng1.

Thiết kế thử nghiệm

Ghi âm (tự động kiểm tra mã hóa)

Thành thật mà nói, là một lập trình viên, tôi không phải là một fan hâm mộ lớn của thu âm và phát lại. Tôi cảm thấy dễ dàng và nhanh chóng hơn khi chỉ cần nhập mã. Tuy nhiên, đối với những người có ít kinh nghiệm về mã hóa, khả năng ghi lại hành động của họ và tạo ra các trường hợp thử nghiệm là một chiến thắng năng suất rất lớn.

Thật không may, Robot Framework không cung cấp máy ghi âm - và đây là nơi thành phần thứ ba xuất hiện. Dự án Selenium bao gồm một tiện ích bổ sung Firefox khét tiếng có tên là Selenium IDE, về cơ bản là một công cụ phát lại và ghi lại thử nghiệm. Selenium IDE có thể có các tiện ích bổ sung (đó là tiện ích bổ sung!) Và ai đó đã vui lòng viết một tiện ích bổ sung giúp Selenium IDE tạo mã Robot Framework. Một số công việc cài đặt sẽ được thực hiện, nhưng nó hoạt động.

Nhược điểm của điều này là sự phát triển Selenium IDE đã không hoạt động trong một thời gian và nó dựa trên khung bổ trợ cũ của Firefox, mà họ đã quyết định rút phích cắm vào cuối năm 2017. Vâng, Selenium IDE sẽ ngừng hoạt động vào thời điểm đó cho các phiên bản Firefox mới hơn.

Katalon Studio đi kèm với các tiện ích bổ sung dành riêng cho Chrome, Firefox và thậm chí cả Internet Explorer. Cài đặt dễ dàng như đi đến các cửa hàng bổ trợ trình duyệt web tương ứng và nhấp vào cài đặt.

Katalon Studio mở rộng dẫn đầu của nó ở đây. Khung Robot - Katalon Studio: 0,5 Hàng1.

Mã hóa (Scripting)

Robot Framework có ngôn ngữ riêng cho miền (DSL). Từ khóa tùy chỉnh có thể được viết bằng Python và Java, nhưng khi nói đến nội dung trường hợp thử nghiệm, bạn phải nói DSL đó. Tại sao nó bắt chước ngôn ngữ của con người cho các trường hợp thử nghiệm đơn giản, những ngôn ngữ phức tạp khá là robot. Cá nhân tôi thấy nó ít mô tả hơn các ngôn ngữ lập trình phổ biến:

*** Cài đặt ***
Chuỗi thư viện
*** Trường hợp thử nghiệm ***
Cho vòng lặp trong phạm vi
 : CHO $ ​​{INDEX} TRONG RANGE 1 3
 \ Đăng nhập $ {INDEX}
 \ $ {RANDOM_STRING} = Tạo chuỗi ngẫu nhiên $ {INDEX}
 \ Đăng nhập $ {RANDOM_STRING}
Yếu tố vòng lặp
 @ {ITEMS} Tạo danh sách Star Trek Star Wars Perry Rhodan
 : CHO $ ​​{Element} IN @ {ITEMS}
 \ Đăng nhập $ {Element}
 \ $ {NGUYÊN NHÂN} Thay thế Chuỗi $ {Element} $ {SPACE} $ {EMPTY}
 \ Đăng nhập $ {Element}
Thoát khỏi vòng lặp
 @ {ITEMS} Tạo danh sách Yếu tố tốt 1 Phá vỡ tôi Yếu tố tốt 2
 : CHO $ ​​{Element} IN @ {ITEMS}
 \ Đăng nhập $ {Element}
 \ Chạy từ khóa Nếu '$ {Element}' == 'Break On Me' Thoát cho vòng lặp
 \ Đăng nhập Thực hiện thêm hành động tại đây ...
Lặp lại hành động
 Lặp lại từ khóa 2 Đăng nhập Lặp lại ...

Nhưng Robot Framework IDE với tính năng tô sáng cú pháp là tốt, vì vậy tôi đoán rằng tôi có thể làm quen với nó một cách nhanh chóng.

Katalon Studio, mặt khác, hỗ trợ Groovy và tất nhiên là Java (Groovy dựa trên Java). Tại sao nó không phổ biến như các ngôn ngữ lập trình chính thống như Java, C # hoặc JavaScript - nó mang các cấu trúc sản xuất tương tự như trong Ruby, Python hoặc JavaScript. Một điều tốt nữa là có rất nhiều thư viện Java miễn phí để làm mọi thứ, vì vậy chúng tôi không phải viết lại tất cả mọi thứ.

Nhưng điều thú vị nhất trong Katalon Studio là chúng ta có thể chuyển đổi giữa chế độ Thủ công (với Trình ghi và GUI điểm và nhấp) và chế độ Tập lệnh (với trình soạn thảo Groovy) bất cứ lúc nào. Chúng tôi đã tận dụng điều này để giáo dục những người kiểm tra thủ công viết mã. Đầu tiên, họ thiết kế các trường hợp thử nghiệm của mình bằng các hành động và các yếu tố theo điểm nhấn, sau đó chuyển sang chế độ Script để xem mã Groovy tương đương. Tính năng rất hay.

Khung Robot - Katalon Studio: 0,5 Hàng1.

Kiểm tra dữ liệu

Cả hai đều tốt. Dữ liệu cho các trường hợp thử nghiệm có thể được cung cấp từ các tệp Excel, cơ sở dữ liệu, v.v. Chúng tôi có những gì chúng tôi cần, vì vậy bây giờ không có gì để phàn nàn.

Robot Framework - Katalon Studio: 1 Phi1.

Mở rộng từ khóa

Bạn có thể viết từ khóa tùy chỉnh trong cả Robot Framework và Katalon Studio. Họ yêu cầu một số cú pháp nghi lễ lặp đi lặp lại, nhưng người kiểm tra có thể tự viết từ khóa mà không cần sự trợ giúp từ các lập trình viên. Các tài liệu và hướng dẫn là đủ tốt, vì vậy tôi sẽ để nó như một cái cà vạt. Robot Framework - Katalon Studio: 1 Phi1.

Thực thi, báo cáo và tích hợp

Chúng tôi hy vọng các công cụ tự động hóa thử nghiệm hiện đại có thể thực hiện các trường hợp thử nghiệm thông qua dòng lệnh và trong CI như Jenkins. Chúng tôi cũng cần có các báo cáo trong ứng dụng để dễ dàng điều tra các thất bại. Các báo cáo cũng cần được chuẩn bị ở định dạng có thể lưu trữ (HTML, CSV, PDF) để có thể tra cứu chúng sau này.

Có vẻ như Katalon Studio đang thử nghiệm tích hợp JIRA bản địa hơn, nghe có vẻ tốt với tôi vì chúng tôi cũng sử dụng JIRA, nhưng hãy để tôi xem nó sẽ hoạt động tốt như thế nào.

Một điều còn thiếu ở cả hai là một hình ảnh để giảm thời gian triển khai và cấu hình CI, nhưng có lẽ đó chỉ là sự lười biếng của tôi.

Một chiếc cà vạt khác cho tôi. Robot Framework - Katalon Studio: 1 Phi1.

Cộng đồng và hỗ trợ

Cả hai sản phẩm đang được phát triển tích cực và được hỗ trợ tốt bởi chủ sở hữu cũng như cộng đồng. Các câu hỏi được trả lời trong thời gian rất ngắn. Hơn nữa, vì Robot Framework và Katalon Studio dựa trên Selenium, chúng tôi có thể sử dụng vanilla Selenium và WebDriver khá nhiều cho các tình huống phức tạp.

Có vẻ như Katalon Studio được xây dựng bởi một công ty làm dịch vụ kiểm thử phần mềm, điều đó có nghĩa là họ biết những tính năng nào là thiết thực và cần thiết. Robot Framework là một dự án nguồn mở phổ biến trên GitHub vì vậy tôi mong đợi điều tương tự.

Cà vạt cuối cùng ở đây. Robot Framework - Katalon Studio: 1 Phi1.

Phần kết luận

Khung Robot: 7.5 / 9 - Studio Katalon: 9/9.

Cả hai công cụ đều là lựa chọn tuyệt vời cho các nhóm tự động hóa thử nghiệm, với Katalon Studio có ưu thế hơn về trải nghiệm người dùng và do đó tốt hơn Robot Framework cho nhóm tự động hóa thử nghiệm dựa trên thử nghiệm. Cạnh tranh luôn tốt cho người tiêu dùng, và tôi mong muốn được thấy nhiều tiến bộ hơn từ người chơi trong tương lai.

Bài đăng trên blog của tôi: Robot Framework vs Katalon Studio