Skip to content
Automation FC Blog
Automation FC Blog

Roadmap to Become an Automation Test Engineer

  • Knowledge
  • Selenium
  • Framework
  • Tips
  • Course
  • Event
  • About
  • Copyright
Automation FC Blog

Roadmap to Become an Automation Test Engineer

20/08/201831/12/2022

Run test với trình duyệt Chrome/ Firefox headless

Nội dung bài viết

  • 1 Headless Browser là gì?
  • 2 Run test với Chrome Headless
  • 3 Run test với Firefox Headless

Headless Browser là gì?

  • Headless browser là trình duyệt web không có giao diện đồ họa người dùng (GUI). Tương tác với trang web trong môi trường giống như các trình duyệt web phổ biến khác, được thực hiện thông qua giao diện dòng lệnh
  • Hữu ích cho việc kiểm thử các trang web vì có thể render cấu trúc HTML (DOM) giống như các trình duyệt thông thường, bao gồm cả style như: layout/ font/ colour và có thể thực thi cả javascript/ ajax
  • Được sử dụng cho các mục đích:
    • Kiểm thử tự động các ứng dụng web (thường sử dụng với Nodejs application)
    • Chụp ảnh màn hình 1 web page
    • Tạo file pdf
    • Thu thập (Crawl) dữ liệu trên các website
    • Tấn công DDOS tới các website

  • Danh sách headless browser:
    • Google Chrome
      • Linux/ MacOS: version >= 59
      • Windows: version >=60
    • Mozilla Firefox
      • Linux: version >=55
      • Windows/ MacOS: 56
    • PhantomJS
    • HtmlUnit
    • Ghost
  • Ưu/ nhược điểm của headless browser trong automation testing:
    • Ưu điểm: Tốc độ nhanh, kết quả kiểm thử sẽ có sớm hơn so với sử dụng các non-headless browser
    • Nhược điểm:
      • Độ ổn định và chính xác không cao/ nhiều trường hợp xảy ra bug trên headless browser nhưng ko tìm thấy trên non-headless browser
      • Không work với những case như drag-drop hoặc upload/ download (Open File Dialog)

Run test với Chrome Headless

  • Để chạy được headless thì trước khi khởi tạo browser cần thêm 2 tham số vào ChromeOptions/ FirefoxOptions
    • headless: trình duyệt sẽ thực thi ở chế độ headless
    • window-size: cần set trình duyệt với 1 resolution cố định (nếu ko thì nó có thể hiển thị kích thước như phiên bản web mobile hoặc ở 1 độ phân giải ko cố định) – có thể sử dụng tính năng này để test responsive

[code language=”java” autolinks=”true”]
ChromeOptions options = new ChromeOptions();
options.addArguments(“headless”);
options.addArguments(“window-size=1920×1080”);
driver = new ChromeDriver(options);
[/code]

Run test với Firefox Headless

[code language=”java” autolinks=”true”]
FirefoxOptions options = new FirefoxOptions();
options.addArguments(“headless”);
options.addArguments(“window-size=1920×1080”);
driver = new FirefoxDriver(options);
[/code]

 

Selenium chạy test với chrome headlessrun selenium test on chrome headlessrun selenium test on firefox headlessrun test with chome headlesstrình duyệt chrome không đầu

Post navigation

Previous post
Next post

Comments (0)

  1. Nguyễn Hoa says:
    14/01/2020 at 9:11 PM

    a cho em hỏi là em mở headless chrome đến một profile với –user-data-dir = Path userdata , nhưng nó không kết nối đến profile chỉ định mà nó dùng profile defaul thì e phải làm thế nào để nó chỉ đến profile mình cần a.
    code e đây :
    options.addArguments(“user-data-dir=Path//UserData”)

    .addArguments(“–profile-directory=Profile 1”)
    .addArguments(“headless”)
    .addArguments(“disable-gpu”);

    Reply

Leave a Reply Cancel reply

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

Archives

  • December 2022 (1)
  • August 2021 (1)
  • April 2020 (1)
  • February 2020 (3)
  • October 2018 (5)
  • September 2018 (6)
  • August 2018 (8)
  • October 2017 (1)
  • December 2016 (1)
  • May 2016 (1)
  • March 2016 (1)
©2023 Automation FC Blog | WordPress Theme by SuperbThemes