HTMLUnitDriver ใน Seleniumบทช่วยสอนการใช้งาน Headless Browser :

⚡ สรุปอย่างชาญฉลาด

HtmlUnitDriver คือการใช้งานแบบ headless ที่เร็วที่สุด Selenium WebDriver ในขณะที่ PhantomJS ซึ่งเคยเป็นเบราว์เซอร์แบบ Headless ที่ใช้ GhostDriver ที่ได้รับความนิยมนั้น ถูกยกเลิกการใช้งานตั้งแต่ปี 2018 และถูกแทนที่ด้วย Chrome แบบ Headless แล้ว Firefoxและ Playwright สำหรับเวิร์กโฟลว์การทำงานอัตโนมัติสมัยใหม่

  • 🤖 แนวคิดแบบไร้หัว: วิ่ง Selenium การทดสอบที่ไม่มี GUI ให้เห็น เพื่อประหยัด CPU หน่วยความจำ และเวลาในการประมวลผลในกระบวนการ CI
  • ⚙️ ความแข็งแกร่งของ HtmlUnitDriver: บริสุทธิ์ Java กลไกการทำงาน ไม่ต้องใช้ไฟล์ไบนารีภายนอก เหมาะสำหรับการตรวจสอบระดับ HTTP อย่างรวดเร็วและการโต้ตอบแบบฟอร์มอย่างฉับไว
  • 🚀 PhantomJS เลิกใช้งานแล้ว: การพัฒนา PhantomJS หยุดลงในปี 2018 ทีมต่างๆ ควรย้ายไปใช้ Chrome แบบ headless แทน Firefoxหรือนักเขียนบทละคร
  • ทางเลือกที่ทันสมัย: โครมแบบไร้หัวและ Firefox เสนอข้อมูลที่ถูกต้อง Javaการแสดงผลสคริปต์, โปรโตคอล DevTools และการดีบักที่ดีขึ้น
  • 🧪 กรณีการใช้งานที่ดีที่สุด: การทดสอบเบื้องต้น (Smoke checks), ชุดทดสอบการถดถอย (Regression suites), การทดสอบโหลด (Load testing) และงานการรวมระบบอย่างต่อเนื่อง (Continuous Integration) บนระบบรันเนอร์ Linux แบบไม่มีส่วนติดต่อผู้ใช้ (Headless Linux runners)

HTMLUnitDriver ใน Selenium

เบราว์เซอร์แบบไร้หัว (Headless browser) คือเบราว์เซอร์เว็บที่ไม่มีส่วนติดต่อผู้ใช้แบบกราฟิก สามารถทำงานในพื้นหลังได้โดยไม่รบกวนการมองเห็นtracการทดสอบด้วยเบราว์เซอร์แบบไร้หัว (Headless Browser) เป็นวิธีที่มีประสิทธิภาพและประสิทธิผลในการทดสอบเว็บแอปพลิเคชัน พร้อมทั้งประหยัดเวลาและทรัพยากร ในบทความนี้ เราจะสำรวจว่าเบราว์เซอร์แบบไร้หัวคืออะไร เมื่อใดควรใช้การทดสอบด้วยเบราว์เซอร์แบบไร้หัว และวิธีการดำเนินการทดสอบโดยใช้เบราว์เซอร์แบบไร้หัว Selenium HtmlUnitDriver และ PhantomJS

เบราว์เซอร์แบบไร้ส่วนหัว (Headless Browser) คืออะไร?

เบราว์เซอร์แบบไร้หัว (Headless Browser) คือเบราว์เซอร์เว็บชนิดหนึ่ง โดยไม่มีส่วนติดต่อผู้ใช้แบบกราฟิกโปรแกรมนี้ทำงานเหมือนกับเบราว์เซอร์ทั่วไป แต่จะไม่แสดงหน้าต่าง GUI ใดๆ ระหว่างการทำงาน

