Selenium
Duy Văn | 25/12/2024
Selenium như đã nói ở trên tương tác với Web Driver để tự động hoá trình duyệt, thì bản chất Selenium có 5 thành phần chính:
- Selenium IDE : Đây là một công cụ gần như là một extension hoạt động trên các trình duyệt, nó sẽ thu lại một bài test manual thành một script automation, và sau đó có thể liên tục phát lại bài test đó. Tuy nhiên thì IDE dạng extension chỉ hỗ trợ Chrome và Firefox, còn chạy bằng commandline thì thoải mái do nó tương tác với web driver của Chrome, Edge, Firefox, Safari.
- Selenium Web Driver: Làm một framework tự động dành cho web chính thức của Selenium, nó hỗ trợ nhiều ngôn ngữ lập trình, và tương tác với các trình duyệt khác nhau
- Selenium Remote Control: Là một server chạy trên máy chủ, nó sẽ nhận các command từ client và thực hiện chúng trên trình duyệt thông qua Selenium Core (đưa vào trình duyệt) vận hành bơm JavaScript vào trình duyệt. RC bị thay thế sau khi Web Driver ra đời
- Selenium Grid: Là một công cụ cho phép chạy các test trên nhiều máy cùng một lúc, giúp giảm thời gian chạy test
- Selenium Client API: Là một API cho phép người dùng tương tác với Web Driver thông qua các ngôn ngữ lập trình như Java, Python, C#, Javascript
Selenium Web Driver

Cấu trúc Web Driver
Cái duy nhất người dùng cần quan tâm là có một cái IDE của ngôn ngữ lập trình, có libraries chứa các lệnh Selenium, cùng với trình duyệt và web driver tương ứng.
Setup Selenium
Mình sẽ sử dụng Selenium trong Python, vì thế cần cài đặt thư viện selenium để quản lý driver của trình duyệt
pip install selenium
Sau đó cài đặt driver của trình duyệt mà bạn muốn sử dụng, ví dụ Chrome thì chúng ta sẽ lên trang chính thức của ChromeDriver để tải về và cài đặt, lưu ý:
- Hoặc bạn có thể cài đặt chỉ ChromeDriver để tương thích với Chrome hiện tại trên máy của bạn
- Hoặc cài đặt một bản Chrome riêng và dùng ChromeDriver tương thích với bản Chrome đó
Mình khuyến khích kiểu thứ hai, vào link này
Tải về một bản chrome và chromedriver tương ứng, bỏ bản Chrome vào thư mục C:\Program Files\Google\Chrome\Application và chromedriver vào thư mục C:\Program Files\Google\Chrome\Application\chromedriver.exe (hoặc bất kỳ đâu, miễn là theo dõi tốt). Sau đó cập nhật biến môi trường PATH của máy tính

Như mình đang lưu web driver của chrome ở thư mục ngoài
SeleniumLibrary
SeleniumLibrary là một thư viện Python cho Robot Framework, nó cung cấp các keyword để tương tác với trình duyệt thông qua Selenium WebDriver. Cứ coi như là chúng ta đã có RB rồi, quay lại phần Robot Framework để cài đặt thư viện này. Cách cài đặt SeleniumLibrary rất đơn giản
pip install robotframework-seleniumlibrary
Sau đó với mỗi file robot, chỉ cần import nó vào trên section Settings
*** Settings ***
Library SeleniumLibrary
Sau đó chúng ta có thể bắt đầu sử dụng các keyword viết sẵn của SeleniumLibrary như
*** Test Cases ***
Example
Open Browser https://google.com chrome
Input Text name=q Hello World
Click Button name=btnK
Close Browser