Bắt đầu với chuỗi bài học liên quan đến Selenium, mình muốn ôn lại một chút về lý thuyết, định nghĩa và một số các ưu nhược điểm của Selenium. Mấy kiến thức này có thể có trong bài test vòng sơ tuyển của một số công ty muốn tuyển vị trí automation test (ahihi cái này là mình đoán thế nhé). Mà dù có hay không thì cũng đâu quan trọng, vì dù gì thì trước khi sử dụng cái gì đó thì mình cũng nên biết một ít về lai lịch của nó, coi như là làm quen bước đầu để dễ làm việc với nhau ấy mà. Giống như quảng cáo bao giờ chả có câu “đọc kỹ hướng dẫn sử dụng trước khi dùng” đó.

Đang xem: Hướng dẫn cài đặt selenium ide

JavaScript Executor trong Selenium Webdriver
Selenium là gì? Một số kinh nghiệm làm việc với Selenium

Không lan man mất thì giờ nữa, trong lĩnh vực phần mềm nói chung và riêng mảng test nói riêng, thì khi nhắc đến Selenium người ta thường nghĩ ngay đến nó như là một tool đi liền với automation. Vậy thì Selenium là cái chi? Bây giờ mình cùng điểm lại một vài nội dung chính và nổi bật của Selenium nào!!!

*

Selenium là gì?

Selenium là một bộ công cụ kiểm thử tự động open source, dành cho các ứng dụng web, hỗ trợ hoạt động trên nhiều trình duyệt và nền tảng khác nhau như Windows, Mac, Linus… Với Selenium, bạn có thể viết các testscript bằng các ngôn ngữ lập trình khác nhau như Java, PHP, C#, Ruby hay Python hay thậm chí là Perl…

Selenium được sử dụng để automate các thao tác với trình duyệt, hay dễ hiểu hơn là nó giúp giả lập lại các tương tác trên trình duyệt như một người dùng thực sự. Ví dụ bạn có thể lập trình để tự động bật trình duyệt, open một link, input dữ liệu, hay get infor page, upload, download dữ liệu từ trên web page. Với selenium bạn có thể làm đc rất nhiều thứ. Hơn thế nữa, bạn có thể sử dụng, tùy biến để tận dụng tối đa sức mạnh của nó. Ngoài mục đích sử dụng trong kiểm thử, bạn có thể tự xây dựng một project để automate những công việc nhàm chán, lặp đi lặp lại của bạn.

Selenium bao gồm những gì?

Selenium là một khái niệm chung về một bộ phần mềm được sử dụng trong automation, mỗi loại trong đó đáp ứng một yêu cầu testing khác nhau. Về cơ bản thì Selenium có 4 thành phần:

Selenium IDE: Selenium Integreted Development Environment (IDE), là một plug-in trên trình duyệt Fire-Fox, ta có thể sử dụng để record và play back lại các thao tác đó theo một quy trình hay một test case nào đó.Selenium RC: Selenium Remote Control (RC), Selenium server khởi chạy và tương tác với trình duyệt web.WebDriver: Selenium WebDriver gửi lệnh khởi chạy và tương tác trực tiếp tới các trình duyệt mà không cần thông qua một server như Selenium RC.Selenium Grid: Selenium Hub dùng để khởi chay nhiều các test thông qua các máy và các trình duyệt khác nhau tại cùng một thời điểm.

Năm 2008, Selenium team đã quyết định gộp Selenium RC và WebDriver để tạo ra Selenium 2 với nhiều tính năng mạnh mẽ hơn, mà hiện nay phần lớn các project Selenium đều sử dụng.

Một số tính năng nổi bật chung

Có thể kết hợp với nhiều ngôn ngữ lập trình: Java, .Net, Ruby, Python, PerlSelenium giả lập thao tác người dùng trên web page và các web element.Có thể verify và so sánh thông tin trên web pageScript đc base theo HTML, học dễ và ứng dụng cũng rất nhanhCó thể tạo một bộ test bao gồm nhiều test caseCó thể run các test suite thông qua Selenium IDE hoặc Selenium command lineSelenium API hỗ trợ nhiều loại trình duyệt, do đó sẽ rất dễ dàng khi test các ứng dụng web với các trình duyệt khác nhau.