ตัวอย่างของไดรเวอร์เบราว์เซอร์แบบไม่มีส่วนติดต่อผู้ใช้ ได้แก่:

  • Htmlหน่วย
  • ผี
  • PhantomJS (เลิกใช้งานแล้ว)
  • ซอมบี้JS
  • Watir-เว็บไดรเวอร์
  • หัวขาด Chrome
  • หัวขาด Firefox

เมื่อใดจึงควรใช้การทดสอบเบราว์เซอร์ Headless

ในยุคดิจิทัลปัจจุบัน แอปพลิเคชันบนเว็บถูกสร้างขึ้นให้ใช้งานได้กับอุปกรณ์และแพลตฟอร์มที่หลากหลาย นี่เป็นความท้าทายสำหรับนักพัฒนาที่ต้องตรวจสอบให้แน่ใจว่าแอปพลิเคชันของตนทำงานได้อย่างราบรื่นในสภาพแวดล้อมที่แตกต่างกัน การทดสอบเบราว์เซอร์แบบไร้ส่วนติดต่อผู้ใช้ (Headless browser testing) เป็นวิธีแก้ปัญหาที่เหมาะสม เพราะช่วยให้นักพัฒนาสามารถตรวจสอบความถูกต้องของแอปพลิเคชันบนเว็บได้โดยไม่ต้องมีส่วนติดต่อผู้ใช้แบบกราฟิก ด้วยการใช้การทดสอบเบราว์เซอร์แบบไร้ส่วนติดต่อผู้ใช้ นักพัฒนาสามารถครอบคลุมแอปพลิเคชันบนเว็บที่ซับซ้อนซึ่งมีส่วนประกอบและการพึ่งพาจำนวนมากได้อย่างรวดเร็ว ปูทางไปสู่การพัฒนาที่รวดเร็วขึ้น ข้อผิดพลาดน้อยลง และผู้ใช้มีความสุขมากขึ้น

การทดสอบเบราว์เซอร์แบบไม่มีส่วนหัวด้วย Selenium

Selenium เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการทดสอบเบราว์เซอร์แบบไร้ส่วนติดต่อผู้ใช้ ช่วยให้นักพัฒนาสามารถเรียกใช้การทดสอบอัตโนมัติโดยไม่ต้องมีส่วนติดต่อผู้ใช้ที่มองเห็นได้ โดยการเรียกใช้การทดสอบในพื้นหลัง Selenium ช่วยประหยัดเวลาและทรัพยากร และยังช่วย...ping ระบุปัญหาที่อาจไม่ปรากฏชัดในสภาพแวดล้อมการทดสอบแบบ UI ดั้งเดิม ซึ่งรวมถึงปัญหาด้านประสิทธิภาพและเค้าโครงที่ปรากฏชัดเจนเฉพาะในสภาพแวดล้อมแบบไร้ส่วนหัว อย่างไรก็ตาม การสร้างสมดุลระหว่างการทดสอบแบบไร้ส่วนหัวกับการทดสอบแบบ UI ดั้งเดิมเป็นสิ่งสำคัญเพื่อให้มั่นใจได้ว่าครอบคลุมการทดสอบอย่างเต็มที่

ตัวอย่างยอดนิยมของเบราว์เซอร์ Headless

มีเบราว์เซอร์แบบไร้ส่วนหัวให้เลือกใช้มากมาย แต่ละแบบมีคุณสมบัติและข้อดีแตกต่างกัน ทำให้เหมาะสำหรับการใช้งานที่หลากหลาย เราจะกล่าวถึงเบราว์เซอร์เหล่านั้นในหัวข้อถัดไป

PhantomJS

ประกาศแจ้งเตือนการเลิกใช้งาน: การพัฒนา PhantomJS ได้หยุดลงในปี 2018 และโครงการนี้ไม่ได้รับการดูแลรักษาอีกต่อไป โครงการใหม่ควรเลือกใช้ Chrome แบบ headless แทน Firefoxหรือ นักเขียนบทละคร สำหรับการทำงานอัตโนมัติแบบไร้ส่วนหัวที่ทันสมัย ​​ตัวอย่าง PhantomJS ด้านล่างนี้มีไว้เพื่อเป็นข้อมูลอ้างอิงเท่านั้น

