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