Selenium IDE

Selenium Integrated Development Environment (IDE), là framework đơn giản nhất và dễ học nhất trong bộ Selenium. Nó là một plug-in chỉ dành cho trình duyệt FireFox – bạn chỉ có thể sử dụng Selenium IDE với trình duyệt FireFox mà thôi. Bạn có thể kết hợp Selenium IDE với các plug-in khác để tận dụng được nhiều tính năng hơn với IDE.

Xem thêm:

Tuy nhiên, vì nó đơn giản nên bạn cũng chỉ thực hiện được những case đơn giản mà thôi. Với những case phức tạp hơn, thì bạn phải sử dụng WebDriver.

Ưu điểm:

Dễ dàng cài đặt và sử dụngKhông yêu cầu người dùng phải có kỹ năng lập trình, chỉ cần bạn có hiểu biết một chút về HTML và DOM là đã có thể sử dụng được tool rồi.Có thể export các test đã tạo để sử dụng trong Webdriver hoặc Selenium RCCó cung cấp chức năng để bạn có thể report kết quả hoặc các hỗ trợ khi sử dụngBạn có thể sử dụng tích hợp với các extension khác nữa.

Nhược điểm:

Là 1 extension mà bạn chỉ có thể cài đặt trên trình duyệt Fire FoxNó được thiết kể để tạo các test đơn giản hoặc prototype testVới IDE thì bạn không thể thực hiện được các tính toán, câu lệnh phức tạp, hay có điều kiện.Hiệu năng hoạt động thì chậm hơn nhiều so với Webdriver và Selenium RC

Selenium Webdriver

Selenium Webdriver được đánh giá là tốt hơn Selenium IDE và Selenium RC trên rất nhiều các khía cạnh. Selenium Webdriver thực hiện automate tương tác với trình duyệt với hướng tiếp cận hiện đại và ổn định hơn. Các tương tác với trình duyệt được gửi trực tiếp từ Selenium driver mà không thông qua Javascript như selenium RC.

Selenium Webdriver hỗ trợ nhiều các ngôn ngữ lập trình như: Java, C#, PHP, Python, Perl và Ruby.

Ưu điểm:

Communicate trực tiếp với trình duyệtTương tác với trình duyệt giống như thao tác của một người dùng thậtTốc độ nhanh hơn so với Selenium IDEThao tác dễ dàng hơn với các phép tính toán logic hay các điều kiện phức tạp

Nhược điểm:

Cài đặt phức tạp hơn so với Selenium IDEĐòi hỏi người dùng phải có kĩ năng lập trình

Selenium Grid

Về lý thuyết ta có thể hiểu đây là ta xây dựng một Selenium hub dùng để khởi chay nhiều các test thông qua các máy và các trình duyệt khác nhau tại cùng một thời điểm. Có thể hiểu đơn giản thông qua hình dưới đây:

Trên đây là một số giới thiệu cơ bản nhất về Selenium IDE và Selenium webdriver ngoài ra còn Selenium Grid, mà cái này mình cũng chưa tìm hiểu nhiều, cho nên sẽ nói về sau khi đã tìm hiểu nhiều hơn về nó. Tùy theo điều kiện thực tế của dự án và đặc thù test mình có thể lựa chọn các công cụ phù hợp. Có thể sử dụng độc lập hay kết hợp các tool với nhau tùy mục đích để đạt được hiệu quả công việc cao nhất.

Xem thêm:

Nội dung bài viết và hình ảnh được tổng hợp từ nhiều nguồn khác nhau trên internet.

Tham khảo:

http://www.seleniumhq.org

http://seleniummaster.com/sitecontent/index.php/introduction-to-selenium-automation/36-what-is-selenium-test

Leave a Reply

Your email address will not be published. Required fields are marked *