PhantomJS เป็นเบราว์เซอร์แบบไร้ส่วนหัวที่ใช้ WebKit เป็นเอนจินในการเรนเดอร์ และรองรับมาตรฐานเว็บต่างๆ เช่น HTML5, CSS3 และอื่นๆ Javaสคริปต์นี้สามารถใช้สำหรับการจับภาพหน้าจอและการทำงานอัตโนมัติของหน้าเว็บ เป็นโอเพนซอร์สและใช้งานได้กับระบบปฏิบัติการหลายระบบ

ตัวอย่างของการ Selenium โดยมี Headless PhantomJS เข้ามา Python:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
# Set up PhantomJS options
phantomjs_options = webdriver.DesiredCapabilities.PHANTOMJS.copy()
phantomjs_options['phantomjs.page.settings.userAgent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
# Set up the PhantomJS driver
driver = webdriver.PhantomJS('/path/to/phantomjs', desired_capabilities=phantomjs_options)
# Perform actions using the driver
driver.get('https://www.example.com')
print(driver.title)
# Close the driver
driver.quit()

Chrome

Chrome เป็นเบราว์เซอร์ที่ได้รับความนิยมมากที่สุดในโลกและมีโหมดไร้ส่วนหัว (headless mode) ให้ใช้งานด้วย สามารถใช้งานได้บนหลายแพลตฟอร์มและรองรับภาษาโปรแกรมและเฟรมเวิร์กยอดนิยม เครื่องมือดีบักในตัวและเอกสารประกอบที่ครอบคลุมทำให้ใช้งานง่ายและแก้ไขปัญหาที่อาจเกิดขึ้นระหว่างการทดสอบได้สะดวก

ตัวอย่าง Headless Chrome พร้อมด้วย Selenium in Python:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Set up Chrome options
chrome_options = Options()
chrome_options.add_argument('--headless')  # Run Chrome in headless mode
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
# Set up the Chrome driver
driver = webdriver.Chrome('/path/to/chromedriver', options=chrome_options)
# Perform actions using the driver
driver.get('https://www.example.com')
print(driver.title)
# Close the driver
driver.quit()

Firefox

Firefox เป็นเว็บเบราว์เซอร์ยอดนิยมที่สามารถใช้เป็นเบราว์เซอร์แบบไร้ส่วนหัวสำหรับการทดสอบได้ ประโยชน์อย่างหนึ่งของการใช้เบราว์เซอร์นี้คือ... Firefox ข้อดีของเบราว์เซอร์แบบ Headless คือขนาดไฟล์ที่เล็ก ทำให้เป็นตัวเลือกที่หลากหลายสำหรับการทดสอบบนระบบปฏิบัติการต่างๆ เมื่อรวมกับเอกสารประกอบที่ครอบคลุมและการสนับสนุนจากชุมชนแล้ว Firefox เป็นตัวเลือกที่ยอดเยี่ยมสำหรับทีมที่กำลังทดลองใช้ระบบอัตโนมัติแบบเบราว์เซอร์ไร้ส่วนหัว

ตัวอย่างของ Headless Firefox สีสดสวย Selenium in Python:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
# Set up Firefox options
firefox_options = Options()
firefox_options.add_argument('--headless')  # Run Firefox in headless mode
# Set up the Firefox driver
driver = webdriver.Firefox(options=firefox_options)
# Perform actions using the driver
driver.get('https://www.example.com')
print(driver.title)
# Close the driver
driver.quit()

ข้อดีของการทดสอบเบราว์เซอร์ Headless

  • การดำเนินการทดสอบที่รวดเร็วยิ่งขึ้น
  • การทดสอบที่คุ้มค่า
  • การครอบคลุมการทดสอบที่ดีขึ้น
  • ความยืดหยุ่นในการทดสอบการทำงาน
  • ผสานรวมเข้ากับไปป์ไลน์ CI/CD ได้ง่ายขึ้น

ข้อเสียของการทดสอบเบราว์เซอร์ Headless

  • ขาดส่วนติดต่อผู้ใช้แบบกราฟิกที่มองเห็นได้สำหรับการตรวจสอบด้วยตนเอง
  • การแก้ไขข้อผิดพลาดอาจทำได้ยากขึ้นหากไม่มีหน้าจอ
  • การครอบคลุมพฤติกรรมเฉพาะเบราว์เซอร์มีจำกัด

HtmlUnitDriver

HtmlUnitDriver เป็นการใช้งานเบราว์เซอร์แบบ Headless ที่เบาที่สุดและเร็วที่สุดสำหรับ Selenium WebDriver เป็นเทคโนโลยีที่พัฒนาต่อยอดมาจาก HtmlUnit และเรียกอีกอย่างว่า... ไดร์เวอร์เบราว์เซอร์หัวขาดมันทำงานคล้ายกับ Chrome, IE หรือ Firefox ไดรเวอร์ตัวนี้ไม่มี GUI ดังนั้นจึงไม่สามารถมองเห็นผลการทดสอบบนหน้าจอได้ HtmlUnitDriver ยังคงได้รับการดูแลรักษาและเผยแพร่ต่อไป org.seleniumhq.selenium:htmlunit3-driver อาร์ติแฟกต์ Maven

คุณสมบัติของ HtmlUnitDriver:

  • รองรับโปรโตคอล HTTPS และ HTTP
  • รองรับการตอบสนองด้วย HTML (เช่น การคลิกลิงก์ การส่งแบบฟอร์ม การสำรวจโครงสร้าง DOM ของเอกสาร HTML และอื่นๆ)
  • การสนับสนุนสำหรับคุกกี้
  • รองรับพร็อกซีเซิร์ฟเวอร์
  • รองรับการตรวจสอบสิทธิ์ขั้นพื้นฐานและ NTLM
  • ของแข็ง Javaต้นฉบับ สนับสนุน
  • รองรับวิธีการส่งข้อมูลแบบ GET และ POST
  • ความสามารถในการปรับแต่งส่วนหัวคำขอที่ถูกส่งไปยังเซิร์ฟเวอร์
  • ความสามารถในการควบคุมว่าการตอบสนองที่ล้มเหลวจากเซิร์ฟเวอร์ควรส่งข้อยกเว้นหรือส่งคืนเป็นหน้าเว็บประเภทที่เหมาะสม

ขั้นตอนการใช้งาน HtmlUnitDriver กับ Selenium

ขั้นตอน 1) In Eclipseคัดลอกโค้ดต่อไปนี้ เพิ่มมาตรฐาน Selenium เพิ่มไฟล์ไลบรารีลงในโปรเจ็กต์ ไม่จำเป็นต้องใช้ไฟล์ JAR เพิ่มเติม

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 main(String[] args) {
                     // Creating a new instance of the HtmlUnit 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 automatically		
                    // 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();			
         }		
}

