Queen在多個(gè)瀏覽器上運(yùn)行腳本
Queen 是一臺(tái)服務(wù)器,能夠代理與之連接的瀏覽器與其他應(yīng)用程序或腳本之間的套接字通信。你可以將Queen Server視為可以執(zhí)行代碼的瀏覽器池。進(jìn)一步抽象,你可以將Queen Server視為使用瀏覽器作為計(jì)算節(jié)點(diǎn)的分布式執(zhí)行平臺(tái)。
特性:
- 客戶端腳本和服務(wù)器端腳本之間的雙向通信(使用socket.io)。
- 通過命令行,配置文件運(yùn)行腳本,或?qū)ueen作為庫導(dǎo)入到您自己的項(xiàng)目中。
- 基于用戶代理或Modernizr功能定位已連接的瀏覽器。
- 使用Selenium,BrowserStack或SauceLabs自動(dòng)連接瀏覽器。
- 在使用瘦客戶端(queen-remote)遠(yuǎn)程連接到中央Queen服務(wù)器的瀏覽器上運(yùn)行腳本。
- 自動(dòng)檢測(cè)并恢復(fù)無響應(yīng)的瀏覽器。
- 可以運(yùn)行腳本或HTML文件列表。
舉例說明
假設(shè)你想和朋友們玩這么個(gè)游戲:你寫下某個(gè)數(shù)字,然后讓朋友們猜你寫的是什么數(shù)字。你的朋友們將不斷的給你一些猜測(cè)的數(shù)字,直到猜中為止。
現(xiàn)在想象你的朋友都是使用的瀏覽器,這個(gè)游戲就相當(dāng)于是一個(gè)腳本用來告訴瀏覽器如何玩,并等待猜中正確的數(shù)字。而這就是 Queen 服務(wù)器要做的事請(qǐng),可以讓你在多個(gè)瀏覽器上執(zhí)行分布的任務(wù),一個(gè)用于在多瀏覽器運(yùn)行腳本的平臺(tái)。
下面是一個(gè)簡單的示例:
- 安裝 Node.js v0.8.18 或者更新版本
- 打開終端窗口,運(yùn)行:sudo npm install -g queen
- 運(yùn)行:queen -c localhost:9300 http://queenjs.com/server-example.js
- 用瀏覽器打開 http://localhost:9300/ 并監(jiān)控終端窗口的輸出
評(píng)論
圖片
表情
