Tech

Headless Browser trong Selenium Webdriver

Selenium Web driver là một công cụ tự động hóa web cho phép bạn chạy các bài kiểm tra trên các trình duyệt khác nhau. Các trình duyệt này có thể là Internet Explorer, Firefox hoặc Chrome. Để sử dụng một trình duyệt cụ thể với Selenium, bạn cần có trình điều khiển tương ứng.

Khi chạy thử nghiệm, Selenium khởi chạy trình duyệt tương ứng được gọi trong tập lệnh và thực hiện các bước thử nghiệm. Bạn có thể thấy trình duyệt và quá trình thực thi thử nghiệm đang hoạt động.

 Browser Headless là gì?

Browser Headless là trình duyệt web không có giao diện người dùng trực quan . Chương trình này sẽ hoạt động giống như một trình duyệt nhưng sẽ không hiển thị bất kỳ GUI nào.

Một số ví dụ về Headless Drivers bao gồm

  • HtmlUnit
  • Bóng code
  • PhantomJS
  • ZombieJS
  • NƯỚC-WEBDRIVER

Trong hướng dẫn này, chúng tôi sẽ tập trung vào HtmlUnit và PhatomJS

HTMLUnitDriver

HTML UnitDriver là trình duyệt Headless có dung lượng nhẹ nhất và triển khai nhanh nhất dành cho WebDriver. Nó dựa trên HtmlUnit. Nó được gọi là Headless Browser Driver . Nó giống như trình điều khiển Chrome, IE hoặc FireFox, nhưng nó không có GUI nên người ta không thể nhìn thấy quá trình thực thi thử nghiệm trên coden hình.

Các tính năng của trình điều khiển đơn vị HTML

  • Hỗ trợ các giao thức HTTPS và HTTP
  • Hỗ trợ các phản hồi HTML (nhấp vào liên kết, gửi biểu codeu, xem mô hình DOM của tài liệu HTML, v.v.)
  • Hỗ trợ cho cookie
  • Hỗ trợ codey chủ proxy
  • Hỗ trợ xác thực cơ bản và NTLM
  • Hỗ trợ JavaScript Hỗ trợ các phương thức gửi GET và POST
  • Khả năng tùy chỉnh các tiêu đề yêu cầu được gửi đến codey chủ
  • Khả năng xác định xem liệu phản hồi không thành công từ codey chủ có nên đưa ra các ngoại lệ hay nên được trả về dưới dạng các trang thuộc loại thích hợp

Các bước sử dụng trình điều khiển HTMLUnit với Selenium

Bước 1) Trong Eclipse, sao chép đoạn code sau. Thêm các tệp thư viện selen tiêu chuẩn vào dự án. Không có tệp jar bổ sung được yêu cầu.

package  htmldriver;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class htmlUnitYest {

public static void codein(String[] args) {

                     // Creating a new instance of the HTML unit driver

                     WebDriver driver = new HtmlUnitDriver();

                // Navigate to Google

                     driver.get(“http://www.google.com”);

// Locate the searchbox using its name

                     WebElement element = driver.findElement(By.name(“q”));

                    // Enter a search query

                    element.sendKeys(“Guru99”);

            // Submit the query. Webdriver searches for the form using the text input element autocodetically

                    // No need to locate/find the submit button

                    element.submit();

             // This code will print the page title

                    System.out.println(“Page title is: ” + driver.getTitle());

                    driver.quit();

         }

}

Bước 2) Chạy code. Bạn sẽ quan sát thấy không có trình duyệt nào được khởi chạy và kết quả được hiển thị trong bảng điều khiển.

Lợi ích của Trình điều khiển đơn vị Html:

  • Vì nó không sử dụng bất kỳ GUI nào để kiểm tra, các bài kiểm tra của bạn sẽ chạy trong nền code không có bất kỳ gián đoạn hình ảnh nào
  • So với tất cả các trường hợp khác, việc thực thi nhanh hơn
  • Để chạy các bài kiểm tra của bạn thông qua trình điều khiển HtmlUnit, bạn cũng có thể chọn các phiên bản trình duyệt khác
  • Nó độc lập với nền tảng và dễ dàng chạy nhiều thử nghiệm đồng thời hơn. Lý tưởng để kiểm tra load .