ขั้นตอน 2) เรียกใช้รหัส คุณจะสังเกตเห็นว่าไม่มีเบราว์เซอร์เปิดขึ้นมา และผลลัพธ์จะแสดงในคอนโซล

ขั้นตอนการใช้งาน HtmlUnitDriver กับ Selenium

ข้อดีของ HtmlUnitDriver

  • เนื่องจากไม่ได้ใช้ส่วนต่อประสานผู้ใช้แบบกราฟิก (GUI) การทดสอบจึงทำงานในพื้นหลังโดยไม่รบกวนการมองเห็น
  • เมื่อเทียบกับอินสแตนซ์ไดรเวอร์อื่นๆ การประมวลผลจะเร็วกว่า
  • นอกจากนี้ คุณยังสามารถจำลองเวอร์ชันเบราว์เซอร์ต่างๆ ได้เมื่อทำการทดสอบผ่าน HtmlUnitDriver
  • สามารถใช้งานได้บนทุกแพลตฟอร์มและง่ายต่อการเรียกใช้การทดสอบหลายๆ ครั้งพร้อมกัน เหมาะอย่างยิ่งสำหรับ โหลดการทดสอบ.

ข้อ จำกัด :

  • มันไม่สามารถเลียนแบบได้อย่างสมบูรณ์ Javaพฤติกรรมการเขียนสคริปต์ของเอนจิ้นเบราว์เซอร์จริงทุกตัว

