PhantomJS - ภาพรวม
PhantomJS กล่าวกันว่าเป็น headless browserเนื่องจากไม่มีส่วนเกี่ยวข้องของเบราว์เซอร์ในขณะที่เรียกใช้โค้ด JavaScript การดำเนินการจะไม่ปรากฏในจอแสดงผลของเบราว์เซอร์ แต่อยู่ในพรอมต์บรรทัดคำสั่ง ฟังก์ชั่นเช่นCSS Handling, DOM Manipulation, JSON, Ajax, Canvas, SVG,ฯลฯ ทั้งหมดจะได้รับการดูแลที่พรอมต์คำสั่ง PhantomJS ไม่มี GUI ดังนั้นการดำเนินการทั้งหมดจะเกิดขึ้นที่บรรทัดคำสั่ง
การใช้ PhantomJS เราสามารถเขียนลงไฟล์อ่านเนื้อหาของไฟล์หรืออัปโหลดไฟล์จับภาพหน้าจอแปลงหน้าเว็บเป็น pdf และอื่น ๆ อีกมากมาย ด้วยเบราว์เซอร์ที่ไม่มีหัวคุณจะได้รับพฤติกรรมทั้งหมดของเบราว์เซอร์เช่นCookies, Http Request Methods กล่าวคือ GET /POST, Clearing Cookies, Deleting Cookiesฯลฯ Reloading of Page, Navigating to a Different Page.
PhantomJS ใช้ WebKit ที่มีสภาพแวดล้อมการท่องเว็บคล้าย ๆ กับเบราว์เซอร์ที่มีชื่อเสียงเช่น Google Chrome, Mozilla Firefox, Safari เป็นต้นนอกจากนี้ยังมี JavaScript API จำนวนมากซึ่งช่วยในการจับภาพหน้าจอการอัปโหลดไฟล์การเขียนลงไฟล์การอ่านไฟล์ , โต้ตอบกับหน้าเว็บ ฯลฯ
PhantomJS ไม่รองรับ Flash หรือ Video เนื่องจากต้องใช้ปลั๊กอินและเป็นการยากที่จะสนับสนุนสิ่งเดียวกันในบรรทัดคำสั่ง
คุณสมบัติของ PhantomJS
ตอนนี้ให้เราเข้าใจคุณสมบัติที่ PhantomJS นำเสนอ
หน้าอัตโนมัติ
PhantomJS ช่วยให้คุณอ่านเนื้อหาของหน้าด้วยความช่วยเหลือของ API สามารถช่วยจัดการ DOM ใช้ไลบรารีภายนอกเพื่อดำเนินงานที่ต้องการ
จับภาพหน้าจอ
PhantomJS ช่วยในการจับภาพหน้าจอของหน้าที่ระบุและบันทึกเช่นเดียวกับภาพในรูปแบบต่างๆเช่น PNG, JPEG, PDF และ GIF ด้วยความช่วยเหลือของการจับภาพหน้าจอจะสามารถช่วยให้แน่ใจว่าเนื้อหาเว็บนั้นดี
PhantomJS นำเสนอคุณสมบัติและวิธีการที่ช่วยให้นักพัฒนาสามารถปรับขนาดของภาพหน้าจอและระบุพื้นที่ที่พวกเขาต้องการจับภาพ
การทดสอบหัวขาด
PhantomJS ช่วยทดสอบ UI ที่บรรทัดคำสั่ง ในขณะที่ด้วยความช่วยเหลือของภาพหน้าจอจะสามารถช่วยค้นหาข้อผิดพลาดใน UI ได้อย่างง่ายดาย บางครั้ง PhantomJS ไม่สามารถช่วยในการทดสอบเพียงอย่างเดียว อย่างไรก็ตามสามารถรวมเข้ากับไลบรารีทดสอบอื่น ๆ เช่น Mocha, Yoeman เป็นต้นคุณสามารถใช้ PhantomJS เพื่ออัปโหลดไฟล์และส่งแบบฟอร์ม
PhantomJS สามารถใช้เพื่อทดสอบการเข้าสู่ระบบในไซต์ต่างๆและตรวจสอบให้แน่ใจว่าการรักษาความปลอดภัยไม่ถูกบุกรุก PhantomJS สามารถใช้ร่วมกับเครื่องมืออื่น ๆ เช่นCasperJS, Mocha, Qunit เพื่อให้การทดสอบมีประสิทธิภาพมากขึ้น
การตรวจสอบเครือข่าย
คุณสมบัติที่สำคัญอย่างหนึ่งของ PhantomJS คือการใช้งานเพื่อตรวจสอบการเชื่อมต่อเครือข่ายโดยใช้ API ที่มีให้ PhantomJS อนุญาตให้ตรวจสอบการรับส่งข้อมูลเครือข่าย เหมาะที่จะสร้างการวิเคราะห์ต่างๆเกี่ยวกับพฤติกรรมและประสิทธิภาพของเครือข่าย
PhantomJS สามารถใช้เพื่อรวบรวมข้อมูลเกี่ยวกับประสิทธิภาพของเว็บเพจในสภาพแวดล้อมจริง PhantomJS สามารถใช้กับเครื่องมือเช่นYslow เพื่อรวบรวมเมตริกประสิทธิภาพของเว็บไซต์ใด ๆ