Hạn chế:

  • Nó không thể mô phỏng hành vi JavaScript của các trình duyệt khác

PhantomJS

PhantomJS là một Browser Headless với JavaScript API. Đây là một giải pháp tối ưu cho Kiểm tra trang web Headless, truy cập và thao tác các trang web và đi kèm với API DOM tiêu chuẩn.

Để sử dụng PhantomJS với Seleniun, người ta phải sử dụng GhostDriver. GhostDriver là một triển khai của giao thức Webdriver Wire trong JS đơn giản cho PhantomJS.

Bản phát hành mới nhất của PhatomJS đã tích hợp GhostDriver và không cần cài đặt riêng.

Đây là cách hệ thống hoạt động-

Các bước chạy Selenium với PhatomJS

Bước 1) Bạn cần cài đặt Eclipse với Selenium

Bước 2) Tải xuống PhantomJS tại đây

Bước 3) Giải nén thư mục đã tải xuống thành Tệp chương trình

Bước 4) Tải xuống Trình điều khiển PhantomJS từ đây . Thêm bình vào dự án của bạn

Bước 5) Dán code sau vào nhật thực

package htmldriver;

import java.io.File;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.phantomjs.PhantomJSDriver;

public class phantom {

public static void codein(String[] args) {

                 File file = new File(“C:/Program Files/phantomjs-2.0.0-windows/bin/phantomjs.exe”);

                    System.setProperty(“phantomjs.binary.path”, file.getAbsolutePath());

                    WebDriver driver = new PhantomJSDriver();

                    driver.get(“http://www.google.com”);         

                    WebElement element = driver.findElement(By.name(“q”));

                    element.sendKeys(“Guru99”);

                    element.submit();        

                    System.out.println(“Page title is: ” + driver.getTitle());

                    driver.quit();

           }

}

Bước 6) Chạy code. Bạn sẽ thấy đầu ra được hiển thị trong bảng điều khiển và không có trình duyệt nào được khởi chạy.

LƯU Ý : Lần đầu tiên chạy, dựa trên cài đặt của bạn, bạn có thể nhận được cảnh báo bảo codet từ Windows để cho phép chạy PhantomJS. Nhấp vào Cho phép truy cập.

Nhiều tổ chức sử dụng Phantom.JS cho nhiều mục đích khác nhau, ví dụ:

  • Thử nghiệm Headless
  • Chụp coden
  • Tự động hóa trang
  • Giám sát codeng
  • Để hiển thị ảnh chụp coden hình bảng điều khiển cho người dùng của họ
  • Để chạy các bài kiểm tra Đơn vị trên dòng lệnh
  • Để tạo sổ tay nhân viên từ HTML sang PDF
  • Kết hợp với QUnit cho bộ thử nghiệm

Bản tóm tắt

Để kiểm tra ứng dụng nhanh chóng trên các trình duyệt khác nhau và không có bất kỳ gián đoạn hình ảnh nào, Kiểm tra trình duyệt Headless được sử dụng. Do tốc độ, độ chính xác và các tính năng dễ truy cập, trình điều khiển đơn vị HTML và PhantomJS đang trở nên phổ biến để thử nghiệm trình duyệt không sử dụng đầu. Bằng cách làm theo một số bước đơn giản, bạn sẽ biết các công cụ này có thể được tích hợp với các công cụ khác một cách dễ dàng như thế nào và có thể thực thi code kiểm tra.

Blog Tiền Điện Tử

Blog tiền điện tử công thông tin tổng hợp uy tín nhất tất cả các mảng xã hội, giáo dục , công nghệ số. Với khả năng số hóa mạnh mẽ hy vọng sẽ mang lại cho quý bạn đọc những thông tin chính xác nhất 24/24
Check Also
Close
Back to top button