PhantomJS

คำเตือน: PhantomJS เลิกใช้งานแล้วและไม่มีการบำรุงรักษาอีกต่อไป สำหรับงานแบบ headless ใหม่ ให้ใช้... Selenium ด้วย Chrome ที่ไม่มีส่วนหัว หรือ Firefoxหรือย้ายไปที่หมวดนักเขียนบทละคร ส่วนด้านล่างนี้ใช้สำหรับการอ้างอิงในอดีตเท่านั้น

PhantomJS เป็นเบราว์เซอร์แบบไร้ส่วนหัว (headless browser) ที่มี... JavaScript API เดิมทีใช้สำหรับการทดสอบเว็บไซต์แบบ Headless การเข้าถึงและจัดการเว็บเพจ และมาพร้อมกับ DOM API มาตรฐาน

วิธีใช้ PhantomJS กับ Seleniumคุณต้องใช้ GhostDriver GhostDriver เป็นการนำโปรโตคอล WebDriver Wire มาใช้ในรูปแบบพื้นฐาน Javaสคริปต์สำหรับ PhantomJS

เวอร์ชันต่อๆ มาของ PhantomJS แบบบูรณาการ GhostDriver ดังนั้น ไม่จำเป็นต้องติดตั้งแยกต่างหาก

ระบบนี้ทำงานดังนี้:

PhantomJS

ขั้นตอนการวิ่ง Selenium ด้วย PhantomJS

ขั้นตอน 1) คุณต้องการ Eclipse สีสดสวย Selenium การติดตั้ง

ขั้นตอน 2) ดาวน์โหลด PhantomJS Good Farm Animal Welfare Awards.

ขั้นตอนในการรัน Selenium ด้วย PhantomJS

ขั้นตอน 3) Extracย้ายโฟลเดอร์ที่ดาวน์โหลดมาไปไว้ในโฟลเดอร์ Program Files

ขั้นตอนในการรัน Selenium ด้วย PhantomJS

ขั้นตอน 4) ดาวน์โหลดไดรเวอร์ PhantomJS จาก Good Farm Animal Welfare Awardsเพิ่มไฟล์ JAR ลงในโปรเจ็กต์ของคุณ

ขั้นตอนในการรัน Selenium ด้วย PhantomJS

ขั้นตอน 5) วางโค้ดต่อไปนี้ลงในช่อง Eclipse.

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 main(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();			
           }		
}

ขั้นตอน 6) รันโค้ด คุณจะเห็นผลลัพธ์ในคอนโซล และจะไม่มีการเปิดเบราว์เซอร์ขึ้นมา

หมายเหตุ: ในการใช้งานครั้งแรก ขึ้นอยู่กับการตั้งค่าของคุณ คุณอาจเห็นคำเตือนด้านความปลอดภัยจาก Windows เพื่ออนุญาตให้ PhantomJS ทำงาน คลิก ช่วยให้การเข้าถึง.

ขั้นตอนในการรัน Selenium ด้วย PhantomJS

องค์กรหลายแห่งได้ใช้ PhantomJS สำหรับงานต่างๆ มาอย่างยาวนาน เช่น:

  • การทดสอบแบบไร้หัว
  • จับภาพหน้าจอ
  • การทำงานอัตโนมัติของหน้าเว็บ
  • การตรวจสอบเครือข่าย
  • แสดงภาพหน้าจอแดชบอร์ดให้ผู้ใช้ดู
  • การรันการทดสอบหน่วยบนบรรทัดคำสั่ง
  • การสร้างคู่มือพนักงานจากไฟล์ HTML เป็นไฟล์ PDF
  • ใช้งานร่วมกับ QUnit สำหรับชุดทดสอบ

