標籤:svg 執行 解釋 code navig name console stat span
PhantomJS是一個基於webkit的javascript API。它使用QtWebKit作為它核心瀏覽器的功能,使用webkit來編譯解釋執行JavaScript代碼。任何你可以在基於webkit瀏覽器做的事情,它都能做到。它不僅是個隱形的瀏覽器,提供了諸如CSS選取器、支援Web標準、DOM操作、JSON、html5、Canvas、SVG等,同時也提供了處理檔案I/O的操作,從而使你可以向作業系統讀寫檔案等。PhantomJS的用處可謂非常廣泛,諸如網路監測、網頁截屏、無需瀏覽器的 Web 測試、頁面訪問自動化等。
其使用也挺簡單:
一.安裝
下載WebDriverC#類庫,http://www.seleniumhq.org/download/
此外還需要下載一個PhantomJS,:http://phantomjs.org/download.html
這裡可以在Nuget中搜尋Selenium.WebDriver和Selenium.PhantomJS.WebDriver進行下載,不過國內網路問題,可能出現下載不來
二.引用(Nuget下載忽略此步驟)
如果是通過連結下載,則進行引用即可,phantomjs.exe把其放在根目錄,然後屬性裡設定始終複製即可
三.初試
using OpenQA.Selenium;using OpenQA.Selenium.PhantomJS;using System;namespace PhantomJSDemo{ class Program { static void Main(string[] args) { var url = "https://www.baidu.com"; var driver = new PhantomJSDriver(); driver.Navigate().GoToUrl(url); driver.FindElement(By.Id("kw")).SendKeys("asp.net"); driver.FindElement(By.Id("su")).Click(); Console.WriteLine(driver.Title); Console.Read(); driver.Quit(); } }}
driver類型 |
優點 |
缺點 |
應用 |
真實瀏覽器driver |
真實類比使用者行為 |
效率、穩定性低 |
相容性測試 |
HtmlUnit |
速度快 |
js引擎不是主流的瀏覽器支援的 |
包含少量js的頁面測試 |
PhantomJS |
速度中等、類比行為接近真實 |
不能類比不同/特定瀏覽器的行為 |
非GUI的功能性測試
|
WebDriver自動化測試載入器(3)---PhantomJS的使用