สำหรับงานใหม่ ให้แทนที่กรณีการใช้งาน PhantomJS เหล่านี้ด้วย Chrome แบบ Headless Firefoxหรือ Playwright ซึ่งได้รับการอัปเดตด้านความปลอดภัยและการแสดงผลอย่างต่อเนื่อง

คำถามที่พบบ่อย

เบราว์เซอร์แบบไร้หัว (Headless Browser) คือเบราว์เซอร์ที่ทำงานโดยไม่มีส่วนติดต่อผู้ใช้แบบกราฟิก Seleniumไดรเวอร์แบบไร้ส่วนหัว เช่น HtmlUnitDriver, headless Chrome และอื่นๆ Firefox ดำเนินการทดสอบในพื้นหลัง ซึ่งช่วยประหยัดทรัพยากรและเพิ่มความเร็วให้กับชุดทดสอบอัตโนมัติ

ไม่ การพัฒนา PhantomJS ถูกระงับไปตั้งแต่ปี 2018 และโครงการนี้ไม่ได้มีการดูแลรักษาอีกต่อไปแล้ว Selenium นอกจากนี้ยังได้ลบ PhantomJSDriver ออกจากเวอร์ชันล่าสุดแล้ว การทดสอบใหม่ควรใช้ Chrome แบบ headless Firefoxหรืออาจเรียกว่านักเขียนบทละครก็ได้

HtmlUnitDriver เป็นไดรเวอร์บริสุทธิ์ Java เอนจิ้นนี้ทำงานเร็วมากและไม่จำเป็นต้องใช้ไบนารีของเบราว์เซอร์ แต่มีข้อจำกัดอยู่บ้าง Javaความถูกต้องของสคริปต์ Headless Chrome ใช้เอนจิ้น Blink จริง ดังนั้นจึงแสดงผลได้อย่างทันสมัย Javaเว็บไซต์ที่มีสคริปต์จำนวนมากแสดงผลได้อย่างถูกต้องแม่นยำ แต่ต้องแลกมาด้วยการใช้ทรัพยากรที่สูงขึ้น

ใช้ Selenium ด้วย Chrome แบบไร้หัว หรือแบบไร้หัว Firefox สำหรับการทดสอบที่แม่นยำตามแต่ละเบราว์เซอร์ หรือเลือกใช้ Playwright สำหรับการทำงานอัตโนมัติแบบคู่ขนานข้ามเบราว์เซอร์ เครื่องมือเหล่านี้ได้รับการอัปเดตด้านความปลอดภัยอย่างสม่ำเสมอและรองรับคุณสมบัติที่ทันสมัย ​​เช่น DevTools Protocol และการดักจับข้อมูลเครือข่าย

เครื่องมือที่ขับเคลื่อนด้วย AI สามารถแก้ไขตำแหน่งโดยอัตโนมัติเมื่อ DOM เปลี่ยนแปลง ทำนายการทดสอบที่ไม่เสถียร และวิเคราะห์ภาพหน้าจอเพื่อหาความผิดปกติทางภาพ ซึ่งจะช่วยลดการทำงานแบบ headless ที่ล้มเหลวใน CI และช่วยให้ทีม QA รักษาความเสถียรได้ Selenium ท่อส่งที่มีการแทรกแซงจากมนุษย์น้อยลง

ใช่แล้ว ผู้ช่วย AI สมัยใหม่สามารถสร้างสิ่งต่างๆ ได้ Selenium สคริปต์ WebDriver ใน Java, Pythonหรือ Javaสคริปต์ที่เขียนด้วยภาษาอังกฤษแบบง่ายๆ พร้อมตัวเลือกสำหรับใช้งานแบบ Headless บน Chrome หรือ Firefoxตรวจสอบโค้ดที่สร้างขึ้นทุกครั้งเพื่อให้แน่ใจว่ามีการรอที่ถูกต้อง ตัวเลือก (selectors) และระบบรักษาความปลอดภัยที่เหมาะสม ก่อนที่จะเรียกใช้ในระบบ CI

สรุปโพสต์นี้ด้วย: